Shopify and Meta count orders differently, so their numbers will never match exactly. Once you understand where the gap comes from, you pick one source of truth and stop steering on conflicting figures.
Shopify says you had ten orders today, Meta claims fourteen. That is not a bug and nobody is lying: the two count sales in a fundamentally different way. Meta counts every purchase an ad touched within a certain window, Shopify counts only what actually got paid. Once you understand where that gap comes from, you stop letting it drive you mad and pick one source of truth.
How does Meta count a sale?
Meta works with attribution: it claims a sale if someone saw or clicked an ad and then bought within a certain window. That window is fairly wide by default, for example a click within seven days or a view within one day. As a result Meta also credits itself with sales that would have happened anyway, or that were actually set in motion by another channel. Meta also has an interest in making itself look as good as possible.
On top of that, one order can be claimed by multiple channels at once. If the customer saw both a Meta ad and a Google ad, both claim that sale. Add up all the platform numbers and you land higher than your actual revenue. That is exactly why platform figures sum to more than what lands in your bank.
How does Shopify count a sale?
Shopify looks at the other side: what actually got paid. Every order in Shopify is real money that came in, with no assumptions about who brought the customer. That makes Shopify reliable for your total revenue, but weak on attribution. Shopify does not know whether that customer came from your Meta ad, a newsletter, a friend's recommendation or simply because they already knew your brand.
Shopify's built-in source reporting helps only up to a point, because many customer journeys run across multiple devices and sessions. Someone sees your ad on their phone, buys later on their laptop, and the link is gone. So Shopify knows perfectly what was sold, but not always why. That is the mirror image of Meta, which knows why but overclaims.
Meta knows why but overclaims, Shopify knows how much but not why.
Why is a gap actually normal?
Once you grasp that the two systems answer a different question, the confusion disappears. Meta answers: which sales did an ad touch within this window. Shopify answers: how much money actually came in. Those two answers should not be equal, because they are different questions. Chasing the gap down to the euro is wasted energy. What matters is knowing which number you use for what.
It only becomes a problem when you steer across the two. You raise budget on the flattering Meta figures while your Shopify revenue does not move. Or you cut a campaign because Shopify shows little attribution, while that campaign did create demand. The solution is not more measurement, but choosing more clearly which number leads for what.
How do you build one source of truth?
Pick Shopify, or your accounting, as truth for your total revenue and margin. That is the money that actually comes in and that you run your business on. Do not use Meta's platform figures as absolute revenue, but as a comparison tool between campaigns, creatives and audiences within that same platform. Meta is good at relative comparison: which ad performs better than another. It is weak at absolute counting.
- Total revenue and margin: led by Shopify or your accounting, because that is real money.
- Comparing between campaigns: use Meta, because within the same platform the measurement is consistent.
- Effect of your ads on the whole: check whether your total revenue moves with your total spend, not individual claims.
- Server-side tracking and clean UTMs: improve signal quality, but never fully remove the gap.
That is how we work at AdSplicit too. With 15M+ in profitable ad spend across 65+ brands we steer on the revenue that actually comes in, and use the platform figures to choose what we scale. We do not resolve the gap between Shopify and Meta, we give each number its own role. That is calmer, and it stops you steering on noise. In practice it works like this: once a week you put your total Shopify revenue next to your total spend, and that ratio is your compass. Meta's individual claims you use only to choose within the platform which creative you scale and which you turn off.
Conclusion
Shopify and Meta will never match exactly, because they answer different questions: what came in versus which sales an ad touched. Pick your total revenue as the source of truth, use the platform figures to compare campaigns and stop steering on conflicting numbers. Want to know how to set up one source of truth in your account, or where you are steering on noise? Book a call and we will gladly look at it with you.
Frequently asked questions
Which number should I believe, Shopify or Meta?
Does server-side tracking fix the gap?
Why do Meta and Google together claim more than my revenue?
Want to tackle a reliable source of truth for your numbers?
Book a free audit call. Our team looks at your account and your creatives and tells you exactly what can improve, specific to your situation.