Performance and Paid Media

GA4 vs your ad platforms: why the numbers never match, and which one to trust

by Emil Joseph | Jul 5, 2026

Your GA4 and your ad platform numbers will never match. Stop trying to reconcile them to zero, and start deciding which one earns your trust for which job. One sale, claimed by more than one platform One sale. At least two platforms claim it. The same purchase, credited more than once. Mon Tue Wed Thu Meta ad click no purchase yet Organic search click purchase happens META Claims the sale (7-day click) GA4 Credits organic (last touch) GOOGLE ADS Claims any paid click too Add the platforms up and you sell it more than once on paper. One purchase, claimed by more than one platform. This is the core of the mismatch.

That is the whole answer. If you take nothing else from this, take that. The mismatch is not a bug you can fix. It is baked into how these tools are built. Meta, Google Ads and GA4 are counting different things, over different windows, and crediting different channels. Two of them are also grading their own homework. So the goal is not one true number. The goal is knowing which source to look at when you make a decision.

Here is how the pieces fit.

Contents

Why don't GA4 and my ad platforms match?

There is not one reason. There are about six, and they stack.

They count different subjects. Google Ads counts clicks. GA4 counts sessions and events. Those are not the same unit. Google's own help docs spell it out: one person clicking your ad twice in one session is two clicks and one session, and someone who clicks once then returns later via a bookmark is one click and two sessions (Google Ads Help). So the numbers were never going to line up, even before you get to conversions.

They use different attribution models. Since November 2023, GA4's default reporting model is data-driven attribution, and Google removed the old first-click, linear, time-decay and position-based models entirely (Google Analytics guidance, via MarTech). Google Ads, by default, credits the last Google Ads click inside its own conversion window. Meta credits its own click or view inside its window. Same sale, three different owners.

They stamp conversions on different dates. Google Ads reports a conversion on the date of the click or impression. GA4 reports it on the day the conversion actually happened. Google calls this conversion delay, and it alone will make your daily charts disagree (Google Ads Help).

They count view-through and engagement, or they don't. Meta credits conversions from people who saw your ad but never clicked, inside a 1-day view window. GA4 does not do that by default. So Meta will always claim conversions that simply do not exist in your GA4 paid social numbers.

They model the gaps differently. When consent is declined or a user hops devices, both platforms fill in blanks with modelled data, and they model it their own way. GA4 exports observed conversions to Google Ads, and Google Ads then applies its own modelling on top, which is one reason Google Ads can show more than GA4.

They lose different users to privacy. Safari has blocked third-party cookies by default since 2020, and it uses Intelligent Tracking Prevention to shorten cookie life. Ad blockers stop tags firing. Consent banners cut off tracking before it starts. Each platform loses a different slice of people, so each undercounts in its own pattern.

None of that is fixable. It is the design.

The one example that explains the whole mess

Picture one sale.

A customer sees your Meta ad on Monday and clicks. They do not buy. On Thursday they Google your brand, click the organic result, and buy.

Meta claims that sale. It happened inside the 7-day click window, so Meta counts it and uses it to train the campaign. GA4 does not credit Meta. Under its default model it credits the touch that actually closed the visit, which here is organic search. Google Ads, if a paid search click had been involved, would have claimed it too.

One sale. At least two platforms reporting it as theirs.

Now scale that across a month. If you add up every platform's self-reported conversions, you will "sell" the same product one and a half times over on paper. That is where the inflated, too-good-to-be-true blended ROAS comes from. It is not fraud. It is double-counting, and every platform has a commercial reason to keep counting.

GA4 vs Google Ads vs Meta: what each one counts

This is the cheat sheet I keep coming back to.

GA4Google AdsMeta Ads
Core unitSessions and eventsClicks and conversionsImpressions, clicks, conversions
Default attributionData-driven (since Nov 2023)Last Google Ads clickStandard, self-credited
Default window30-day acquisition, 90-day conversionsUp to 90 days after click7-day click, 1-day view, 1-day engage-through
View-through counted?No, not by defaultNot in the default columnYes, 1-day view
Whose side is it on?Neutral refereeSells you Google clicksSells you Meta impressions
Conversion date logicDay conversion happenedDay of click or impressionDay of click or view

The last row is the one that matters most. GA4 is not trying to sell you ad space. That does not make it perfectly accurate, but it does make it the least conflicted witness in the room.

What changed recently, and why the gap got wider

The mismatch is an old headache. What is new is that 2025 and 2026 made it worse, and a lot of teams got caught out.

Meta reclassified what counts as a click. From early 2025, only link clicks count as click-through. Likes, shares, saves and comments moved into a new bucket called engage-through, with a 1-day window. Many advertisers saw their reported click-through conversions drop from March 2026 onwards and panicked. It was not a performance drop. It was a reclassification (Jon Loomer). If you compared that fresh, lower Meta number against a GA4 report that had not moved, the gap looked alarming for no real reason.

Meta cut its longer view windows. On 12 January 2026, Meta removed the 7-day view and 28-day view windows. Some accounts lost a chunk of reported conversions overnight because those conversions now fell outside the shorter windows (Zentric). Again, spend and results did not change. The ruler did.

GA4 quietly changed its default. When Google made data-driven attribution the default in late 2023, it silently reshuffled how credit was split in every account that had not touched the setting. If your historical comparison spans that change, you are comparing two different models and calling it a trend.

