Skip to content
← Back to writing
Tracking·October 27, 2026·5 min read

Why GA4, Google Ads and Meta never agree on conversions

Add up the conversions Google Ads claims for last week and the conversions Meta claims. Compare the total to GA4. Then compare all of it to the orders or leads that reached your own system.

Four numbers, no two the same. The ad platforms together usually claim more conversions than happened.

Nothing has to be broken for this to be true. Each system answers a slightly different question under its own rules. The useful work is separating the differences that are rules from the differences that are mistakes.

Each ad platform only sees its own ads

Google Ads knows about clicks on Google ads. Meta knows about clicks and views of Meta ads. Neither one knows the other exists.

So when one person clicks a Meta ad on Monday, clicks a Google search ad on Wednesday and buys on Thursday, both platforms report one conversion. Both are right by their own rules. One sale happened.

GA4 sees every channel, so it has to decide how to share the credit. A sale that two ad platforms each claim in full appears in GA4 once. The platform totals are not meant to be added together, and adding them is a common way for a marketing report to overstate results.

The windows are different

Each platform decides how long after an ad it will still take credit.

Google Ads counts a conversion for 30 days after a click unless you change the setting. Meta's default counts for seven days after a click and one day after someone saw an ad without clicking it.

That last part matters. A person who scrolled past an ad and bought the next day through a search counts as a Meta conversion. GA4 has no record of that view at all. View-based conversions are one of the main reasons Meta's totals run above what GA4 shows for the same campaigns.

The dates are different

This one causes more arguments in weekly reporting than any other.

GA4 records a conversion on the day it happened. Google Ads, in its standard Conversions column, records it on the day of the click that led to it.

A click on the 28th that converts on the 3rd lands in last month for Google Ads and in this month for GA4. Last week's Google Ads numbers also keep growing for weeks, as late conversions are added back to the day of the click. If a report was pulled on Monday and someone checks it on Friday, the Google Ads number has changed and the GA4 number has not.

Google Ads has a second set of columns that report by conversion time. Use those when you compare against GA4.

The counting rules are different

A person who submits the same lead form three times is one lead to your sales team. Whether that is one conversion or three depends on a setting. Google Ads lets you count every conversion or only one per click. GA4 lets you count a key event once per event or once per session. Set differently, the two diverge on every repeat.

Each platform fills gaps its own way

Some visitors cannot be tracked. They refused consent, their browser blocked the tag, or they clicked on a phone and bought on a laptop.

Every system loses some of those people, and each one estimates what it missed using its own model. The estimates are part of the totals you see. You cannot audit them, and they will not match each other.

Which gaps you can close

Cause of the gapKindWhat to do
Tags fire on different triggersMistakeFire GA4 and the ad tags from one event
The same conversion recorded twiceMistakeSend an order ID and count a lead once
Each platform claims the whole saleRuleDo not add platform totals together
Click date against conversion dateRuleCompare on the conversion-time columns
Different windows and view creditRuleWrite the settings down and leave them fixed
Estimated conversionsRuleCheck totals against your own system

Decide which number is for what

Trying to make the systems match is wasted effort. Decide what each one is for.

The ad platform's number. Use it to manage that platform. Its bidding runs on its own conversions, and comparing two campaigns inside Google Ads on Google's numbers is fair, because both are measured the same way.

GA4, or a warehouse table built from it. Use it to compare channels with each other. It is the one place where a sale is counted once across all of them.

Your own system. This is the total. Orders in the order system, leads in the CRM. If the tracked numbers drift away from it, the tracking is what changed.

Then remove the mistakes. Fire the GA4 event and every ad platform tag from the same trigger, so they at least agree on what happened and when. Send an order ID with every purchase. Set the counting rules on purpose.

The way to find those mistakes is a tag audit.

What is left after that is the gap the rules create. It should be steady from month to month. When it suddenly widens, something changed on the site, and that is the signal to look at the tags.

Write the rules down next to the report: which window, which date, which counting setting. The next time someone asks why the numbers differ, the answer is a paragraph that already exists.

Free Checklist

Tag Audit Checklist

20 Checks Before You Trust the Numbers

Run this against your own site before you compare GA4 to an ad platform again. Each item is a yes or a no. Every no is a reason the numbers disagree.

Email only. No other fields.

If the gap between your platforms is bigger than the rules explain, a tag audit finds the part that is a mistake. See website tracking →

Related reading

← Back to writing