September 2026 · 4 min read
Platform ROAS is a story the platform tells about itself
Contribution margin is the number we manage to. Why the ad account's ROAS can't be that number, and what we look at instead.
Every ad platform reports its own return. Meta, Google, and TikTok each count a conversion when someone who saw or clicked an ad buys within the attribution window. Add the three reports together and most brands have sold more than they actually sold.
That overlap is the smaller problem. The bigger one is demand that would have arrived anyway. Someone who searched the brand name, clicked a branded ad, and bought was already coming. The platform still books the sale. Retargeting does the same with people who already had a full cart. Both look like the best campaigns in the account, and both bring in the least new revenue.
What happens when budget follows it
Budget follows reported ROAS. So the campaigns closest to the purchase, the ones harvesting existing demand, keep getting more money. Prospecting looks expensive and gets cut. For a quarter or two the blended numbers hold, because the brand is living off demand built earlier. Then new customer volume drops and nobody can point to the week it started.
We've seen this at small DTC brands and at much larger businesses. The account looks healthy right up until the business doesn't.
The number we manage to
Contribution margin after marketing: revenue minus product cost, fulfilment, payment fees, and the media that drove it. It doesn't care which platform claims the sale. If it goes up when spend goes up, the spend is working. If it stays flat, the extra spend bought credit, and the business paid for it.
Getting there takes two adjustments to platform numbers. First, remove the organic baseline: what revenue looks like in weeks or regions with less spend, or what branded search and direct traffic were doing before the campaign. Second, deduplicate across platforms so each order is counted once. What's left is an estimate of incremental revenue, and incremental CAC and ROAS follow from it.
An estimate before the holdout
A geo holdout or a conversion lift study is the proper answer. They also cost money, take weeks, and need enough volume to read. Most teams can't run one for every channel, and they shouldn't have to guess which channel to test first.
That's what our Incrementality suite is for. It takes platform-reported numbers, strips the organic credit, and returns an incremental read per channel, with a matrix of where a holdout is most likely to change the budget. It's an estimate and it says so. The point is to put a number in the room that doesn't come from the ad account, so the budget conversation starts closer to the truth.
The suite is still in the lab. If you want to run it on your own numbers before it opens up, talk with us.