Holdout, geo lift, ghost ads, PSA and on/off tests
Compare incrementality test types for app marketers: user holdouts, geo lift, ghost ads, PSA and on/off tests, plus how to run a geo lift test for installs.
A user-level holdout is the cleanest incrementality test but needs the ad platform to run it. Geo lift tests work on any channel and only need installs by region. Ghost ads are a refined holdout run by platforms. PSA tests cost media money for the control group. On/off tests are cheapest and least reliable.
What is an incrementality test?
An incrementality test compares a group that could see your ads with a comparable group that could not, so the difference in conversions can be put down to the ads.
Control group: the people, regions or time periods that did not get the ads. Its results stand in for what would have happened without advertising.
Every method below is a different way of building that control group. The cleaner the control, the more you can trust the answer; the cleaner methods usually need more control over delivery than an advertiser has.
The five methods at a glance
| Method | How the control is built | Who runs it | Main weakness |
|---|---|---|---|
| User-level holdout | Random users are blocked from the ads | Ad platform | One platform at a time; access limits |
| Ghost ads | Platform logs control users who would have been shown the ad | Ad platform | Not available everywhere; trust the platform's logging |
| PSA test | Control users see an unrelated charity ad | Advertiser via platform | You pay for the control's impressions; delivery can differ |
| Geo lift | Matched regions with ads off | Advertiser | Needs enough regions and volume; spillover across borders |
| On/off (time-based) | Same market, different weeks | Advertiser | Seasonality and other changes get mixed in |
User-level holdouts and ghost ads
In a user-level holdout the platform randomly assigns people to test or control before delivery and never shows the control group your ads. Randomisation is what makes it clean: on average, the two groups differ only in ad exposure.
Ghost ads: a holdout refinement where the platform records which control users would have been shown your ad in the auction. Comparing those "ghost" users with the users who actually saw the ad avoids diluting the result with people who would never have been reached anyway.
These are the methods behind most platform lift studies. They are precise but measure one platform in isolation, and you depend on the platform's own randomisation and reporting. The platform guide covers what Google and Meta offer and require.
PSA tests
In a PSA test the control group is shown a public service announcement instead of your ad. It was a common way to approximate a holdout before platforms offered native studies.
- Pro: you can see that control users were reachable, since they were served something.
- Con: you pay for the PSA impressions, and modern delivery systems optimise each ad separately, so the PSA may reach a different kind of person than your ad. That breaks the comparison.
On/off tests
The simplest test: pause a channel for two to four weeks and compare total installs with the weeks before and after.
- Cheap, needs no platform support and works for any channel, including brand search and Apple Search Ads.
- Weak against seasonality, store featuring, competitor moves and anything else that changes over the same weeks. Run it outside festivals and launches, and repeat it if the answer matters.
How to run a geo lift test for app installs
A geo lift test switches ads off in some regions and keeps them on in matched regions. It is the most practical test for teams without access to platform lift studies, and it works across channels.
- Pick the unit. States, cities or metro areas within one country; countries or regions for apps sold in several markets. Each unit needs enough daily installs to be measurable on its own.
- Match the groups. Split regions into test and control so their install trends over the last 8 to 12 weeks track each other closely. Random assignment within matched pairs is better than choosing by hand.
- Fix the length and the read-out date. At least two weeks, ideally four, covering whole weeks. Work out in advance how big a lift you could detect (the holdout simulator shows how volume and length trade off).
- Turn ads off in the control regions using each platform's location targeting. Keep everything else the same, including other channels.
- Measure total installs per region, not attributed installs. The question is what changed overall.
- Compare against the pre-period. Estimate what each test region would have done from its own history and the control regions, then read the difference with its interval.
Keep campaign names and tracking parameters consistent across regions so the read-out is not muddied by tagging differences; Deep Link Doctor's note on inconsistent UTM naming covers the usual slips.
The data you need is daily installs for each test unit, split by organic and attributed. MMPs such as Linkrunner, AppsFlyer and Adjust report daily installs by country; for regions within a country, check what your mobile measurement partner's exports include.
Sample data: a made-up app to show the method, not a benchmark.
A sample read-out: control regions grew 2% against their pre-period while test regions, with ads on, grew 14%. The ads' estimated effect is about 12 points of growth, which you would then convert into installs and compare with what those regions were credited with.
Which test should you run first?
- You spend mostly on one platform and qualify for its lift study: start there. It is the cleanest answer for that platform.
- You want to test several channels or brand search: run a geo lift or a careful on/off test.
- You have low volume: test your biggest channel only, for longer, and accept that only a large effect will show.
This practical incrementality testing guide has a step-by-step plan for a first holdout, and the lift test reader helps you read whatever you run.
Questions
What is the difference between a holdout test and a geo lift test?
A holdout splits individual users at random; a geo lift splits regions. Holdouts are more precise but need the ad platform to run them, while geo lifts can be run by the advertiser across any channel.
How long should a geo lift test run?
Long enough to detect the lift you care about given each region's daily volume, and at least two full weeks. Four weeks is a safer default for app installs, and avoid festival periods unless the festival is what you want to test.
Are on/off tests reliable?
They are directional. Because the comparison is across time, anything else that changed in those weeks gets mixed into the result, so repeat them and avoid seasonal peaks.
What is incrementality in app marketing?
Incrementality is the share of conversions that would not have happened without the ad. It is measured by comparing people who could see the ads with a similar group who could not, so it captures what the ads changed rather than what they were credited with.
Is attributed the same as incremental?
No. Attribution credits a campaign when a user touched an ad before installing, even if that user would have installed anyway. Incremental installs are only the ones the ads caused, so they are always equal to or fewer than attributed installs.
How big should my holdout group be?
Big enough that the control group collects enough conversions to detect the lift you care about within the time you can wait. Lower conversion rates and smaller expected lifts need bigger holdouts or longer tests; the holdout simulator on this site shows the trade-off.
More guides
- 01What is incrementality in app marketing?Incrementality in app marketing explained: the share of installs and revenue your ads really caused, how it differs from attribution, and how to measure it.
- 02How big should my holdout group be?How to size an incrementality holdout for an app: control conversions needed, and how holdout share, install rate and expected lift set the test length.
- 03How to read lift test results without fooling yourselfHow to read an incrementality lift test: lift, confidence interval, p-value and incremental installs, the mistakes that turn noise into wins, what to report.
- 04Incrementality on Meta, Google and Apple Search AdsHow to test incrementality on Meta, Google App Campaigns and Apple Search Ads: what each platform's lift tools offer, their published rules and the fallbacks.
- 05Which UA campaigns are cannibalising organic installs?How to identify which UA campaigns are cannibalising organic installs: brand search and retargeting patterns, a four-step data check, and how to test it.
- 06MMM vs MTA vs incrementality testingMedia mix modelling, multi-touch attribution and incrementality tests compared for app marketers: what each measures, the data needed, how they fit together.
- 07How to act on incrementality resultsTurn incrementality test results into budget decisions: incremental CPI and iROAS by channel, moving spend in steps, when to retest, and reading CTV and brand.