- Measurement
- GA4
- Google Ads
GA4 vs Google Ads conversions: why the numbers don't match
Same campaign, two screens, two different numbers. Usually nothing is broken; the two systems answer different questions. Seven reasons for the gap, how to spot the one that is a real bug, and which number to use for which decision.

On this page7
When GA4 and Google Ads conversions don't match, it's usually not a bug. Google Ads credits only ad interactions and records a conversion on the click date; GA4 credits every channel and records the event on the day it happened. Counting method, conversion windows and consent mode widen the gap. The one real bug is usually double counting.
In short
- Google Ads answers "what did my ads drive?"; GA4 answers "which channels contributed?"
- Usual causes: attribution, click date vs. conversion date, counting method, conversion window and consent mode modeling.
- The genuine error is usually double counting: one sale counted as primary by both the Google Ads tag and a GA4-based conversion.
- Compare the same date range, time zone and date logic; treat the last 3–7 days with caution.
- Use Google Ads for bidding, GA4 for cross-channel budget, and your own order data for real revenue.
Are GA4 and Google Ads even counting the same thing?
A hypothetical Monday: Google Ads shows 48 conversions for last week, GA4 shows 31. Before assuming one is broken, check whether the two screens measure the same thing at all.
Since 2024, GA4 calls the actions you mark as important key events; they used to be called conversions. In GA4, "conversions" now means the actions shared with Google Ads to measure ad performance, and they appear in the Conversion performance report under Advertising. Google explains the split in Conversions vs. key events in Google Analytics.
Comparing key events in a standard GA4 acquisition report with the Google Ads "Conversions" column is apples and oranges: one looks at every channel, the other only at ad interactions.
| Google Ads ("Conversions" column) | GA4 (key events) | |
|---|---|---|
| Who gets credit | Google Ads interactions only | All channels: organic, direct, email, social, paid |
| Default model | Data-driven attribution | Data-driven attribution |
| Date recorded | Day of the ad interaction | Day the event happened |
| Default lookback | 30 days for clicks (1–90 depending on source) | 90 days for key events (30 or 60 available) |
| Counting | "One" or "Every" per action | Once per event or once per session |
Seven reasons the numbers differ
The first six are deliberate differences. The seventh is a setup error.
1. Attribution model and which channels get credit
Google Ads uses data-driven attribution by default and only looks at Google Ads interactions: Search, YouTube, Display and Demand Gen. In GA4 reports, the "Channels that can receive credit" setting defaults to paid and organic channels. Someone who clicks an ad and buys next day from an email link can be credited fully to the ad in Google Ads, and to email, or split, in GA4. Details are in Select attribution settings.
GA4's attribution model also only affects event-scoped dimensions, not session source, so two reports in one property can disagree.
2. Date: click day or conversion day?
The standard Google Ads columns record a conversion on the date of the ad click. GA4 records it on the day the event happened. Clicked Monday, bought Thursday: Monday in Google Ads, Thursday in GA4. Google Ads offers "Conversions (by conv. time)" to close this gap (Understand conversions by time with new columns). Add it before comparing with GA4; part of the gap disappears.
3. Recent days are still moving
Because of click-date reporting, recent days keep gaining conversions in Google Ads throughout the conversion window. Today's "3 yesterday" may read "7 yesterday" next week. Add processing delay, and the last 3–7 days always look incomplete.
4. Counting method
Each Google Ads conversion action counts either "One" (one conversion per ad click) or "Every" (every conversion after the interaction). "One" suits lead forms, "Every" suits purchases. GA4 key events can count once per event or, as a legacy option, once per session. A visitor who submits a form twice can be one conversion in one tool and two in the other.
5. Conversion window vs. lookback window
In Google Ads the conversion window is set per action: 30 days by default for clicks, up to 90 depending on the source. In GA4 the key event lookback window defaults to 90 days. With default settings, a sale 45 days after the click can be credited to the ad in GA4 and not counted in Google Ads at all.
6. Consent mode and modeling
For visitors who decline cookies, each system estimates on its own. With consent mode, Google Ads models conversions it couldn't observe (advertiser-specific in advanced mode, general in basic mode). GA4 applies its own behavioral modeling. Two estimates built differently rarely match.
7. Different sources: tag or import?
Is the conversion measured by the Google Ads tag, or created from a GA4 key event? If both are primary, the same sale is counted twice in the "Conversions" column. Primary actions feed the "Conversions" column and bidding; secondary actions only show in "All conversions" (About primary and secondary conversion actions). Conversions created from GA4 have no view-through conversions, and cross-device conversions need Google signals turned on in GA4.
When is the gap a real bug?
The reasons above produce a stable gap: the ratio stays roughly the same week to week. If it opened suddenly on a specific date, something probably broke. Usual suspects:
- Double counting. One sale is primary via both the Ads tag and a GA4 import, or the tag fires twice.
- Lost click ID. If auto-tagging is off or a redirect strips the click parameter, GA4 reports the visit as organic or direct.
- Wrong trigger. The purchase tag fires on the cart page or on every reload.
- Different time zones. Day boundaries shift and daily comparisons never line up.
- Site or tag changes. A new checkout, cookie banner or Google Tag Manager version can quietly change measurement.
A stable, persistent gap is a difference in definitions. A gap that opens overnight is usually the trace of a change.
This isn't only a reporting problem. When you hunt for budget leaks in the search terms report, the "zero conversions" filter assumes Google Ads conversion data is right. With double counting, bad terms look good.
Which number should you use for what?
"Which one is right?" depends on the decision you're making.
- Google Ads for bidding and budget. Automated bid strategies run on primary Google Ads conversions; that's the number you're optimizing.
- GA4 for budget across channels. It shows where ads sit next to organic, email and social.
- GA4's Conversion performance report to validate ad results. It shares Google Ads' conversion definition.
- Your own system for real revenue. Orders, CRM and accounting data are the referee for both tools.
Step by step: a 15-minute reconciliation
- Pick the same range. At least 28 days, ending a week ago. Short ranges magnify reporting lag.
- Check time zones. Do the Google Ads account and the GA4 property match?
- Align the date logic. Add "Conversions (by conv. time)" in Google Ads.
- List primary actions. Check each action's status, source (website tag or Google Analytics) and counting. If two primary actions measure the same sale, make one secondary.
- Put the windows side by side. Note the Google Ads conversion window and the GA4 lookback window.
- Open the right GA4 report. Conversion performance under Advertising, not the standard acquisition report.
- Chart the gap over time. If it changed on a date, what changed on the site, tags or consent banner that day?
What remains is usually attribution and modeling: an acceptable difference in definitions.
How does ad10 handle this?
Ask ad10 "Why don't GA4 and Google Ads match?" and the assistant first reads your conversion actions through the Google Ads API (status, counting, windows) and your key events for the same range through the GA4 Data API. If Google Tag Manager is connected, it audits the container for duplicate tags. It then ranks likely causes against the list above, separating definition differences from real errors.
If something needs fixing, say a duplicate tag in GTM, it arrives as a proposal: what will change, why, and the expected effect. Nothing goes live until you approve it, and every approved change is logged with who changed what and when. We've written up 7 questions to ask before giving AI access to your ad account; ad10's own answers on permissions and logging are in the security section. You can see which accounts connect under platforms, and plans with their monthly credits under pricing.
Frequently asked questions
How big a gap between GA4 and Google Ads conversions is normal?
There's no single right ratio; it depends on your sales cycle, channel mix and consent rate. What matters is stability: a sudden change says more than the ratio itself.
Should I import conversions from GA4 or use the Google Ads tag?
Both work, as long as only one primary action counts each sale. The Google Ads tag can also measure view-through conversions, while GA4-based conversions give you one definition across analytics and ads. Whichever you pick, keep the other secondary.
Are GA4 key events and conversions the same thing?
No. A key event is an event you mark as important in GA4. A conversion is an action shared with Google Ads to measure ad performance, and it's reported in GA4's Advertising section.
Why do conversions for recent days keep going up?
Standard Google Ads columns use the click date, so someone who clicked last week and bought today adds to last week. Don't read the last 3–7 days as final.
Does the gap affect automated bidding?
Definition differences in GA4 reports don't; bid strategies look at primary Google Ads conversions. But if you import conversions from GA4, GA4's attribution settings carry over to Google Ads. Double counting affects bidding directly: the strategy optimizes toward an inflated number.