Because they are both telling the truth about a journey they can only see part of. A customer clicked a Meta ad on Tuesday, searched your brand name on Google on Thursday, and bought. Meta counts that order. Google counts that order. Neither platform is aware the other one exists, so both report it in full, and your reported revenue across channels ends up larger than the revenue that actually hit your bank account.
This is the single biggest source of inflated ROAS in DTC, and it is not fraud or a bug. It is what happens when you ask several parties to grade themselves separately and then add up the grades.
How much overlap to expect
There is no universal number, and anyone quoting you one has not looked at your data. What I can tell you is the shape of it. On the accounts I have worked with, the sum of platform reported revenue tends to run somewhere between 1.3 and 2 times actual store revenue, and it gets worse the more channels you run and the heavier your retargeting.
You can measure your own version in about five minutes. Take a month. Add up the revenue every ad platform claims for that month. Compare it to total Shopify revenue for the same window. The gap is your overlap plus whatever each platform is modeling. If the sum comes to 160 percent of real revenue, roughly a third of the credit in your reports is duplicated somewhere.
That single ratio is more useful than most of the dashboards people build. I go through the Meta specific version of this in why Meta says you made $50k and Shopify says you made $22k.
Why the platforms cannot fix this themselves
Each platform has its own attribution window, its own model, and its own view of who a user is. Meta counts a purchase within seven days of a click. Google counts within its own window under its own data driven model. Neither shares user level data with the other, and for good reason, since that is exactly the cross platform tracking that privacy regulation has been dismantling for years.
So the platforms are not going to reconcile with each other. There is no mechanism for it and no incentive either. The reconciliation has to happen on your side, in a system that sees every order once and decides what to credit it to.
View through conversions make it worse. When a platform claims credit for an impression nobody clicked, the odds of two platforms claiming the same order climb steeply. I would rather exclude view through entirely from the number I plan against, for reasons I have covered before.
What to do about it
Start by never summing platform reported revenue. If you have a spreadsheet or a slide that adds Meta revenue to Google revenue to TikTok revenue, that total is fiction and everyone downstream of it will make decisions against a number that does not exist.
Use blended metrics as your top line. Total ad spend against total revenue gives you a number that cannot be double counted, because there is only one revenue figure in it. It will not tell you which channel to cut, but it will tell you honestly whether the whole operation is working.
For channel level decisions you need a single system that sees every order exactly once and applies one consistent model across all of them. That is the actual job of an attribution tool, and it is worth being clear that it is a deduplication job more than a modeling job. I use ThoughtMetric, which sponsors this blog. It reads orders from Shopify and attributes each one under a single model, so one order stays one order regardless of how many platforms want to claim it. Triple Whale and Northbeam solve the same problem with different modeling philosophies and different price points. Any of the three beats adding up platform dashboards.
The thing to expect once you do this is that every channel gets smaller. Nobody enjoys the meeting where Meta ROAS goes from 4.2 to 2.6 and Google goes from 6.1 to 3.4. It feels like the tools broke. What broke is the illusion that those two numbers were ever measuring separate things.
Common questions
Which platform is right when Meta and Google both claim a sale?
Both are right about what they observed and both are wrong about the total. The order belongs to one journey that included both touches. Which one gets the credit depends entirely on the model you choose to apply.
Does an attribution tool eliminate double counting?
Within its own reporting, yes, because it counts each order once. It does not change what the ad platforms report inside their own dashboards, and those will keep disagreeing with your tool. That is expected.
Should I still use platform ROAS at all?
Yes, for comparing creatives, audiences, and campaigns inside a single platform, where the same bias applies to everything you are comparing. Not for deciding how to split budget across platforms.
Leave a comment