Meta says your campaign drove 100 purchases. GA4 says 60. Your first instinct is that one of them is broken. Usually neither is. They are answering different questions with different rules, and a gap is normal. The skill is knowing how big a gap is normal, because past a certain point the mismatch stops being methodology and starts being broken tracking.
The four reasons the numbers never match
- Different attribution rules. Meta takes credit for view-through conversions and 7-day clicks. GA4 is mostly last-click and never saw the view. Someone who saw your ad, did not click, and bought through Google search the next day counts for Meta and not for your Facebook traffic in GA4.
- Different counting windows. Meta reports the conversion on the day of the ad interaction. GA4 reports it on the day it happened. The same purchase can land on different dates in each tool, so day-by-day comparisons look worse than they are.
- Lost signals in the middle. iOS privacy, ad blockers, and cookie restrictions hit each tool differently. GA4 loses sessions to blocked tags and stripped UTMs. Meta models around some losses and not others.
- Modeled vs recorded data. Meta fills gaps with modeled conversions. GA4 only counts what its own tag saw. One estimates, one records, and they will never agree to the decimal.
How big a gap is normal?
As a rough rule, GA4 showing 30 to 50% fewer Facebook-attributed conversions than Meta claims is common and not by itself alarming. What matters more than the size of the gap is its stability. A store that always runs at a 40% gap has a methodology difference. A store whose gap was 40% for six months and suddenly jumps to 75% has a tracking problem, because methodology does not change overnight.
That is the practical takeaway: stop trying to make the numbers match and start watching the gap itself. When the gap moves sharply, something broke. Usually it is a pixel or tag that stopped firing, a consent banner update, or a site change, the same suspects covered in how to tell if your Meta pixel is broken and what breaks tracking after a website migration.
Which number should you trust?
Neither, on its own. For money decisions, anchor on your backend: Shopify orders, your CRM, your payment processor. That is recorded revenue, not modeled. Then use Meta's numbers to compare campaigns against each other (its relative signal is useful even when its absolute totals are inflated) and use GA4 to understand the full path across channels.
One more check worth doing quarterly: add up what every platform claims it drove and compare the total to real revenue. If the platforms together claim more than you actually made, the overlap tells you how much double-crediting you are paying for.
Make the comparison trustworthy first
Every comparison above assumes both tools are actually recording. A broken purchase event, a weak Event Match Quality score, or a dead GA4 tag turns this analysis into fiction. Verify the plumbing before you argue about attribution, and keep watching it afterward, because tracking does not stay fixed on its own.
Stop finding out about broken tracking from your client.
Taglert monitors your pixels and conversion tracking 24/7 and alerts you the moment something breaks. 7-day free trial, no credit card.
Start your free trial