Incrementality Testing: What You Can Prove Without a Vendor

fuse-smo-martin-janecekWritten by Martin J.
Back to blog
A dark territory split into many irregular region cells, one half glowing glass and one half matte held out cells, joined by faint pairing lines

Your dashboard reports what happened. It cannot tell you what would have happened without the campaign, which is the number your budget depends on. So how many regions can you hold out?

There is a campaign in your account that has never been switched off. It reports a positive return, and nobody can tell you what that month would have looked like without it.

That missing month has a price. A simulation one incrementality vendor ran over 36 million marketing decisions found that acting on noisy results left the business worse off than doing nothing in 38 percent of cases. That is a vendor's own number, labelled as one here. The noise itself is structural: Lewis and Rao, in a Quarterly Journal of Economics paper covering twenty-five large field experiments and $2.8 million in ad spend, found the median confidence interval on return on investment was over 100 percentage points wide.

No dashboard closes a hundred point gap. Incrementality testing is the only route built to close it, and three designs need no vendor at all.

What Incrementality Actually Measures

Every test asks what would have happened if this had not run. You never observe that. You observe one world, the one where you spent the money, and estimate the other with a confidence interval attached. When the interval is wider than the effect you hoped to find, the test has produced a number without an answer.

The Three Designs You Can Run In-House

They cost different things and they do not prove the same claim.

Three tall glass panels side by side, the first holding a region mosaic with dimmed cells, the second an auction grid with two dark columns, the third a timeline split into two levels


Design

What it costs

Minimum volume

What it proves

What it cannot prove

Geo holdout with matched pairs

Media spend in the suppressed markets plus analyst time. The method ships as an open source R package

10 matched pairs, so 20 geos

The combined effect across every paid channel there, because everything stops at once

Which channel inside the set did the work, and anything at user level

PSA, ghost ads or ghost bids

Mostly engineering time. A ghost ad needs platform cooperation to log the counterfactual impression. A PSA burns real spend on a placeholder

Set by conversion count, not geography

The effect of the exposure itself, at user level, with the least noise of the three

Anything about the budget decision. It holds out an impression, not a spend

Pre/post with a matched control

Analyst time only. A spreadsheet for a few units, CausalImpact for a synthetic control

Set by how stable the pre-period is, not by a fixed count

Direction and rough size where you cannot withhold anything, such as a brand campaign

Causation, if parallel trends fail. The weakest of the three on identification

Geo holdout, and how many regions you actually need

The number to fix in your head is ten. Not ten markets. Ten matched pairs, which means twenty geos.

The trimmed match design paper behind Google's geo methodology states the rule itself: with n the number of geo pairs, "we recommend n >= 10 as too few pairs may make the inference unreliable" (arXiv 2105.07060v2, Section 4.4). Its worked case settles on 24 pairs, so 48 geos, for a two week test on a $1,000,000 hold-back.

The reason is spillover. The same paper requires each geo to be large enough to be reasonably isolated from its neighbours, which "often results in only a small number of geos available for experimentation." People cross a boundary to shop, and a metro area behaves as one economy even when your spreadsheet treats it as four. Shrink the cells to get more and treatment leaks into control. Grow them and you run out of cells.

Which is why one test market against one control market is not a geo experiment. It is a matched market comparison, and the methodology says what that is worth. The paper notes that market matching of this kind "only applies to non-randomized experiments and does not meet the gold standard for causal inference." Vaver and Koehler, in Google's technical report on geo experiments, put it from the other side: that method "draws its statistical power from the number of available geos in the analysis, and therefore is not applicable for situations with only a few geos available (such as matched market tests)."

The two-market version appears in more than one guide. It cannot carry a causal claim.

What you run instead: randomise assignment across pairs, keep three periods of pretest, intervention and cooldown, and analyse the geo level series. Google publishes the method as an open source R package called GeoexperimentsResearch, and CausalImpact covers the synthetic control case. No licence.

PSA, ghost ads and ghost bids

Three terms, used as if they mean the same thing. They hold out different things.

