2026-07-23
Google Ads Conversions Not Matching GA4: When the Gap Is Normal (and When It's Broken)
You pull up Google Ads and it says 47 conversions this month. You pull up GA4 and it says 34 for the same campaign. Or maybe it's the reverse. Either way, you're now trying to figure out which number is "real" before you report to a client — and neither platform is going to tell you the truth on its own.
Here's the uncomfortable answer: they will never be identical, even with perfect tracking. The question isn't "how do I make these match." It's "how do I know if this gap is expected or a sign something is broken."
Why this happens
- Different attribution models. Google Ads conversions (in most accounts) use data-driven or last-click attribution credited to Google Ads-specific touchpoints. GA4 uses data-driven attribution across ALL channels by default. A conversion can get attributed to organic search or direct in GA4 even though the Google Ads click happened somewhere in the path.
- Conversion date vs. event date. Google Ads often reports conversions on the date of the click that eventually led to the conversion, not the date the conversion happened. GA4 reports events on the date they occurred. A conversion from a click on the 28th that completes on the 2nd shows up in different months in each platform.
- Consent Mode modeling gaps. If you're running Consent Mode v2 in the EU/UK (or anywhere you have a cookie banner), Google Ads models conversions for users who didn't consent to analytics or ad cookies. GA4 does NOT model these the same way for standard reporting — it shows fewer raw events. This alone can create a 10-30% gap that is completely normal.
- Different conversion counting settings. Google Ads lets you choose "one per click" or "every" for conversion counting. GA4 counts every event by default unless you've set the event as "once per session" behavior manually. If these settings don't match your business logic, you get inflated or deflated numbers on one side.
- Session vs. click-based windows. GA4 attributes conversions within its own lookback window (default 30-90 days depending on the conversion event). Google Ads conversion actions have their own separately configured conversion window (often 30-90 days too, but set independently). Mismatched windows create gaps especially for longer sales cycles.
- Import lag or broken import connection. If you're importing GA4 conversions INTO Google Ads (or vice versa), a broken or paused link in Google Ads' "Conversions > Google Analytics 4" linking settings will freeze one number while the other keeps updating.
- Bot filtering differences. GA4 applies its own bot and spam filtering. Google Ads has separate invalid click detection. Neither exposes exactly how many events were filtered, so a chunk of the gap is invisible by design.
Fix, step by step
- Open Google Ads and check the conversion action's "Click-through conversion window" setting. Compare it to the GA4 event's attribution lookback window under Admin > Attribution settings > Reporting attribution model.
- Check "Include in Conversions" in Google Ads for the specific conversion action — if it's toggled off, Google Ads still tracks it but excludes it from the headline "Conversions" column, which explains a lower number there.
- If you're in a consent-regulated region, confirm Consent Mode v2 is implemented correctly by checking Google Tag Manager or your CMP for the
ad_storageandanalytics_storagesignals firing before the tag loads. A gap here is expected — don't try to eliminate it, just confirm the modeling is active (Google Ads > Conversions > the conversion action should show a "modeled" indicator). - Verify the conversion counting setting in Google Ads (one per click vs. every) matches how GA4 counts the equivalent event (check if the GA4 event has "Mark as key event" and whether it fires once or multiple times per session).
- If you import GA4 data into Google Ads, go to Google Ads > Tools > Conversions > Google Analytics 4 and confirm the link status is active, not paused or disconnected.
- Pull both reports using the SAME date range definition — conversion date in GA4 (event date) vs. Google Ads (which may backdate to click date). Compare a rolling 30-day window instead of calendar month to reduce the click-vs-conversion-date distortion.
- Run the gap through the reconciliation checklist below before you decide anything is actually broken.
Copy-paste template: gap reconciliation checklist
GOOGLE ADS vs GA4 CONVERSION GAP CHECKLIST
--------------------------------------------
[ ] Gap is under 15% AND you have a cookie consent banner
→ NORMAL (Consent Mode modeling). No action needed.
[ ] Gap is under 10% AND date ranges are calendar-month (not rolling)
→ LIKELY NORMAL (click-date vs conversion-date lag).
Recheck using a 30-day rolling window before escalating.
[ ] Conversion counting setting differs (one per click vs every)
→ EXPECTED DIFFERENCE. Align settings only if you want matching
numbers for reporting simplicity — not a tracking bug.
[ ] Attribution model differs (data-driven all channels vs
Google Ads-only data-driven)
→ EXPECTED. Note this in every client report, don't "fix" it.
[ ] Gap is over 30% with no consent banner in this region
→ INVESTIGATE. Check tag firing, GTM triggers, and conversion
linking status.
[ ] Gap appeared suddenly (not gradual)
→ BROKEN. Check for: paused conversion action, disconnected
GA4 import, GTM tag misfire, or consent banner default change.
[ ] One platform shows zero conversions for a live campaign
→ BROKEN. Treat as urgent — check tag installation immediately.
How to verify it worked
Run a test conversion (a real form submit or purchase in a staging environment) and confirm it appears in GA4's Realtime report within minutes, then check that it shows up in Google Ads' conversion action within 24 hours (Google Ads conversions have inherent reporting delay). If both register the single test event, your tracking is intact — any remaining gap in aggregate reporting is attribution and modeling, not breakage.
Once you've confirmed the gap is expected rather than broken, the real work is deciding which number drives your next action — and stopping the manual back-and-forth between two dashboards every week. That's the exact kind of reconciliation Next Action Analyst automates: it ingests both exports and flags only the gaps that actually warrant investigation.
Next Action Analyst turns your campaign export into a prioritized list of changes to make tomorrow — with the numbers that justify each one.