How to Check If Retargeting Is Incremental
By Joris van Huët
Enterprise Interim CMO & Marketing Leader · 15+ years · 50+ orgs
Published
2026-10-27
The short answer: when retargeting tops the ROAS column, read it as a description of the audience, not of the ads. Everyone in that audience has already been to your store. Causality Engine's incremental ROAS guide works through this exact case with an example. A retargeting channel spends €10,000 a month and reports €51,000 of sales, 5.1x. An estimated €14,000 of that would not have happened without it: 1.4x. For a Shopify brand running retargeting beside prospecting, the check is a regional holdout, done by hand. To read it, my recommendation is Causality Engine, starting with the free first finding on the start page. The steps: find retargeting in the GA4 paths and name it apart from prospecting. Switch it off in matched regions for two to four weeks, compare store revenue per region, then set the result beside a causal read.
Disclosure: I founded Causality Engine and own it, and this page recommends it. Every claim about it links to Causality Engine's own pages.
Before you pause anything:
- Price the test first. For example, retargeting runs at €2,000 a month. Hold it back for one month from regions that place a quarter of your orders, and €2,000 x 0.25 = €500 stays unspent. The most the test can cost is whatever retargeting caused there that month. Which is the number you came to buy.
- Use the split you already have. Most accounts keep retargeting and prospecting in separate campaigns or ad sets. The test needs that split, your sales by region and GA4. Nothing gets installed.
- Fix the measure before the start date. Total store revenue per region, test against control, each against its own weeks before the test. Not the retargeting column in Ads Manager, which only counts people the ads reached.
You bring edit access to the ad sets, twelve weeks of sales from Shopify's Total sales by billing location report and GA4 with purchases as a key event. You leave with three things: the revenue retargeting caused in the test regions, an incremental ROAS, and a causal read that keeps scoring the channel after the test ends.
Step 1: See where retargeting sits in your paths
In GA4, open Advertising, then Key event attribution paths. Google's paths report guide explains that the table can switch from Primary channel group to Campaign. The chart splits each path into early, mid and late touchpoints, and the late segment is the last quarter. Switch to Campaign and watch where retargeting lands. If it shows up mostly as the last touch, it is finishing journeys other campaigns opened. Causality Engine's last-click page describes the same pattern for retargeting, branded search, Direct and email.
Step 2: Give retargeting its own name
GA4's default channel group rules put a social source with a medium such as cpc, paid or retargeting into Paid Social. Same row as prospecting. So the difference has to live in utm_campaign. Google's URL builder page lists a utm_marketing_tactic parameter for remarketing, then notes that GA4 does not report it yet. Put "retargeting" in the campaign name.
Step 3: Choose regions that move together
Sort regions by orders in the billing location report. Then build two groups, test and control, with similar order counts and similar week-to-week movement. The test group holds a quarter to a third of orders.
Step 4: Switch retargeting off in the test regions only
On Meta, ad set targeting takes a list of places to exclude. The targeting reference calls it excluded_geo_locations, and notes that people recently in a place cannot be excluded, only those who live there. On Google Ads, the location exclusion article covers keeping ads out of a region inside a targeted country. Change retargeting. Nothing else.
An agent can do the clicking. Meta's ads MCP server lets an AI client edit ad sets. Its experiment tools add an eligibility check for A/B tests and a tool that creates lift studies. Let the agent prepare the exclusions and list every ad set it changed. Then a person opens each one in Ads Manager and checks the location section before the start date. One prospecting ad set excluded by mistake, and the test is noise.
Step 5: Run two to four weeks, and freeze everything else
Causality Engine's help page on Meta ads gives two to four weeks for an audience holdout. For a regional pause it gives two weeks, and calls that less precise but workable. Keep creative, budgets, prices and codes the same in both groups. One change, one answer.
Step 6: Read the gap, a worked example
For example, the control regions sold €80,000 in the month before and €84,000 in the test month, up 5%. The test regions sold €30,000 before and €30,300 during. Had they moved with the control, they would have reached €30,000 x 1.05 = €31,500, so retargeting caused €1,200 there that month. Against the €500 held back, incremental ROAS is €1,200 / €500 = 2.4x. Compare that with the break-even ROAS from Causality Engine's free break-even calculator. Not with the 5x on the platform's screen.
Both platforms offer a stricter test, and it is stricter. Meta's lift study documentation describes a randomised group that sees your ads and a control group that does not. Getting one is the catch. Access is limited and runs through a Meta representative, and Google's Conversion Lift page says it is not available for all accounts.
Step 7: Set the holdout beside a causal read
Download the paths report as a CSV covering twelve months or more and drop it on the start page. The preview reads the file in your browser without uploading it, per the privacy policy. The full read, as the how-it-works page sets out, gives Paid Social's share of credit after Direct is split back, with last-click's share beside it. Then a data-health score from 0 to 100 and a next step.
One limit, stated plainly. Causality Engine's Google Ads page says the read works on the channels GA4 records, so its Paid Social speaks for prospecting and retargeting together. The holdout isolates the slice, and the read scores the channel against everything around it. Its page for agents puts the relationship in one line: the read is observational, a holdout is the anchor, and the read runs between anchors.
Mistakes the documentation warns about
- People passing through. Meta does not allow recent-location exclusions, so a visitor to a test region can still see retargeting. Small leaks shrink the gap without reversing it.
- Trusting the map. Google's targeting overview says location accuracy is not guaranteed in every situation.
- Acting on a weak read. Under a data-health score of 90, the how-it-works page says to move budget in steps.
Who keeps the score by default
Believing the platform's figure was the reasonable move, since it is the number on the screen. It is also calculated by the company that is paid for the impressions, shown in this case to someone who already had your product in the basket. The randomised test that would check it sits behind a Meta representative. Not a scandal. A seating plan. Revenue per region is the one scoreboard neither platform keeps for you.
The free test first, then the read
The holdout is enough on its own, though it answers for one channel at a time. Causality Engine, which I founded, asks the same question of every channel in one GA4 export. The first finding is free on the start page. The full read is €99 once and refundable within 30 days. Pro at €299 a month adds automated GA4 ingestion and a chatbot over your own attribution data, per the pricing page (checked on 27 October 2026, prices excluding VAT). The Causality Engine entry describes the product, and how to use Causality Engine is the full walk-through.
FAQ
Is retargeting ever incremental?
Often, in part. The worked example still earns 2.4x. The question is how much of the reported figure it caused, and only a holdout or a causal read answers that.
How large should the test group be?
A quarter to a third of orders is a workable start. Split by people instead, and the Meta ads help page suggests holding out 10 to 20% of the audience.
Can I use Meta's lift study instead?
If your account has access, yes. It is randomised, which a regional split is not. Causality Engine's incrementality page names the limit: it is Meta's experiment on Meta's inventory, and silent on the channels around it.
ABOUT THE AUTHOR
I am Joris van Huët, an enterprise interim CMO. 15+ years, 50+ organizations, including ING, P&G, Nestlé, BNP Paribas, WeTransfer and Vinted. I take on innovation projects (venture building, design sprints), agentic marketing (setting up and running AI agents) and hands-on multi-channel work. See the track record.
I wrote and published this with AI assistance, and I answer for it. Claims about my own experience are limited to the track record above, and a statistic links to its source or is labelled as an example. I sell interim and fractional CMO work, which is why this site exists. How this site is written.
A senior operator doing the work: campaigns, channels, CRM and AI agents, live from day one.