Last week, a brand running Facebook and Google Ads checked their dashboards. Facebook reported $40k in attributed revenue. Google reported $35k. Combined platform total: $75k. Their Shopify backend showed $52k. The math is off by $23k, and nobody can explain it.
This is not a tracking error. It is not a Shopify bug. It is how platform attribution is supposed to work, and it is systematically misleading every advertiser who relies on it.
Attribution double-counting makes total reported revenue exceed actual revenue
Why the numbers don't match
Each ad platform operates inside its own measurement bubble. Facebook can see Facebook. Google can see Google. Neither platform can see the other, and neither can see your full customer journey.
When a customer sees a Facebook ad on Monday, clicks a Google search result on Wednesday, and buys on Friday, both platforms claim that conversion. Facebook credits the Monday impression (within its 1-day view or 7-day click window). Google credits the Wednesday click (within its 30-day click window). Your Shopify backend records one sale. Your dashboards record two.
This is called attribution overlap, and it is structural. It is not a mistake. It is how each platform is designed to report, and each platform has a financial incentive to claim as many conversions as possible. This is why platform attribution is self-serving.
The three layers of the problem
Layer one: platforms count conversions they did not cause. Retargeting campaigns target people who already visited your site. Those people have high organic purchase intent. When they convert, the ad gets the credit, whether or not it influenced the decision. On a broad retargeting audience, the organic conversion rate (without any ads) is often 2-4% per week. Meta will attribute all of those conversions to your campaign.
Layer two: attribution windows are generous by design. Meta's default window is 7 days after a click or 1 day after an impression. Google Ads defaults to 30 days after a click. A user who saw your display ad three weeks ago and just bought gets attributed to that campaign, even if they visited your site six times organically in the meantime and never thought about the ad again.
Layer three: platforms only see themselves. A customer's actual journey might touch Instagram, a podcast mention, a Google search, an email, and a direct visit. Each platform sees only its own touchpoint and reports as if that touchpoint is doing most of the work.
What your real revenue looks like
Your backend is the only source of truth. Shopify, your payment processor, your CRM: these record what actually happened: a sale occurred, a customer paid, money moved. That number is not inflated by attribution windows or cross-platform double-counting.
If your backend shows $52k and your platforms claim $75k, the $23k gap is attribution inflation. Your advertising may still be worth running, but you are not generating $75k in ad-driven revenue. You are generating $52k in total revenue, some portion of which was influenced by your ads.
The question you actually need to answer is: how much of that $52k would have happened without the advertising?
The MER check
Marketing Efficiency Ratio (MER) is total revenue divided by total ad spend, with no attribution involved.
If you spent $15k across Facebook and Google last week and your backend shows $52k in revenue, your MER is 3.5x. That means for every dollar you spent on advertising, your business generated $3.50 in revenue. Whether Facebook or Google "caused" which sale is irrelevant to this calculation.
MER is not a perfect metric. It includes organic revenue in the numerator, so it overstates the contribution of advertising. But it is consistent, platform-agnostic, and does not double-count. If your MER improves when you increase ad spend and deteriorates when you cut it, your advertising is probably working. If your MER stays flat regardless of what you spend, you may have a problem no dashboard will tell you about.
What to do about it
Use your backend revenue as the north star for business health. Platform dashboards are input data, not output truth.
Use MER as your primary cross-channel efficiency metric. Track it weekly over rolling four-week windows. For a deeper breakdown of why ROAS misleads and what to track instead, that article covers the mechanics in detail. Watch how it responds to spend changes. If you scale Facebook spend by 30% and MER does not move over the following three weeks, that is meaningful information.
Use platform-reported ROAS for within-platform decisions only. Comparing ad sets within Facebook using Facebook's ROAS is reasonable. Using Facebook ROAS to decide whether to move budget from Facebook to Google is not, because the two numbers are calculated differently and will almost always both look good.
Run incrementality tests on your top channels. A holdout test on your retargeting audience, or a geo experiment on your top spending channel, will tell you what your dashboards cannot: how much revenue actually disappears when the ads stop.