The Ecomm Analyst

Growing stores, one honest take at a time.

Why is Meta’s reported ROAS inaccurate?

Meta’s reported ROAS is inaccurate because it measures something broader than the sales your ads caused. It credits Meta with any purchase that happens inside its attribution windows after a click, an engagement, or a plain view, including purchases another channel also claims, purchases from customers who were already going to buy, and conversions Meta models statistically for people it cannot observe directly. None of that is fraud. It is a definition that will reliably produce a bigger number than your store’s revenue supports.

What does Meta count as a conversion now?

The rules changed twice this year, which is part of why so many accounts look different than they did last fall. In January 2026 Meta removed the seven-day and 28-day view windows. In March it narrowed what counts as a click, so only real link clicks earn click-through credit. Likes, saves, comments, and video views of five seconds or more moved into a new bucket called engage-through attribution.

The default for a conversion campaign is now seven days after a link click, one day after an engagement, and one day after a view. A purchase that lands in any of those windows counts as a Meta conversion at full value. If your reported numbers jumped or dropped this spring without any change in what you were running, the definitions moved, not the performance.

Why does Meta report more revenue than Shopify?

Four reasons usually stack. The first is overlap. A customer who sees a Meta ad, clicks a Google ad, and opens your email before buying gets counted by all three platforms, each at full order value. The second is view-through and engage-through credit, which assigns purchases to people who scrolled past or tapped a heart and never reached your site from the ad. The third is modeled conversions, where Meta estimates purchases for users who opted out of tracking rather than observing them. The fourth is returning customers. Meta counts a repeat buyer the same as a new one, so retargeting campaigns aimed at your existing list look far better than the new revenue they produce.

There is a value problem on top of the counting problem. The revenue Meta reports is whatever purchase value your pixel or Conversions API sent, which may include shipping and tax depending on your setup, and it does not net out refunds. A store with a high return rate can see a gap open up even when the conversion counts look close.

I walked through the arithmetic of a real gap in why Meta says you made $50k and Shopify says you made $22k, and the pattern there is typical rather than extreme.

Can Meta’s ROAS ever be too low?

Yes, and it is worth remembering when you are tempted to treat the column as pure inflation. A customer who clicks on their phone and buys on a laptop nine days later falls outside the click window. Someone who watched three of your videos over a month and then searched your brand name gets credited to Google. For products with long consideration cycles, Meta can undercount its contribution at the top of the funnel while overcounting it on retargeting. The error runs in both directions, just not evenly.

What should you use instead?

An attribution source that starts from your actual orders. ThoughtMetric, which sponsors this blog, pulls your Meta spend and matches it against orders that actually landed in your store, so ROAS is calculated on revenue you banked rather than revenue Meta believes it influenced. Any independent tool with first-party tracking will do some version of this, and the gap between its number and Meta’s is useful information in itself. Expect the independent number to come in lower, often well lower on retargeting and closer on prospecting. If it comes in higher, check your tracking before you celebrate.

Above that, track MER, total revenue divided by total ad spend, because it cannot be double-counted. And when a big budget decision hangs on Meta’s contribution, run a holdout. Pausing spend in a set of regions for two weeks tells you more than any dashboard.

Common questions

Should I change Meta’s attribution setting to fix this? Only if you understand what it does. The setting changes what Meta optimizes toward, not just what it reports. Moving to one-day click will shrink the reported numbers and can also change which buyers the algorithm goes after. For reporting, use the Compare Attribution Settings columns in Ads Manager instead.

Does the Conversions API make the numbers accurate? It makes them more complete, which is a different thing. CAPI helps Meta see purchases its browser pixel misses, so it improves optimization. It does not stop Meta from crediting itself for sales other channels drove.

Is Meta’s ROAS useless then? No. It is fine for comparing ads and audiences inside Meta, where every row shares the same rules. It just cannot tell you what Meta is worth relative to Google, email, or nothing at all.

Leave a comment

Navigation

About

Six years in e-commerce. Three Shopify stores across different niches, one scaled past seven figures. I’ve tested hundreds of ad creatives, obsessed over email flows, and learned more from my failures than my wins.

Now I focus on conversion optimization, retention marketing, and the analytics behind it all. This blog is where I share what actually works, backed by real numbers. No fluff, no guru energy.