Writing

Why Every Platform Shows a Different ROAS for the Same Campaign

Meta says 3.2x. Google says 2.1x. Your actual blended number is neither. Here's why every platform can be "right" and still disagree, and what actually tells you which channel deserves the next dollar.

August 20, 2026 · 4 min read

Why three platforms can each report >1.0x ROAS on the same $1,000 in real orders

This isn't a bug in any one platform's math. Meta's default attribution window is 7-day click, 1-day view. Google Ads runs a data-driven model across a window that can stretch to roughly 30 days. Put the same customer journey through both windows — a Meta ad seen Monday, a Google search click Wednesday, a purchase Friday — and both platforms will credit themselves for the same sale. Each platform is reporting exactly what it can see inside its own attribution rules. Neither is wrong. They're just answering slightly different questions and presenting the answer as if it's the whole picture.

Multiply that across every channel you run, and you get the familiar result: add up what each platform claims, and the total credited revenue is higher than your store's actual revenue for the period. Every platform is telling the truth about its own slice. Nobody's dashboard is built to tell you the truth about the whole.

Blended ROAS: the necessary first fix

You already know this term, so the definition is short: blended ROAS is total revenue across your whole business, divided by total ad spend across every channel — not what any single platform's dashboard reports. It's the fastest gut-check for whether you're profitable overall, and it's immune to the double-counting problem above, because it never asks any platform to self-report attribution in the first place.

If you're not already tracking blended ROAS as your headline number, that's the first fix, full stop, before anything else in this article. It's the floor, not the ceiling.

What blended ROAS still can't tell you

Here's where most existing advice on this topic stops — and where it stops short of the actual question. Blended ROAS answers "are we profitable overall." It does not answer "should I move next week's budget from Google to Meta," because it's a single aggregate number with no channel-level breakdown baked in. You can be blended-profitable and still be badly misallocating spend between two channels — you just can't see it from one number.

To answer the actual budget question, you need to know, for real individual orders, which channel actually drove them — not which channel claims them. That's a fundamentally different problem than computing a ratio, and it's the one platform dashboards are structurally unequipped to solve, because none of them can see outside their own attribution window.

How Tutti resolves order-level credit with a visible confidence score

Tutti doesn't ask any platform to self-report and doesn't just widen the aggregate. It looks at the real evidence behind each individual order — a captured ad click, your store's own first-party session record, timing and landing-page signals that corroborate a specific campaign — and assigns that order to a channel based on how strong that evidence actually is, with a confidence score attached so you know how much to trust it. When the evidence doesn't clearly point anywhere, it says so honestly instead of forcing a pick. The mechanics are laid out in full on how attribution works.

The result is a real answer to the actual question: not just "we're profitable," but "this channel drove this much of it, and here's how sure we are."

A quick gut-check for your own numbers this week

  • Add up what each ad platform individually claims as attributed revenue for last week. Compare that sum to your store's actual revenue for the same week. The gap is your double-counting.
  • Calculate your true blended ROAS (total revenue ÷ total ad spend) and compare it to what any single platform reports. If a platform's number is meaningfully higher than your blended number, that platform is likely over-crediting itself on multi-touch journeys.
  • Pick one recent high-value order and try to trace it by hand — check the customer's session data, the referring campaign, the timing. That exercise is exactly what a confidence-scored system does automatically for every order, not just the one you're curious about.

For the mechanics behind why Meta specifically disagrees with your store, see Why Your Facebook Ads Manager and Shopify Revenue Never Match; for the GA4 side, see GA4 Attribution Is Structurally Wrong for Shopify Stores. And if what you actually want is a plain-language walkthrough of how a multi-touch order gets resolved, see Multi-Touch Attribution Without a Data Team.


Stop averaging platform ROAS by hand. See a real, order-level answer for your own store.