You open Facebook Ads Manager and the campaign reports 50 purchases. You open Google Analytics for the same week, filter to Facebook / paid social, and see 32. Same date range, same campaign, two numbers that are almost 40% apart.
The instinct is to assume something is misconfigured. Usually nothing is. The two systems are answering the same question with different rules, and once you know what the rules are, the gap stops being alarming and starts being useful.
Why don’t Facebook and Google Analytics report the same revenue?
They use different attribution rules. Facebook claims any sale that happens within its attribution window, including view-throughs, using its own logged-in user data. Google Analytics usually credits the last non-direct click. They measure the same sales two different ways, so the totals rarely match.
What is an attribution window, and why is Facebook’s wider?
An attribution window is the length of time after seeing or clicking an ad during which a later purchase still gets credited to that ad.
Facebook’s default is 7-day click, 1-day view. If someone clicks your ad on Monday and buys on Sunday, Facebook counts it. Google Analytics’ standard reporting is built around the session that actually contained the conversion, or the last campaign that drove a click before it. A purchase six days after the click, arriving through a Google search, is a Google Analytics sale and a Facebook sale at the same time.
Nobody is wrong. The same purchase is sitting in both reports.
What are view-through conversions?
A view-through conversion is a sale credited to an ad the person saw but never clicked.
This is often the single largest source of the gap. Facebook will count someone who scrolled past your video ad, did nothing, and then bought two days later after Googling your brand. Google Analytics has no idea that Facebook impression ever happened, so it credits Google. If your campaign runs a lot of cheap video views, expect Facebook’s number to run well above everything else.
Why do the two platforms disagree on where a visit came from?
Facebook identifies users through its own login; Google Analytics reads the last non-direct referral and any UTM tags on the link.
If your ad links don’t carry UTM parameters, Google Analytics often can’t tell the visit came from paid social at all. It may bucket those users as “direct” or lump them into organic social. Facebook, meanwhile, matched that person to their account the moment they landed. Two tracking systems, two completely different ways of recognizing the same visitor.
Which is the cross-device problem?
Someone sees your ad on their phone, then buys later on their laptop.
Facebook stitches those two devices together because the person is logged in on both. Google Analytics, without user-ID tracking set up, sees two unrelated visitors and breaks the chain. The phone impression and the laptop purchase never get connected. This alone can account for a large share of the discrepancy for any product people research on mobile and buy on desktop.
Which number should you actually believe?
Neither one as gospel. Both are estimates built on assumptions, and both have an incentive or a blind spot baked in.
Facebook is grading its own homework: its window is generous, it counts views, and it benefits from looking effective. Google Analytics is more conservative but misses anything without a clean click trail. The honest position is that your true number is usually somewhere between them, and the only way to know where is to check both against something neither one controls.
What should you do about it?
Pick one source of truth and measure everything against it. Your payment processor or CRM knows exactly how many orders you got and what they were worth. That is the real number.
From there:
- Use platform numbers for direction, not accounting. Facebook’s reported ROAS is fine for spotting which creative is pulling ahead. It is not fine for telling your accountant how much revenue the channel produced.
- Tag every ad link with UTM parameters. This is the cheapest fix and it closes a real part of the Google Analytics gap immediately.
- Watch the trend, not the absolute. If Facebook’s number is consistently 1.4x your CRM’s count, that ratio is the useful thing. A stable gap is a calibration you can work with. A gap that suddenly changes is worth investigating.
- For the question that actually matters, run a holdout. Neither dashboard can tell you what would have happened without the ads. Only an incrementality test can, and it’s the only measurement here that isn’t self-reported.
The takeaway
The mismatch between Facebook and Google Analytics isn’t a bug to be fixed. It’s the predictable result of two systems using different windows, different definitions of a conversion, and different ways of recognizing a person.
Reconcile both against your own order data, treat the platform numbers as directional, and remember that the deeper problem underneath all of this is the attribution problem: every one of these tools is guessing at credit, and none of them can tell you what your marketing actually caused.