Incrementality vs. Attribution: The DTC Measurement Shift That Decides Where Your Next Ad Dollar Goes

Your best-performing campaign on the dashboard is probably one of your worst investments. And the report that's telling you it's a winner is the exact thing hiding it.
I know how that sounds. The campaign with the 5x return can't be the problem, surely. But that 5x is an attribution number, and attribution has a habit of taking credit for sales that were going to happen anyway. Strip out the ones you'd have won regardless, and a glamorous 5x can collapse into something that barely justifies the spend.
That's the whole argument of this post. Last-click ROAS - the number Meta and your attribution tool show you - is not the number that should be deciding where your next dollar goes. Incremental lift is. And the gap between those two is where most DTC growth budgets quietly leak.
Let me define the terms properly, because they get thrown around interchangeably and they absolutely are not the same thing.
Three numbers founders treat as one
There are three different things people mean when they say "ROAS", and conflating them is the root of the confusion.
Attribution is the model that assigns credit for a sale to a touchpoint. Last-click hands the whole sale to whatever the customer tapped just before buying. Multi-touch tries to split it across several touches. Either way, attribution is a story told after the fact, looking backward at data you already have, deciding which ad "gets" the conversion. It's a bookkeeping exercise, not a measurement of cause.
Platform ROAS is attribution as reported by the platform that wants your budget. Meta marking its own homework on a 7-day-click basis. It's not lying exactly, but it counts every sale it can plausibly reach for, including plenty it didn't cause. Of course the platform's own number flatters the platform.
Incrementality is the one that answers the question you actually care about: if I turned this spend off, how much revenue would I genuinely lose? That's it. That's the whole idea. Not "which ad got the click" but "which spend is producing sales that wouldn't have happened otherwise". Incremental means additional. Everything else is just accounting.
Here's the thing - attribution tells a convenient story, not always a true one. Your strongest campaigns don't only drive direct conversions. They create ripple effects: they lift branded search, pull in organic and direct traffic, nudge people who buy weeks later through a totally different path. Attribution can't see most of that, so it credits the last clickable thing and calls it done. You can only get at the truth by running an experiment.
Why last-click lies (it's not malice, it's confounding)
The reason attribution gets it wrong isn't that the platforms are crooked. It's that the world is noisy, and attribution can't tell signal from noise.
At any given moment, a dozen things are moving your sales at once. Seasonality. A product launch. A competitor running a sale. Your email flow firing. An influencer post you forgot about. Your own brand getting slowly better known. When a sale lands, attribution shrugs and hands the credit to the last ad in the path - even if that ad changed nothing, even if that customer was always going to buy.
To put this in perspective: imagine you ran zero ads next Tuesday and still made sales. Of course you would - returning customers, organic traffic, word of mouth, people who already had you in a tab. That baseline - the revenue you'd earn with the ads off - is invisible to attribution. So every sale it produces gets wrongly stapled to whichever ad happened to be nearby. That's not measurement. That's a coincidence with a confident voice.
The only way to cut through it is to isolate the one variable you care about and watch what happens. Which is exactly what an incrementality test does.
The measurement hierarchy, cheapest to truest
Not every measurement method is created equal. I think of them as a ladder, from "rough and cheap" at the bottom to "rigorous and causal" at the top.
- Surveys and third-party data. Useful directional context. "How did you hear about us" at checkout. Cheap, soft, easily wrong, but better than nothing.
- Attribution and multi-touch models. Your Meta dashboard, your attribution tool. Fast, granular, available all day every day. Correlational, not causal. Fine for spotting trends, dangerous as a sole source of truth.
- Marketing mix models. Statistical models that look at total spend and total outcomes over a long window to estimate each channel's contribution. Better at the big picture, but slow - you might get one read a quarter, and that's no good when performance swings week to week.
- Geo holdout experiments. The top of the ladder. An actual experiment, run at a point in time, that gives you a causal read on a channel's true impact.
The reason holdouts sit at the top is simple. Everything below them looks backward at historical data and reasons about cause from correlation. A holdout doesn't reason - it tests. That's the move from "we think this channel matters" to "we know, and here's by how much".
What a geo holdout actually does
The mechanics are more straightforward than the jargon suggests.
You pick a handful of regions - states, cities, whatever your data supports - and you turn a channel off in just those regions. Everywhere else, business as usual. Then you watch what happens to revenue in the switched-off regions versus the rest. The difference is the channel's incremental contribution. No model, no guessing. You withheld the ads and measured the hole they left.
Let me walk a worked example with made-up but realistic numbers, because this is where it clicks.
Say a homewares brand wants to know Meta's true impact. They hold out three states - call them their test group - and keep Meta running everywhere else, the control group. The test runs four weeks, which is long enough to let delayed purchases show up. Pull anything shorter and you'll miss the buyers who took two weeks to decide, and you'll fool yourself.
At the end, they pull Shopify revenue for those three states and compare to what the regions would normally have done. Revenue in the held-out states came in ~$48k lower than expected. That's the incremental revenue Meta was producing there - real sales that genuinely didn't happen once the ads went dark.
Now the maths. The spend Meta would have run in those three states over that window was ~$17k. So the true incremental return is $48k over $17k, which is ~2.8x. Meanwhile, Meta's own platform report for that same period and geography claimed a 2.3x.
Sit with that for a second, because it cuts against the cliché. In this case the platform under-reported. Meta was actually doing more than it claimed - a true 2.8x against a reported 2.3x, an incrementality factor of roughly 120%. The lesson isn't "platforms always inflate". It's that the platform number and the true number drift apart, and you cannot know which direction or how far until you test.
One more thing that matters for your nerves: this brand didn't lose that $48k. In a well-built holdout you don't pull total spend - you reallocate the budget from the held-out regions into the control regions. So the dollars keep working, you just learn what they were really worth. Done properly, the business risk of a holdout is genuinely low.
Not every channel lies the same way
Here's the part that changes how you allocate budget. Different channels have wildly different incrementality factors, and once you see the spread you can't unsee it.
If 100% means "the platform number is exactly the truth", then across a lot of DTC tests you tend to see rough starting points like these. Treat them as priors to test against, not gospel - they move brand to brand.
- Meta acquisition often lands near or above 100%. Genuinely finding new people, frequently doing more than it gets credit for.
- Meta retention (ads to existing customers) sits lower, often around ~60%. A good chunk of those people were coming back anyway.
- Google non-brand tends to sit around ~75%. Real demand capture, but some of it would have found you.
- YouTube, similar territory, ~75%, with a real upper-funnel halo that attribution mostly misses.
- Google brand is the cautionary tale, often as low as ~30%. People searching your name were, by definition, already looking for you.
Google brand deserves a proper look because it exposes the trap so cleanly. Say your target return is 2.5x. Your platform tool proudly reports Google brand at 5.7x - double your target, looks like your best channel by a mile. But if its incrementality factor is ~30%, the platform number is wildly overstating reality. To actually hit a true 2.5x, your reported Google brand ROAS would need to be ~8.3x (your 2.5 target divided by 0.30). At 5.7x reported, you're not crushing it - you're underwater on incremental terms. The "best" channel on the dashboard is quietly one of the weakest.
This is why a single blended target across every channel makes no sense. You shouldn't demand the same return from Meta acquisition and Google brand, because one of them is mostly telling you the truth and the other is mostly taking credit for demand you already created.
The budget call this actually changes
Let me show what this does in practice, because the point of all of it is moving money to where it works harder.
Picture two channels on your dashboard looking neck and neck. Google non-brand reporting ~3.0x, Meta acquisition reporting ~3.2x. On platform numbers alone you'd leave the split exactly as it is. They look the same, so why touch it.
Now adjust for incrementality. Apply a ~75% factor to Google and it's really a ~2.3x. Apply a ~120% factor to Meta and it's really a ~3.8x. That's not a rounding difference, that's a chasm. Meta is doing far more than Google for every dollar, and the dashboard was hiding it behind two numbers that happened to look alike.
So you pull some budget out of Google and push it into Meta. Same total spend, more total revenue, because the money's now flowing to where it compounds. That single reallocation - invisible on platform numbers, obvious on incremental ones - is the entire reason this shift is worth the effort.
An operator I watched work the problem
A story, anonymised, that shows the mindset more than any definition can.
A brand I followed had a Meta account that kept testing as incremental in their holdouts - so it was genuinely working - but the cost per incremental order was higher than they needed. Note the metric they were steering by. Not platform ROAS. Cost per incremental order: the actual price of a sale that wouldn't have happened otherwise.
They diagnosed it properly instead of guessing. First they checked whether they were accidentally paying to re-acquire existing customers - a classic leak - and tightened the exclusions. Better, but still not enough. So they dug into reach and found the real problem: in good months their rolling reach into new people was high, in bad months it was low. They simply weren't getting in front of enough new humans.
The fix they could ship fastest was a mid-funnel test. They carved out ~20% of the account to target warmer-but-not-customer audiences - people who'd completed a quiz or viewed key pages but hadn't bought. No new creative required, so it launched almost immediately. The result: a ~26% improvement in cost per incremental order.
What I want you to take from that isn't the tactic. It's the lens. Every decision was judged against an incremental metric, not a platform one. They weren't chasing a prettier dashboard, they were chasing real, additional orders at a price that made sense. That's what running an account on incrementality looks like day to day.
It also reframes a single bad reading. A weak incremental result one fortnight isn't a verdict, it's a clue. The job isn't to nail a perfect number - it's to keep testing, keep asking "is this dollar producing additional sales", and keep moving toward truth. Progressive truth beats false certainty every time.
When you actually need this (and when MER is plenty)
Now the honest caveat, because I'm not about to tell a brand doing ~$40k a month to go build a geo-holdout programme. That'd be daft.
Incrementality testing has a cost. It needs enough spend and regional sales volume to produce a clean read - hold out three states and there has to be real money moving in those states or the result is just noise. For a lot of smaller brands the spend isn't there yet, and the effort buys you a fuzzy answer to a question you didn't need to ask.
So here's my rough rule. If you're spending under ~$50-75k a month across channels, I wouldn't lose sleep over formal holdouts. Watch your MER - total revenue over total spend, blended across everything - and let that be your north star. MER is beautifully honest at that stage precisely because it can't take credit for sales it didn't cause. It's the whole business in one number.
The moment to graduate to incrementality is when two things are true at once: you're spending enough that a few points of misallocation is real money, and you're running several channels that each claim credit for the same growth. That's when MER stops being enough - it tells you the blended truth but not which channel to feed next. With Meta, Google brand, Google non-brand and maybe YouTube all pointing at the same sales, you need a way to tell who's genuinely earning it. That's the job incrementality does, and nothing cheaper does it as well.
If you want to pressure-test where you sit, run the thought experiment yourself first: list every channel claiming credit for your growth, then ask honestly which of those sales would still happen if you switched that channel off tomorrow. The ones you're least sure about are exactly where a holdout would pay for itself. It's free, and it usually tells you more than the dashboard does.
So which of your channels is taking credit for sales it didn't earn? You probably already suspect the answer. The only question is whether you're spending enough to make finding out worth it.
.webp)





