Issue 13PlaybookNo. 007
Why your ROAS is lying: fixing attribution after cookies.
Ad platforms grade their own homework. How we rebuild measurement with server-side tracking, one source of truth and tests that show what actually drives revenue.
Amara Okoye
Partner · Growth
- Published
- Updated
- Read time
- 9 minutes

In this article
Add up the conversions every ad platform claims for last month, compare the total with the orders in your store, and you'll usually find the platforms have taken credit for more sales than you made. That isn't fraud. It's how attribution works — and it's why a ROAS figure on its own can't tell you where to put the next pound or dollar.
At the same time, the platforms miss real conversions they can no longer see. Both errors happen at once, which is why “is our tracking right?” is the first question in almost every marketing audit we run.
Why the numbers disagree
Each platform measures from its own point of view. Meta's default attribution setting counts a conversion up to seven days after someone clicks an ad, or one day after they view one. Google Ads applies its own models and windows. If a buyer saw an Instagram ad, clicked a search ad and then opened your email, three systems can each claim the same order.
Meanwhile, the signals those models rely on have thinned out:
- Safari and Firefox block third-party cookies by default, and Safari limits how long cookies set by JavaScript can last.
- Apple's App Tracking Transparency lets iPhone users opt out of cross-app tracking, and many do.
- Consent banners, required in many regions, mean a share of visitors are never tracked at all.
- Ad blockers and privacy-focused browsers stop common tracking scripts from loading.
So platform dashboards double-count the buyers they can see and model the ones they can't. A ROAS built on those numbers is an estimate wearing a decimal point.
“Platform ROAS isn't a measurement. It's each platform's opinion of itself — useful, but never the final word.”
Fix the plumbing first
Before arguing about attribution models, make sure the data going in is complete and consistent. This is the sequence we run.
Send conversions server-side.
Use Meta's Conversions API and Google's enhanced conversions alongside the browser tags, so conversions still reach the platforms when scripts are blocked. Deduplicate so each order counts once.
Handle consent properly.
Implement Google Consent Mode with your consent platform, so you stay compliant and the platforms can model what consent removes instead of seeing a hole.
Make the backend the source of truth.
Orders and qualified leads live in your store or CRM. Pass order IDs and values into every tracking event, so platform data can be reconciled against real revenue.
Clean up campaign tagging.
One UTM naming convention, enforced through a shared template. Inconsistent tags are the most common reason channel reports don't add up.
Send offline outcomes back.
For lead generation, pass qualified-lead and closed-deal events from the CRM back to the ad platforms, so they optimise toward revenue rather than form fills.
Field note · Reconcile monthly
Put platform-claimed conversions, GA4 conversions and backend orders in one table every month. The gap between them is your measurement error. Watch whether it grows — that's how you catch a broken tag before it costs you a quarter.
Expect the reconciled numbers to look worse than the dashboards did. That isn't the marketing getting less effective; it's the measurement getting more honest. It's also the baseline every later decision should start from.
Judge the business, not the channel
Once the plumbing is sound, change the headline metric. We report marketing efficiency ratio (MER) — total revenue divided by total marketing spend — as the number the business steers by. Attribution windows can't inflate it, because it ignores them. If MER holds while spend grows, the marketing is working, whatever the individual dashboards say.
Platform ROAS still has a job: comparing campaigns, audiences and creatives within one platform, where the same counting rules apply to everything. Just don't compare Meta's ROAS with Google's and move budget on the difference.

Test what actually moves revenue
The only way to know whether a channel causes sales, rather than collecting credit for them, is to switch it off somewhere and watch what happens.
- Geo holdout tests: pause or reduce a channel in a set of comparable regions for a few weeks, then compare sales with the regions where it kept running.
- Platform lift studies: Meta and Google both offer conversion lift tests that compare people who saw your ads with a held-out group who didn't.
- Marketing mix modelling: for larger budgets, open-source tools such as Google's Meridian and Meta's Robyn estimate each channel's contribution from historical spend and sales.
In our audits, brand search and retargeting are where we most often find a gap between claimed and incremental results: buyers who were going to purchase anyway get counted as conversions. Prospecting is often undervalued for the same reason in reverse.
Keep the first test simple. Pick one channel, choose regions with similar sales history, agree the test length and the success metric before you start, and leave everything else unchanged while it runs. Even a result that comes back “inconclusive” tells you something: the channel's real effect is smaller than its dashboard claims.
None of this needs a data science team to start. A clean reconciliation table, MER as the north star and one holdout test a quarter will tell you more than any dashboard. It's the first month of every digital marketing engagement we run, and it pairs well with landing-page tests once the numbers can be trusted.
Key takeaways
If you only remember three things
Platforms double-count the buyers they can see and model the ones they can't.
Fix tracking first: server-side conversions, consent mode, backend order IDs and clean UTMs.
Steer by MER and incrementality tests; use platform ROAS only within a platform.

Written by
Amara Okoye
Partner · Growth · 12 years in performance marketing
Amara leads our growth practice: paid media, analytics and conversion. She has managed budgets across search, social and marketplaces, and writes here about measurement that holds up when the dashboards disagree.


