Meta, Shopify and GA4 never show the same sales number. Which one is right?
Each tool counts a different thing. What Meta, Shopify and GA4 actually measure, why they never match, and which number to use for which decision.
None of them is lying. They're answering different questions. The mistake is using one tool's number for a decision it can't answer.
What each one counts
Meta Ads Manager counts purchases it can connect to someone who clicked or saw your ad, inside its attribution window. It can give credit to a sale that would have happened anyway, and with view-through it counts people who only saw the ad.
Shopify counts orders placed in the store, from every source: ads, organic, WhatsApp, repeat buyers. Unless you filter, it also includes orders later cancelled, voided or returned.
GA4 counts sessions that end in a purchase it can see. Ad blockers, cookie consent, in-app browsers and app-to-web jumps all hide some of them, so it usually shows the lowest number.
Which number for which decision
| Decision | Use |
|---|---|
| Which ad or ad set to scale or cut | Meta, compared within Meta |
| How much the business really sold | Shopify, net of cancelled and returned |
| Whether ads are paying back | Delivered revenue (Shopify / courier) vs total ad spend |
| Which landing page converts better | GA4 or your own site tracking, same tool both sides |
Three checks before trusting any of them
- Same window, same definition. Compare the same dates and decide whether "purchase" means placed, paid or delivered.
- Is the signal clean? If Meta's purchase event fires on orders that later get voided, Meta optimises toward the wrong buyers.
- Look for halo sales. People click an ad for product A and buy product Z. Meta credits the ad; your product report credits Z. Both are true.
The skill isn't picking the "right" tool. It's knowing how much to trust each one for the decision in front of you.