A PSA serves a real placeholder ad to the control group. The audience still gets a paid impression, the spend is still spent, and the only difference between the arms is the creative. Useful for measuring creative, useless for deciding whether a channel deserves budget, because you paid for both arms.

A ghost ad records what would have been served to a control user without serving it. The platform has to cooperate to log that counterfactual impression, and the control group costs nothing, which is the economic argument in Johnson, Lewis and Nubbemeyer's paper on the subject (Journal of Marketing Research, December 2017). A ghost bid is the auction level version.

None of these is a self-serve setting. You cannot open Google Ads or Meta and switch on a ghost bid. Ghost ads need the platform to log an impression it deliberately did not serve, and neither platform exposes that as a control a buyer can toggle. You either build it or you buy it.

Pre/post with a matched control

This is the design for when you cannot withhold anything. A brand campaign, a price change, a launch with no control available. Compare the treated unit against a matched control before and after, and the difference between those two differences is your estimate.

Difference in differences rests on one assumption: that the two units would have moved together without the intervention. That is testable in the pre-period, and testing it is most of the job. If they tracked within a few points for twelve months and diverged after the change, you have something. If they were already drifting apart, you have two markets that were never comparable.

Synthetic control goes further with many candidates: build the weighted combination of untreated units that best reproduces the pre-period, then watch the departure. It remains the weakest of the three on identification.

The Arithmetic That Kills Most Tests

For a user level holdout the sample size comes from a two proportion test, the same formula behind every A/B calculator.

Two smooth glowing curves crossing a dark field with a pale band widening between them, a thin vertical marker cutting the band where the two separate


n per arm = ((z_alpha/2 + z_beta) squared x (p1(1 - p1) + p2(1 - p2))) / (p1 - p2) squared

With alpha at 0.05 two sided the first z is 1.96. With power at 0.80 the second is 0.842.

Run it on a mid-size advertiser. Baseline conversion rate 2.0 percent, and you want to detect a 20 percent relative lift, so the treatment rate is 2.4 percent.

Step

Working

Result

Add the two z values

1.96 + 0.842

2.802

Square that sum

2.802 x 2.802

7.851

Variance of the baseline

0.02 x 0.98

0.0196

Variance of the treatment

0.024 x 0.976

0.023424

Add the two variances

0.0196 + 0.023424

0.043024

Multiply by the squared z sum

7.851 x 0.043024

0.337782

Square the gap between the rates

0.004 x 0.004

0.000016

Divide

0.337782 / 0.000016

21,111.4

Rounded up, that is 21,112 conversions per arm, or 42,224 across the test.

That figure decides your calendar. At a 2.0 percent baseline it means roughly 1,055,600 sessions per arm, so 2,111,200 across both. At 100,000 combined sessions a day that is a 21 day test. At 30,000 a day it is 70 days. At 10,000 a day it is 211 days, which is not a test, it is a business change.

Hold the baseline and halve the effect you want to detect.

Baseline

Relative lift to detect

Conversions per arm

Total

2.0%

20%

21,112

42,224

2.0%

10%

80,703

161,406

5.0%

10%

31,240

62,480

1.0%

20%

42,703

85,406

Halving the effect roughly quadruples the sample, and it explains why a two week test on modest volume can only detect an enormous lift. When such a test returns nothing, it has not shown that the channel does not work. It has shown that the test could not have found anything smaller than a number you would have noticed anyway.

A null from an undersized test is uninformative, not reassuring.

The caveat that invalidates the sizing above

Read this before you size a geo holdout with that formula. Do not.

The calculation assumes users are the randomisation unit. In a geo holdout they are not. The unit is the region, so the effective sample size is the number of regions rather than the number of people inside them. Twenty million users across twenty geos is an effective sample of twenty. That is why the trimmed match paper evaluates power in pairs and needs a cross validated power analysis on pre-period data rather than a user level calculator.

If you can only isolate six geos, this design is not available to you, and no statistics software changes that.

When You Genuinely Need a Vendor

Four situations make buying the measurement the right call.

You need a cross channel read and cannot suppress twenty isolated geos. The geo design is the only one that sees every paid touchpoint at once, and it is gated on a market count most advertisers do not have.

