Guide

GA4 vs Google Ads conversions don’t match? Fix it step by step.

GA4 and Google Ads use different attribution, counting rules, and processing windows. This guide shows how to isolate the mismatch, verify the true conversion source, and lock a reliable baseline.

Start with the Conversion Tracking Troubleshooter if you want fast diagnostics, or the Tracking Health Check for tag signals. If you need the baseline fixed fast, book the Tracking Fix Sprint.

What “mismatch” actually means

GA4 and Google Ads are not supposed to match 1:1. GA4 is an analytics system with its own attribution model, conversion definitions, and session rules. Google Ads is an ad platform with different counting and window settings. The goal is not identical numbers—it’s a consistent, explainable baseline you can trust.

  • GA4 can show more conversions because it attributes beyond Ads.
  • Ads can show fewer if a conversion action is unverified or filtered.
  • Import delays can make Ads “lag” behind GA4 for 24–48 hours.

2-minute triage

  1. Confirm the conversion source: Ads tag or GA4 import?
  2. Verify firing on the true conversion moment.
  3. Compare attribution settings (windows + model) in both systems.
  4. Check if GA4 includes non‑Ads traffic in the conversion count.

Mismatch map (diagnosis table)

SymptomLikely causeFastest fix
GA4 > Ads (large gap)GA4 counts all channels; Ads only Ads trafficFilter GA4 to Google Ads traffic for comparison
Ads > GA4 (smaller gap)Ads uses “every” vs GA4 “once per session”Align counting rules or note the difference
Ads shows “unverified”Tag not firing or import misconfiguredVerify firing and action setup
GA4 shows zero, Ads shows someGA4 event not marked or filteredMark event + check filters/consent
Numbers match sometimes, not othersAttribution window mismatch or lagCompare windows + wait 24–48h

Step 1: confirm the conversion source

Your fix depends on whether Ads is counting a direct Ads tag or an imported GA4 conversion. If you don’t know the source, the numbers will never align.

  • In Google Ads, open the conversion action and check the source.
  • In GA4, confirm the event is marked as a conversion.
  • Document the source in your Tracking Map.

Step 2: verify firing on the true moment

A common cause of mismatch is a trigger firing too early (form start, page view) instead of on the actual conversion completion. That inflates GA4 or Ads depending on which system is receiving the signal.

  • Use Tag Assistant or GTM Preview to test firing.
  • Confirm the conversion fires only on the success event/page.
  • Run a clean test conversion to validate the timing.

Step 3: align attribution windows

GA4 and Ads can attribute conversions differently even with perfect tracking. A common mismatch is caused by different click‑through or view‑through windows.

  • Google Ads: check the conversion action’s attribution window.
  • GA4: check the conversion window and attribution model.
  • Log the settings so the difference is explicit, not mysterious.

Step 4: align counting rules

Ads can count “every” conversion while GA4 often counts once per session or event. This alone can create consistent gaps.

  • Ads “Every” vs “One” (per click) can inflate Ads counts.
  • GA4 conversion counting depends on the event logic.
  • Decide which system is your source of truth for optimization.

Step 5: check filters and consent effects

Consent Mode and GA4 filters can suppress events while Ads still shows conversions (or vice versa). This shows up as a sudden gap after consent changes or filter additions.

  • Confirm GA4 data filters (internal traffic, dev filters).
  • Check Consent Mode implementation and region behavior.
  • Compare GA4 filtered vs unfiltered views if available.

Step 6: allow for processing lag

GA4 imports can take 24–48 hours to show in Ads. If your tests are recent, you might be looking at a temporary gap.

  • Wait a full day before concluding the import is broken.
  • Check Ads diagnostics for the conversion action status.
  • Document the lag in your Tracking Map.

Compare apples to apples

Most “mismatch” audits fail because they compare GA4 total conversions (all channels) to Ads conversions (Ads only). Do this instead:

  • Filter GA4 to Google Ads traffic only.
  • Match the date range and time zone for both systems.
  • Compare the same conversion event/action, not different ones.

When you compare like‑for‑like, the gap usually shrinks to something explainable (lag, attribution, or counting).

Common mismatch scenarios (by source)

Source matters. Here’s where mismatches usually come from:

  • GA4 import: event not marked as conversion, wrong property linked, or import lag.
  • Ads tag: conversion action misconfigured or firing on the wrong trigger.
  • Enhanced conversions: modelled conversions appear in Ads but not in GA4.

Checklist (printable)

  • Confirm conversion source (Ads tag vs GA4 import).
  • Verify firing on true conversion moment.
  • Align attribution windows and models.
  • Align counting rules (every vs one, session vs event).
  • Check GA4 filters and Consent Mode behavior.
  • Allow 24–48 hours for import lag.
  • Document the final baseline in your Tracking Map.

Ads settings that commonly cause gaps

If Ads numbers look too low or too high, check these conversion action settings first:

  • Include in “Conversions”: if off, the action won’t show in primary conversion counts.
  • Counting: “Every” vs “One” changes totals.
  • Attribution model: data‑driven vs last‑click.
  • Action category: mis‑categorized events can hide in reports.

GA4 checks that explain mismatches

GA4 can under‑report relative to Ads if the event isn’t marked, filtered, or recorded consistently.

  • Is the event marked as a conversion?
  • Are data filters excluding internal or test traffic?
  • Is consent mode suppressing tags for some regions?
  • Is the event name consistent across GTM + GA4?

What a verified baseline looks like

A verified baseline means you can trigger a test conversion and see it appear in Ads diagnostics, with the conversion source and attribution settings documented. This is what prevents future “mismatch panic.”

The baseline is captured in a Tracking Map, which lists the conversion action, trigger, verification evidence, and the reporting system of record.

FAQ

Do they need to match exactly?

No. The goal is an explainable baseline you can trust, not perfect equality.

Which one should I optimize from?

For Ads optimization, use the conversion action that Ads records. Use GA4 for broader analytics and cross‑channel insights.

Why did the mismatch suddenly appear?

Common causes: a trigger change, a GA4 filter, consent mode updates, or a new conversion action in Ads.

What to do next

  1. Use the troubleshooter to isolate the failure point.
  2. If your tag is inactive or unverified, follow the tag fix guide.
  3. If you need the baseline fixed fast, book the Tracking Fix Sprint.

The deliverable you keep is the Tracking Map.