Why can’t attribution tell you what your ads caused?
Attribution counts conversions that happened after someone saw or clicked an ad. It cannot tell you whether that person would have bought anyway. A brand search click from a returning customer and a prospecting video that created a new buyer can look identical in a platform report.
Incrementality is the share of conversions that would not have happened without the ads. The only reliable way to measure it is to withhold ads from a comparable group and compare outcomes. Everything in this guide is a version of that idea: hold out people, hold out places, or model the past and calibrate the model with holdouts.
Which incrementality method fits which question?
Match the method to the decision you need to make. Each answers a different question at a different cost.
| Method | What gets held out | Best for | Main constraint |
|---|---|---|---|
| Meta Conversion Lift | Randomized people | Is this Meta campaign incremental, and by how much? | Spend and conversion thresholds; Meta-only read |
| Google Conversion Lift (user or geo) | Users, or geographic regions | Incremental conversions and iROAS for Google campaigns | Not available to all accounts; contact a Google rep |
| Geo holdout (for example, GeoLift) | Whole markets | Cross-channel, offline or retail sales; advertisers below platform thresholds | Needs enough comparable regions and stable history |
| Marketing mix model (Robyn, Meridian) | Nothing; uses historical variation | Budget allocation across all channels | Needs long, consistent data; must be calibrated |
| Google Ads custom experiment | Nothing; both arms advertise | Comparing two versions of a campaign | Measures relative performance, not incrementality |
The last row matters. Google’s custom experiments split a campaign’s traffic and budget between the original and a variant. They are excellent for testing a bid strategy or landing page, but both arms run ads, so they cannot tell you what happens with no ads.
How does Meta Conversion Lift work?
Meta splits your audience at random into a test group that is eligible to see your ads and a control group that is not, then compares conversions between them. Per Meta’s Conversion Lift article, the difference is the lift, and results come with intervals showing the range of likely outcomes.
Details worth knowing before you plan one:
- It uses an intent-to-treat design: the test group includes people who were eligible but never actually saw an ad. That keeps the comparison fair, and it makes the measured lift conservative.
- As of October 2026, Meta’s stated guide for self-serve access is a campaign that started in the past year with at least $5,000 USD in spend and 500 conversions, prorated for campaigns longer than 90 days. The account also needs signal quality: Conversions API events with an Event Match Quality above 5, or a supported data source sending a lower-funnel or app install event.
- Conversions can come from the Pixel, the Conversions API, app SDKs or offline uploads. Meta recommends the Conversions API. Our Conversions API guide covers setup.
- Meta advises against using the post-test conversion window when reading results.
Meta also offers incremental attribution, an attribution model that, per its help page, uses machine learning to predict whether a conversion was caused by an ad and optimizes delivery toward those. It is useful, but it is a model, not an experiment. Validate it with a lift test when you can.
How does Google Conversion Lift work?
Google offers Conversion Lift in two forms. User-based studies split by aggregated user attributes and report incremental conversions, relative lift, incremental conversion value, iCPA and iROAS (iROAS only when conversion actions carry values). Geography-based studies split regions and support offline data.
As of October 2026, Google’s geo setup article lists supported campaign types as App, Demand Gen, Discovery, Display, Video, Search, Shopping and Performance Max. Campaigns must target a single country, can sit in only one study at a time, and the tool reports a feasibility status; Google advises against running a study rated low. Conversion Lift is not available to every account, and access goes through a Google account representative.
How do you run a geo holdout yourself?
A geo holdout turns ads off (or on) in selected regions and compares them to regions that stayed the same. Meta’s open-source GeoLift is an R package built on synthetic control methods, with power calculators for choosing markets and functions for inference and plotting. Its documentation positions it for cases where people-based Conversion Lift is not feasible. Note that GeoLift’s own site describes it as a research tool, not a Meta product.
- Write the decision first. Example: “If Meta prospecting’s incremental CPA is under our target, we keep the budget; if not, we cut it by half.”
- Pull daily or weekly sales by region for as much stable history as you have, from your own backend, not the ad platform.
- Run the power analysis to pick test markets and duration that can detect the smallest lift that would change your decision.
- Change only the tested channel in test regions. Freeze other media and promotions, or apply them equally everywhere.
- Run the full planned duration. Stopping when the chart looks good inflates false positives.
- Calculate incremental conversions, incremental CPA and iROAS, with the interval, and record the keep, change, scale or stop decision.
Where does marketing mix modeling fit?
MMM estimates each channel’s contribution from historical variation in spend and outcomes, then helps reallocate budget. Two well-documented open-source options:
- Robyn, from Meta Marketing Science, uses ridge regression, models adstock and saturation, and tunes hyperparameters with Meta’s Nevergrad library. Its documentation says it calibrates against ground-truth methods such as geo experiments and Meta lift tests. Per the GitHub README, the R package is primary and the Python version is a beta.
- Meridian, Google’s open-source MMM, is a Python framework based on Bayesian causal inference. It supports geo-level data, reach and frequency for video, and search query volume as a control for organic demand, per the Meridian site. Its calibration guide turns experiment results into ROI priors and notes there is no single formula for doing so.
An uncalibrated MMM can produce confident numbers that are wrong. Treat lift tests as the ground truth the model must agree with.
How do you turn a lift result into a budget decision?
Convert the result into incremental cost per acquisition and compare it to what a customer is worth. A hypothetical example with round numbers:
- A channel spends $40,000 over four weeks in the test regions.
- Test regions produce 1,300 conversions; the synthetic control predicts 1,000. Incremental conversions: 300.
- Incremental CPA: $40,000 / 300 = about $133.
- The platform attributed 800 conversions to the same spend, a reported CPA of $50.
Here, roughly 300 of 800 attributed conversions (about 38%) were incremental. If a customer is worth $200 in gross margin, the channel still pays back. If a customer is worth $100, it does not, even though the dashboard said $50. You can also apply that ratio as a working multiplier on platform-reported CPA until the next test. For subscription businesses, compare incremental CPA with payback rather than first-month revenue; see CAC payback for subscriptions.
How MSG approaches this
We set tracking and conversion definitions before scaling, because a lift test is only as good as the conversion data it reads. Every test gets a written hypothesis, a budget and a decision date, and every read ends in keep, change, scale or stop. We report the business, not the platform: incremental cost per customer next to blended results, with clear notes on what a test can and cannot tell us. The work happens inside your own ad accounts. See our measurement service.
Sources
- Meta Business Help Center: About Conversion Lift
- Meta Business Help Center: About incremental attribution
- Google Ads Help: About Conversion Lift
- Google Ads Help: Set up Conversion Lift based on geography
- Google Ads Help: About custom experiments
- GeoLift (Meta open source) on GitHub
- GeoLift documentation
- Robyn (Meta Marketing Science) documentation
- Robyn on GitHub
- Google for Developers: Meridian
- Google for Developers: Meridian ROI priors and calibration
- Meridian on GitHub
Platform features and policies change. This guide reflects the sources above as of October 7, 2026.