You need continuous measurement rather than a point in time test. A holdout answers one question about one period. If your planning needs an incrementality adjusted number every month in every channel, you are buying a system rather than a test.

You need a user level read at a scale where the platform holdouts are closed to you. Google's user based Conversion Lift opened to self-serve for Search and Performance Max on 2026-10-07. It needs at least 1,000 observed conversions, a $5,000 minimum budget requirement and a compatible conversion action, with a holdout of 1 to 50 percent. Meta's version needs $5,000 of campaign spend and 500 conversions on a 1 day click, 7 day click or 1 day view setting.

Google also gives you a pre-flight signal. Experiment Power bands the setup Low at 0 to 49, Medium at 50 to 79 and High at 80 to 99, from volume, duration, traffic split and campaign choice. A Low band means do not trust a significant result if you get one.

You need the analysis defended to a board or an auditor and have nobody who can run the methodology. Knowing which output to trust, and what to say when the interval comes back wide, is a different job from running the package.

Now the other side, which is the paragraph no vendor writes for you. If you sell through one channel, your volumes clear the platform thresholds, and someone on your team can reproduce the arithmetic above, a measurement vendor is a cost you do not need yet. Run the platform lift study on your biggest channel. Run the geo holdout if you have the markets. Put the rest into media.

How This Differs From Attribution

Attribution assigns credit for what happened. A test establishes what would not have happened. Different questions, different numbers, and that is why your dashboard and your lift study will never agree while both stay correct.

Attribution models the path a converting user took. It is useful for allocation inside a channel and structurally unable to say whether the channel should exist, because the users it scores were going to be exposed either way. For that side, start with our guide to marketing attribution software, and revenue attribution covers how those models are built.

A test adds the counterfactual. It holds a group, or a set of markets, out and measures the difference. That difference is the only number in your stack produced by an experiment rather than an assumption. If you are choosing platforms for the modelling side, best attribution software compares the options, and Google Ads A/B testing covers the mechanics closest to this work.

Start with the arithmetic, not the design. If the conversions your traffic can deliver in a month land below what the formula asks for, no holdout will rescue the answer, and the honest move is to put the test budget into media instead. Which of your channels can you size today?

Frequently Asked Questions

How many regions do you need for a geo holdout?

At least ten matched pairs, so twenty geos. The trimmed match design paper behind Google's geo methodology recommends them directly: too few pairs makes the inference unreliable. Each geo has to be large enough to be reasonably isolated from its neighbours, because a smaller cell leaks treatment into control. One market against one control market is a matched comparison, not a geo experiment.

Can I set up ghost bids in Google Ads or Meta myself?

No. A ghost ad requires the platform to log the counterfactual impression for a user it chose not to serve, and neither platform exposes that as a self-serve control. What you can switch on yourself is a user based Conversion Lift study for Search or Performance Max, subject to Google's published eligibility thresholds, or the Meta equivalent. A ghost bid is a build or a purchase, never a setting.

How long does an incrementality test need to run?

Long enough to accumulate the conversions the arithmetic requires, which is a computed number for your traffic rather than a rule of weeks. Fourteen days is a floor that stops a weekly cycle masquerading as an effect, not a guarantee that the test can conclude anything. Channels with long consideration windows need more: one vendor's own guidance puts connected TV at four to six weeks.

Is a small test that shows no lift proof the channel does not work?

No. An undersized test cannot separate no effect from an effect too small for its sample, and those two findings point to opposite budget decisions. A null from a test sized to detect a 20 percent lift says there is no lift above roughly 20 percent. It says nothing about a 6 percent lift that would still pay for the media.

Size one channel before you test it

The arithmetic decides which channel is worth a test at all, and it needs the conversion count your dashboard already holds. Allable puts your search, campaign and content data in one workspace, so the number you size the test with is the number you can check afterwards. Run the calculation on your biggest channel this week.

Your competitors are already using AllAble. Are you?

The marketers pulling ahead aren't working harder. They're just working with one tool that does everything — that tool is AllAble. Try it yourself!