Google kept third-party cookies, but that helps less than it sounds. After years of "cookies are dying", Google confirmed in April 2025 that it will not deprecate third-party cookies in Chrome and will not add a standalone consent prompt (OneTrust summary). Good news for Chrome tracking. But Safari and Firefox still block third-party cookies by default, so your Apple traffic keeps leaking regardless. If half your buyers are on iPhones, half your measurement was already shaky before any of the changes above.

The pattern is always the same. A platform changes a definition. Your dashboards move. Your actual business does not. And someone in a meeting asks why the numbers "broke".

What actually happens on real accounts

On live accounts, the gap is rarely a tracking fault. It is usually attribution doing exactly what it was designed to do, and a client comparing two numbers that were never meant to be equal. I have sat in reviews where a founder was ready to cut a channel because "GA4 says it only did 12 sales but Meta says 40". Both were right. Meta was counting views and a 7-day window and crediting itself. GA4 was counting last non-direct sessions. The honest answer was that the channel probably drove somewhere between the two, and the only way to know the real figure was to switch it off in one region and watch what happened to total sales. That test told us more in three weeks than either dashboard had in three months.

So which number should you trust?

Trust depends on the decision. Use the right tool for the job.

Match the source to the decision. That is the whole framework.

For splitting budget across channels, trust GA4, not the platforms. You need one consistent ruler applied to every channel, and you should not let a platform score its own contribution when you are deciding whether to fund it. GA4 is imperfect and it undercounts paid social, but it applies the same logic to everyone. One flawed-but-neutral referee beats three biased scorekeepers.

For optimising inside a platform, trust the platform's own numbers. Meta's algorithm learns from Meta's reported conversions. Google's learns from Google's. If you feed the machine a different number than the one it optimises against, you starve its learning and it delivers worse results. So for creative testing, audience choices and bid decisions, use the in-platform figure. Just do not carry that number into your cross-channel budget model.

For the truth about incrementality, trust neither. Ask a harder question: would this sale have happened anyway? Platforms are terrible at answering that about themselves. Seer Interactive tested Meta's incremental attribution across several accounts and around one million dollars of spend, and found Meta claimed 87% of conversions were incremental, while a GA4 cross-reference put it at 67% (reported by Zentric). That is a 20 percentage point gap in the platform's favour. The only reliable way to settle it is a holdout or geo test, or a media mix model if you have the scale. Turn the channel off somewhere, and watch total revenue, not the dashboard.

That is the framework. GA4 for the budget split. The platform for its own optimisation. A holdout test for the truth. No single dashboard does all three, and any consultant who tells you one number is "the real one" is selling you a story.

How to shrink the gap

You will not close it. You can make it small and predictable, which is enough.

Link GA4 and Google Ads properly, and keep auto-tagging on. Manual UTMs on top of auto-tagging is a classic way to create phantom discrepancies.

Compare like with like. Match the lookback windows on both sides before you compare. In Google Ads, add the "Conversions (by conv. time)" column so it stamps conversions the way GA4 does, and give the platforms 24 to 48 hours to sync before you judge anything (Google Ads Help).

Compare settled periods, not this week. Conversions can land up to 90 days after a click, so this week's numbers are still moving. I compare periods that are at least two weeks old.

Get server-side tracking in. A properly set up Conversions API for Meta and server-side tagging for Google recovers a lot of the conversions that browser tracking now loses to Safari, ad blockers and consent gaps. This is the single highest-value fix for most accounts in 2026.

Then set expectations. Tell your stakeholders, before the meeting, that a 10% to 30% gap between platform and GA4 is normal and healthy. The dangerous number is the one that suddenly jumps with no change in spend. That is your signal to check for a definition change, not a performance problem.

The takeaway is simple. Pick GA4 as your one referee for where the money goes. Let each platform optimise to its own numbers. And when a channel's real worth is on the line, run a holdout test instead of arguing about dashboards.

If your platform reports and your GA4 are telling three different stories and a budget decision is riding on it, that is exactly the kind of mess I untangle. Get in touch and we will agree on one source of truth before your next review.

FAQ

Why does Meta show more conversions than GA4?

Meta counts view-through conversions and credits itself inside a 7-day click and 1-day view window. GA4 does not count view-through by default and credits the touch that closed the visit. Meta is also motivated to claim as much as it can, so it will almost always report the higher number.

Which is more accurate, GA4 or Google Ads?

Neither is fully accurate, but they answer different questions. Google Ads is better for optimising Google campaigns because its algorithm learns from its own data. GA4 is better for comparing channels against each other because it applies one consistent model and is not selling you ad space.

Is a 20% difference between GA4 and my ad platform normal?

Yes. A gap of roughly 10% to 30% is normal and expected, because the platforms count different units over different windows. Worry when the gap suddenly changes with no change in spend, which usually means a platform changed a definition.

Should I add up conversions from all my ad platforms?

No. Each platform credits itself for sales the others also claim, so adding them up double-counts and inflates your ROAS. Use one neutral source such as GA4 for a blended view, and use holdout tests to check real incremental impact.

Did Google kill third-party cookies?

No. In April 2025 Google confirmed it will keep third-party cookies in Chrome and will not add a consent prompt. But Safari and Firefox still block them by default, so cross-site tracking still leaks for a large share of users.

Why do my daily numbers match some weeks and not others?

Google Ads stamps a conversion on the click date while GA4 uses the conversion date, so a purchase that happens days after the click lands on different days in each tool. Comparing settled periods that are two weeks old smooths most of this out.

Related posts