Google Ads conversions vs GA4: why the numbers differ
Google Ads and GA4 count conversions differently by design: Google Ads credits a conversion to the date of the ad click and can include view-through, while GA4 credits the date the event happened and only sees visits. Expect the two to differ. A gap in the tens of percent, or GA4 above Google Ads on click driven campaigns, is a real defect.
Updated
The symptom: same campaign, two counts
Google Ads and GA4 report different conversion counts for the same campaign over the same dates. The gap is not stable: it widens toward the end of a period, narrows a few days later, and behaves differently on Search than on Performance Max or Demand Gen. Usually Google Ads is higher. Sometimes GA4 is.
Two things to hold on to before you start. These systems are not designed to agree, and an audit that ends with them matching exactly has probably broken something. But a persistent gap in the tens of percent, or GA4 sitting above Google Ads on a click driven campaign, is a defect worth finding.
Why Google Ads and GA4 differ
The date a conversion is credited to. This is usually the largest single factor. Google Ads credits a conversion back to the date and time of the ad click that led to it. GA4 credits the event to the date it occurred. A click on the 28th that converts on the 3rd sits on the 28th in Google Ads and the 3rd in GA4. For short ranges, and especially for recent days, the two reports describe different populations. It also means Google Ads figures for recent dates keep climbing for days afterward as conversions arrive and are backdated.
Attribution scope. GA4 attributes across every channel it can observe. Google Ads reports what it can attribute to Google Ads. A purchase where the customer clicked an ad and later returned through organic search may go to organic in GA4 and to Google Ads in Google Ads. Both are internally consistent, and they disagree.
View-through and engaged-view conversions. Google Ads can count conversions following an impression that was served but not clicked, and following a video view that met an engagement threshold. GA4 measures nothing of the kind. It cannot know about an impression that produced no visit. On Display, Video, Demand Gen and Performance Max this can account for most of the gap by itself.
Conversion windows. Each Google Ads conversion action has a click-through window and a separate, usually much shorter, view-through window. GA4 has its own lookback settings for attributing conversions to acquisition. Different windows over the same clicks yield different counts, and the effect grows with the length of your consideration cycle.
Counting settings. A Google Ads conversion action set to count every conversion records repeat purchases from one click. Set to count one, it records only the first. GA4 counts every event. A lead form set to count one, compared against a GA4 key event counting every submission, will always disagree.
Modeling. Both platforms estimate conversions they cannot observe directly, for example where consent was denied or cross device identity is unavailable. They model separately, with different inputs. Two independent estimates of the unobservable will not land on the same number.
Imported key events versus native tags. A key event imported from GA4 reaches Google Ads after passing through GA4 collection, sessionization and attribution. A native Google Ads conversion tag measures the conversion itself, with its own identifiers and enhanced conversions. Different paths, different totals for the same business event. Running both for the same action is straightforward double counting.
How to check your own gap
Compare like with like. In Google Ads, look at a single conversion action, not the conversions total. In GA4, look at the matching key event, filtered to Google Ads traffic. Comparing all conversions against all key events compares two different definitions of both words.
Give it time to settle. Do not compare the last seven days. Take a period that ended at least a week or two ago, longer if your sales cycle is long. Pull the same range twice, a week apart, and watch the Google Ads number rise. That movement is the credit date effect, and once you have seen it you stop chasing it.
Isolate view-through. Segment Google Ads conversions so click-through is separated from view-through and engaged-view. On Search the difference will be small. On Display, Video, Demand Gen and Performance Max it may be the whole story.
Audit every conversion action. For each one, record the source (imported GA4 key event, native tag, or offline import), whether it is primary or secondary for the campaigns it serves, and therefore whether it feeds the Conversions column or is reported only in All conversions, the counting setting, the click-through and view-through windows, and the attribution model. Most teams have never written this list out, and doing so typically finds at least one action counted twice, or one action that is quietly not being optimized toward.
Check for duplicate paths. If a purchase appears as both an imported key event and a native tag, you are counting it twice. Sanity check the total against the actual number of orders or qualified leads for the same click period. Google Ads exceeding real order count is not attribution. It is duplication.
How to reconcile Google Ads and GA4
Pick one measurement path per conversion action. A native Google Ads tag sends the conversion straight to the platform, which is the shortest path between the event and the bidding signal and the fewest systems that can break it. Hashed first party data is available either way: enhanced conversions on the native tag, and user-provided data collection in GA4 for imported key events. Imported GA4 key events give one consistent definition across channels and one place to maintain event logic. Both are defensible. Running both for the same action is not. The tradeoff: native tags mean maintaining conversion logic in two systems, while imports make your bidding signal dependent on GA4 collection quality and inherit GA4 processing latency.
Send a stable order or lead ID with every conversion so the platform can discard a repeat send carrying an ID it has already recorded for that conversion action. This is the same identifier discipline that protects your reconciliation in GA4, applied to the ad platform.
Set counting and windows to match the business, not the default. Ecommerce purchases should count every conversion. Lead forms where one person may submit twice should count one. Set the click-through window close to your real consideration period, and remember that lengthening a window increases reported conversions without changing reality, so change it deliberately and record the date you did.
Decide which conversion actions are set to primary. Only those feed the Conversions column and drive bidding. Secondary actions can still be observed without pulling the bidding system toward them. Micro conversions sitting in the primary column are a common and expensive mistake.
Implement Consent Mode v2 so consent aware tags continue to transmit state rather than being blocked outright, which is what allows conversion modeling to function. This describes measurement behavior. Consent configuration for your jurisdiction is a legal question, not a tracking one.
Then stop trying to reconcile the two to a single figure. Write one page stating which number governs which decision: Google Ads conversions for bid and budget management, GA4 for cross channel comparison, and the store or CRM for revenue that actually landed.
What the gap is costing you
The direct cost is bidding on the wrong signal. Google Ads optimizes toward the conversion actions in the primary column, with the counting rules and windows you set. If an action is double counted through an import and a native tag, the platform believes those campaigns are twice as efficient as they are and buys more of them. If an action is missing or unimported, the platform is bidding blind on that outcome.
The indirect cost is slower and larger. Teams that cannot explain the gap stop trusting both systems. Budget decisions revert to intuition, tests are called on numbers nobody defends, and a genuine tracking failure hides inside a discrepancy everyone has agreed to ignore.
There is also a real risk of underspending. Advertisers who see GA4 reporting fewer conversions than Google Ads sometimes assume Google Ads is inflating and cut budget. Frequently the opposite is true: GA4 is under-collecting because of consent, blockers or a broken checkout tag, and the channel was working.
A reconciliation you can defend does not make the two numbers equal. It explains the difference well enough that a finance lead and a media buyer can read the same report and agree on what to do. The Missing Conversions Audit builds that explanation across GA4, Google Tag Manager, Google Ads and Meta, logs every double count, missing import and collection failure it finds alongside what each one costs, and fixes and validates the top 10.
Questions
Should Google Ads conversions match GA4 key events?
No. Google Ads credits conversions to the date of the ad click and can include view-through and engaged-view conversions. GA4 credits events to the date they happened and can only see visits. The two will differ even when both are configured perfectly. What should be true is that the gap is stable, explainable, and that neither number exceeds the real count of orders or leads.
Why do Google Ads conversion numbers keep changing for past dates?
Because conversions are backdated to the click. A conversion that happens today may be credited to a click from three weeks ago, so yesterday's report for that older date changes today. This is expected. It is also why comparing the last seven days against GA4 is misleading, and why you should reconcile on periods that have had time to settle.
Is it better to import GA4 key events or use a native Google Ads tag?
A native tag generally produces the more direct bidding signal, because the conversion reaches the platform without passing through GA4 collection, sessionization and processing latency. Hashed first party data is available on both paths, through enhanced conversions on the native tag and through user-provided data collection in GA4 for imported key events, so that is not what separates them. Importing GA4 key events gives one consistent event definition across channels and a single place to maintain logic. Choose one per conversion action. Using both for the same action double counts it.
GA4 shows more conversions than Google Ads. What does that mean?
On a click driven campaign that is unusual and worth investigating. Common causes are a GA4 key event counting every submission while the Google Ads action counts one, a key event defined more loosely than the ad platform conversion, or a conversion action that has not been imported or is set to secondary and therefore reported only in All conversions rather than the column you are reading.
Next step
Find out what this is costing you.
The Missing Conversions Audit is a fixed-price teardown of your GA4, Google Tag Manager, ad pixels and consent setup. Every gap logged, the top 10 fixed and validated. $900 flat. 5 business days.
A 15 minute call
- We look at your setup from the outside and say what we can already see.
- You get a straight answer on whether the audit is worth it for your account.
- If it fits, we book the slot and send the access checklist.
Opens the calendar here. Nothing loads from Calendly until you do.
Prefer email? hello@missingconversions.com