Why does Meta report different sales than Shopify?
Meta and Shopify disagree because they are measuring two different things. Meta's Ads Manager reports conversions inside its own attribution model, built from pixel and Conversions API (CAPI, the tool that sends purchase events from your store to Meta) signals inside a short time window. Shopify reports orders it actually recorded. The gap is structural, not a tracking error, and it widens because the same sale can get claimed by Meta, Google, and TikTok at once. Peer-reviewed field experiments show platform numbers overstate the sales ads truly caused. Your blended return on ad spend (ROAS, revenue divided by ad spend), pulled from your own ledger, is the number to run the business on.
- Meta counts conversions inside its own attribution window. Shopify counts orders it actually recorded. That mismatch is the whole disagreement.
- The gap is structural, not a bug in your setup. Expect it, don't chase it to zero.
- The same order can be claimed by Meta, Google, and TikTok at once (double counting), which inflates every platform's reported ROAS.
- Peer-reviewed field experiments show platform-attributed conversions overstate the true sales ads caused, because delivery reaches people already likely to buy.
- Blended ROAS, total store revenue divided by total ad spend, is the one number nobody can inflate. Treat it as the operating number and the dashboard as a signal.
What is Meta actually counting when it reports a conversion?
Picture two screens open side by side. Ads Manager says twelve purchases this week. Shopify's order list says nine. Nobody edited a setting.
Meta's number comes from its own attribution model: a purchase event, arriving through the pixel or Conversions API, that Meta decides to credit to an ad it served, inside a window it defines. It is Meta grading its own homework, using rules Meta wrote.
That is not dishonest. It is simply a different question than "how many orders did the store actually process." Ads Manager answers "what can I credit myself for." Shopify answers "what happened."
What is Shopify actually counting when it reports a sale?
Shopify's number is closer to ground truth. It logs an order when a customer completes checkout on your store, full stop. There is no attribution model deciding whether an ad deserves the credit.
That simplicity is the point. Shopify isn't trying to explain why the sale happened. It's recording that it happened. This is why operators instinctively trust it more, even before they can explain why.
The tradeoff: Shopify's own default marketing-channel labels still lean last-click, crediting whatever touchpoint came last. It is more honest about volume than it is about cause.
Why does the same order get counted by three different platforms?
Say a customer clicks a Meta ad on Monday, sees a Google retargeting ad Tuesday, then buys on Wednesday after a TikTok video. One order happened. Three dashboards.
Meta's attribution window claims the sale. So does Google's. So does TikTok's, if its own click or view falls inside its window. Each platform is running its own accounting, blind to what the others counted. Nobody is lying, but nobody is subtracting either.
Add up "sales" across all three platforms and you get a number bigger than your store actually made. This is double counting, and it is baked into how attribution works, not a bug in your account.
Is Meta's number wrong, or just measuring something else?
Both. It measures something real, an ad it can link to a purchase, and it systematically overstates what that ad actually caused.
Peer-reviewed field experiments settle this. Gordon, Zettelmeyer, Bhargava and Chapsky (Marketing Science, 2019) ran 15 real Facebook experiments and found attribution-style measurement off the true, randomized-trial number by a factor of three in half the studies. A larger 2023 follow-up, across 663 experiments, found the same pattern held. Blake, Nosko and Tadelis (Econometrica, 2015) found eBay's branded search ads produced no measurable lift at all once tested properly.
The mechanism is simple: the delivery algorithm shows your ad to people already about to buy, then the dashboard counts their purchase as caused by the ad. That is targeting-induced selection, and it is why the platform number runs hot.
How do I tell which number to trust?
Run this yourself before trusting either dashboard blindly. Three checks, in order.
First, compare direction, not size. If Shopify revenue is flat or rising while Meta's reported ROAS swings hard, the swing is likely a counting-rule change, not your ads working differently.
Second, add up every platform's claimed conversions for one week and compare that sum to Shopify's total orders for the same week. If the sum is meaningfully higher, you are looking at double counting, not real incremental volume.
Third, check whether your Conversions API and Shopify pixel are both firing correctly. A quiet setup change can shrink Meta's visible number without your actual sales moving at all. When clicks are healthy but sales are not, the leak is usually past the ad, which is its own read in why your ads get clicks but no sales.
Why did the gap change in 2026?
Meta changed its own counting rules twice this year, and both changes move the number without touching your ads. On January 12, 2026, Meta removed the 7-day and 28-day view-through attribution windows from its reporting, leaving only a 1-day window. On March 3, 2026, Meta redefined a "click" to mean a real link click only, moving likes, comments, saves, and short video views into a separate "engage-through" column.
Shopify also changed its own default. On January 13, 2026, its built-in Meta pixel setting switched to "Optimized" sharing, which can quietly reduce signal unless you set it back to "Always on."
If your Meta ROAS moved this year and Shopify revenue did not, check these three dates before you touch your budget. The full read on that is in why your Facebook results dropped in early 2026.
What should I actually watch, week to week?
Make blended ROAS, or MER (marketing efficiency ratio: total revenue divided by total ad spend across every channel), your weekly operating number. It comes from your own ledger, so no platform can inflate it in its own favor.
Demote the platform dashboard to a signal for in-platform decisions only, which ad, which audience, which creative. Never let it override what your own revenue is doing.
Be honest about its limit too. Blended ROAS leans last-click and can undercredit ads that build demand rather than close it directly. It is a floor you can trust, not a precise verdict on every campaign.
The two numbers are not competing measurements of the same fact. They are honest answers to two different questions: what can this platform credit itself for, and what did my store actually sell. Once you see that, the disagreement stops being confusing. It becomes expected, and manageable.
If your dashboard ROAS looks fine while your customer acquisition cost keeps climbing, or you are trying to find your real return, the companion piece on whether your Facebook ROAS is even real is the next step. The full diagnostic lives inside the Realignment Protocol at the Hub.
Frequently asked questions
Is my Facebook ROAS even real?
Partly. It's a real measurement of what Meta can link to your ads inside its own window, but peer-reviewed research shows it overstates the sales those ads actually caused. Treat it as directionally useful for in-platform decisions, not as a fact about your true return. Your blended ROAS from Shopify is the closer-to-real number.
Why do my ads get clicks but no sales?
Clicks measure attention, not intent to buy, and Meta's click definition itself changed in March 2026 to count only real link clicks. A high click count with low sales often points to a mismatch between what the ad promised and what the buyer found on the landing page, not a tracking failure.
Why is my CAC so high if Meta says ROAS is good?
Customer acquisition cost (CAC) draws from your total spend and your total new customers, both real numbers from your own systems. A healthy platform ROAS can hide a rising CAC if the platform is counting sales it didn't truly cause, or if repeat customers are being counted as new acquisitions.
Should I turn off Meta ads if Shopify sales look flat?
Not immediately. First check whether the flatness lines up with the January or March 2026 reporting changes, or a pixel setting reverting to Shopify's new default. If Shopify revenue itself is flat, not just Meta's reported number, that's a real signal worth testing with a short holdout before you cut spend.
What is CAPI and does fixing it fix the mismatch?
The Conversions API (CAPI) is the method that sends purchase events from your store server directly to Meta, instead of relying only on browser tracking. Fixing it improves signal quality and can narrow the gap, but it won't close it entirely, because Meta and Shopify will still be counting different things by design.
Related reading: to find your real return, see is my Facebook ROAS even real. If the drop landed in early 2026, see why your results dropped. For the framework this sits inside, visit the Hub.