Skip to content

How do I measure Meta ads incrementality?

Usually with an experiment that keeps some people or regions away from your Meta ads, then compares total sales. Use Meta's Conversion Lift if a campaign qualifies, or a regional holdout if not. Ads Manager, GA4 and Meta's incremental column show credit or predictions, not cause.

By , Founder & CEOUpdated 7 min read

Run the numbers for your store: the free holdout test planner.

Usually with an experiment that keeps some people or regions away from your Meta ads, then compares total sales. Meta's Conversion Lift test does that for you if a campaign qualifies. If not, switch the ads off in some regions yourself. Ads Manager, GA4 and Meta's incremental column show credit or predictions, not what the ads caused.

Three Meta numbers get called incrementality, and only one of them comes from an experiment. Ads Manager's standard columns count purchases that followed an ad inside its attribution setting. Meta's incremental attribution uses machine learning models that predict whether a conversion is caused by an ad. A Conversion Lift test splits people at random into a group that can see your ads and a control group that cannot.

The first is credit. The second is a forecast of cause. Only the third measures cause, because only the third has people who saw nothing.

What one store's data shows

The usual shortcut is to read Meta's effect off GA4: find the Paid Social row and call it the answer. Here is one store's export next to that shortcut.

One store's anonymised GA4 export, 1 January 2024 to 21 August 2026. It holds shares of revenue only: no ad spend, no order counts.

What the export showsShare of revenueSource cell
Paid Social, in last click, first click and touched views0.0%Channels sheet, Paid Social row
Direct, in last click, first click and touched views57.7%Channels sheet, Direct row
Touched view, all channels added together110.4%Channels sheet, Touched column total
Journeys with 4 to 9 touches (16.9 days to buy)5.4%Journeys sheet, 4-9 touches row

Start with the row the shortcut reads. On the Channels sheet, Paid Social holds 0.0% of revenue in all three views. The export holds no spend, so it cannot say whether this store ran Meta ads at all. If it did, GA4 never filed a sale under a Paid Social visit. GA4 credits visits, and an ad someone only scrolled past usually leaves no visit behind.

Now the biggest row. On the Channels sheet, Direct holds 57.7% of revenue in all three views. Google files a visit as Direct when someone uses a saved link or types your address. A shopper who saw your ad on Monday and typed your address on Friday lands here. A lift test still counts that sale: Meta says its tests count all conversions in your test and holdout groups, wherever GA4 files them.

The touched view shows why credit is a choice, not a fact. On the Channels sheet, the touched column sums to 110.4% by design, because a journey that touched two channels counts in both. Change the rule and the credit moves. Cause does not move with it.

Then the clock. On the Journeys sheet, journeys with 4 to 9 touches held 5.4% of revenue and took 16.9 days to buy. Meta does not recommend using the post-test conversion window when it calculates lift. So if your slow buyers look like this store's, a two-week test ends before some of them decide.

What the export cannot show: whether Meta ran, what Ads Manager claimed, or which sales any ad caused. It is one store, not a benchmark for yours.

Can't Meta's incremental column answer it?

It helps you rank, but it is still a prediction. Meta says the column is designed to show the relative incrementality between Meta campaigns. Relative is the word to underline. It tells you which campaign looks more causal than another, not what your Meta spend added in total.

Meta's own example shows the mechanics. If a campaign has 100 conversions and Meta considers 70 of them incremental, the column shows 70. Meta also recommends comparing within one attribution model rather than setting incremental against standard. So subtracting one column from the other is the very move its help page warns against. The column has no results for date ranges before 1 April 2025.

An A/B test will not settle it either. Meta notes that A/B tests do not include randomized holdout groups. Everyone in an A/B test sees one version of your ads, so it picks a winner, not a cause.

What can a lift result not tell you?

A lift test answers one question well: what these campaigns added, in these weeks, at this spend. Meta says the results are unique to the test's conditions. Change the season, the offer or the budget, and you have a new question.

It reports on the spend you tested, not on the next euro. A campaign can pay its way at today's budget and lose money at double. Re-test before a big step up.

A flat result is not a verdict of zero either. When the test and holdout groups look alike, Meta says the difference was not conclusive or significant. The effect may be small, or the test too small to see it.

And keep the lift apart from Ads Manager. Meta does not suggest comparing lift results with its other reporting tools, because they count different things. Judge the campaign on the lift, and run it day to day in Ads Manager.

What to do this week

  1. Turn on Meta's incremental view. In Ads Manager, click the Columns: Performance dropdown, select Compare attribution models, then Incremental, then Apply. Rank campaigns by cost per result inside that column only. Pass: one campaign clearly ranks last, so you know what to test first. Fail: the column is empty for your dates, so start with your biggest spender.
  2. See whether Meta will run the test for you. In Ads Manager, open Customize columns under Columns and add Amount spent and Results. As a guide, Meta wants a campaign that started in the past year with $5,000 USD or more and at least 500 conversions. Pass: one qualifies, so create a Conversion Lift test in Experiments. Fail: none does, so plan a regional holdout.
  3. Find regions that sell alike. In Shopify, go to Analytics, then Reports, filter by Sales and open Total sales over time. Add a Billing city filter with ⊕ under Filters and note last quarter's sales per city. Pass: your cities split into two groups with similar sales. Fail: one city dominates, so pair cities by size first, as in the small-store test, step by step.

Check the homework. Your GA4 Attribution paths export already holds the evidence. Causality Engine reads that one file and shows what each channel caused next to what last-click gave it, in 1 to 2 minutes, for €99 once (excluding VAT), refundable within 30 days. Check the homework

Sources, 1 October 2026: About incremental attribution (Meta Business Help Center); About Conversion Lift (Meta Business Help Center); Differences between Conversion Lift test results and other reporting tools (Meta Business Help Center); How to view results for incremental attribution in Meta Ads Manager (Meta Business Help Center); About lift and holdouts in Facebook advertising tests (Meta Business Help Center); Similar performance between test and holdout groups in a test (Meta Business Help Center); Best practices to get started with Experiments (Meta Business Help Center); Customize columns in Meta Ads Manager (Meta Business Help Center); Default channel group (Google Analytics Help); Sales reports (Shopify Help Center); Filtering and editing your reports (Shopify Help Center).

Frequently asked questions

  • Should I test my whole Meta account or one campaign first?
    Usually the whole account first. Meta suggests starting with an account level test that looks at the overall effect of your advertising. Once you know Meta as a whole earns its keep, test single campaigns, such as prospecting against retargeting, to decide where the next euro goes.
  • Can I see Meta's incremental results for last year?
    Only from 1 April 2025 onward. Meta says its incremental attribution column has no results for date ranges before that day. Earlier periods only have standard attribution, which includes all conversions inside the window, so read those figures as credit, not cause.
  • How often should I re-measure Meta incrementality?
    Whenever the conditions change enough to matter: a new season, a big budget shift, a new offer or a rebuilt account. Meta says lift results are unique to the test's conditions. A check each quarter, plus one before peak season, keeps the number from going stale.

Go deeper: Incrementality testing, explained.

Sixty-second versions of these ideas: Causality Engine on YouTube Shorts.

Keep reading

Terms in this article

Browse the full glossary

Your platforms guess.
We run the math.

Upload a GA4 export and see what each channel caused, next to last-click, in 1–2 minutes. The read is yours to keep.

Free, in your browser: your file is not uploaded. The full read is €99, refundable within 30 days. Prices exclude VAT.
Or book a 30-min call.