attribution
Why Your Meta ROAS Does Not Match Shopify (and Which to Trust)
Platform ROAS and store revenue diverge because of attribution windows, view-through, and reporting lag. Here is how to read both.
By the AdBrain team2 min read
Your Meta dashboard says 3.2 ROAS. Shopify says you barely broke even. Neither is lying. They measure different things, over different windows, with different rules for who gets credit, and Meta says so itself. If you do not understand the gap, you will scale a loser or kill a winner.
Meta admits the numbers will not match
This is not a conspiracy; it is documented. Meta states there can be "differences in how different tools detect, define and calculate conversions" (Meta Business Help), and lists the reasons: people-based versus cookie-based measurement across devices, whether a tool credits view-through conversions, ad blockers that stop the pixel firing, and different metric definitions. Same sales, different bookkeeping.
The three biggest reasons they diverge
Attribution window. Meta's default setting is "7-day click or 1-day view" (Meta Business Help). It credits a sale to an ad if the click was up to seven days before purchase, or the view up to one day before. Shopify and most last-click analytics credit the last touch before checkout, which is often not the ad.
View-through credit. Meta can count conversions from people who saw but did not click, then bought later. That is real influence in many cases, but it is invisible to a last-click store report, so it lifts Meta ROAS above Shopify.
Reporting timing. Meta books a conversion on the day of the ad interaction, not the day of purchase. A click today and a purchase in five days lands on today's date in Meta and the purchase date in Shopify, so on any single day they disagree by design.
Which number should you trust?
Neither alone. Use each for the job it is good at.
- Use Meta ROAS to compare ads and ad sets against each other. Under one consistent window, the relative ranking is meaningful, and that is what drives kill and scale calls.
- Use your store and blended ROAS to judge the account. Total revenue over total ad spend, across a real period, is the number that pays your bills. It does not care which platform claims credit, so attribution cannot game it. If Meta claims 3.2 but blended sits at 1.4, the platform is over-crediting sales that would have happened anyway.
Narrowing the gap
You cannot make the two identical, but you can understand and tighten it. Install the Conversions API alongside the pixel; Meta describes it as a connection between "an advertiser's marketing data" and "Meta systems that optimize ad targeting, decrease cost per result and measure outcomes" (Meta for Developers), so it recovers conversions that ad blockers and browser limits would otherwise hide. Then pick one attribution window and keep it, so your own trends stay consistent.
Because this reporting gap can look like a sudden performance drop when it is really a measurement change, rule it out early when results move: why did my Meta ad results drop. And remember which metric belongs at which level: ad vs ad set vs campaign.
Written by the AdBrain team from established Meta and Google media-buying practice, AI-assisted and reviewed for accuracy. We do not invent statistics, results, or case studies; figures are sourced to the platforms' own documentation where cited.