Meta says 4.8×. Your bank says 2.7×. We tell you which.
The ROAS Meta reports in its dashboard is almost always higher than the ROAS the campaign actually drove. We reconcile against your store data (Shopify, Stripe, or a flat-file export) and tell you the number you should be quoting your client.
Above: the True ROAS panel for an anonymized real account. Math is the same for every account, just the numbers change.
Meta's reported ROAS is the wrong number, and Meta has good reasons.
Meta's pixel attributes conversions to whatever campaign last touched the user, within the configured attribution window. The default is 7-day click + 1-day view. That window captures revenue Meta sometimes drove and revenue it sometimes didn't, equally.
On top of that, Meta double-counts conversions touched by multiple ads in the same account. A user who saw two of your ads and converted gets credit assigned to whichever ad's pixel fired most recently. The total dashboard number can exceed your actual paid revenue by a wide margin. On the broad Advantage+ campaigns we've reconciled so far, the gap has run from roughly 60% to over 100%.
None of this is Meta lying. It's an attribution choice that biases toward "Meta gets credit when uncertain." If you're trying to grow ad spend, that bias is mostly fine. If you're trying to defend a retainer in a QBR, it's an existential problem.
Worked example, real account, anonymized.
The math is dull on purpose. Boring math is auditable math. Here's how we got the 2.7× number for the example account we use on the home page.
What True ROAS is not.
It is not multi-touch attribution. We don't try to weight first touches versus last touches, model decay curves, or run any of the heavier MTA tooling that products like Northbeam and Hyros built whole companies around. If you need that, you need them.
It is not a full incrementality test. The right way to measure true incrementality is a geo-holdout or a brand-search lift study. True ROAS just gives you the closest honest version of "what did Meta actually drive in confirmed revenue this week." It's a much better number than Meta's, but it's still attribution math, not causal inference.
It is not a replacement for your finance team's revenue numbers. If your CFO needs a single source of truth for revenue, that's still Shopify or Stripe. We just give you the Meta-attributable slice of those numbers.
Related guide: Protecting multiple client accounts →
See the real number for your accounts.
Connect Meta and one revenue source (Shopify or Stripe). True ROAS computes on the next sync. One month, no card.