İlkan Digital.

Blog · GTM & GA4

GA4 not tracking conversions: checks before you blame GA4

By İlkan Geldigitti ·

When GA4 isn't tracking conversions, GA4 itself is rarely the problem. In most accounts the cause is one of a short list: the event never fires, it fires under a slightly different name, it was never marked as a key event (GA4's name for what used to be called conversions), the report is being read too early, consent or a data filter keeps the data out, or the numbers are being compared with Google Ads, which counts differently.

The checks below go from the fastest to the slowest. Most problems show up in the first four, within ten minutes, before anyone has to touch the tag setup.

Checked against Google's Analytics and Google Ads help pages on 21 October 2026. Sources are linked in each check and listed at the end.

1. Are you looking for "conversions" in the right place?

In GA4 the measured actions are key events: Google describes a key event as an event that measures an action important to your business, and any event you collect can become one (Key event). "Conversions" is now the Google Ads term: in Google Ads you create conversions based on your GA4 key events.

Two consequences:

  • A conversion action created directly in Google Ads (with the Google Ads tag) never appears in GA4's standard reports. Google states this plainly.
  • If you search GA4 for a "Conversions" report, look for key events in the reports instead.

2. Did you wait long enough?

GA4 reports are not live. From Google's data freshness page:

  • Realtime usually updates within a few minutes, but is limited to a few dimensions and metrics.
  • Standard reports for a standard property are typically processed within about 12 hours for daily data; Google's general statement is that processing can take 24–48 hours, and numbers can change during that time.
  • After you mark an event as a key event, allow up to 24 hours for it to show up in standard reports (Mark events as key events).
  • Attribution credit for key events can still change for up to 12 days after the key event is recorded.

So "I tested it this morning and the report is empty" is normal. Check Realtime or DebugView for today, and standard reports from tomorrow.

3. Does the event fire at all?

Test it before you look at any report.

  1. In Tag Manager click Preview, open your site and complete the conversion (submit the form, finish the booking). Check that the GA4 event tag is under Tags Fired on the right event, not only on page load.
  2. In GA4 open Admin → DebugView. Tag Assistant switches on debug mode for your browser by adding a parameter to the URL, and DebugView shows the events and user properties collected from it in real time, with the last 60 seconds in the seconds stream (DebugView).

Two traps here:

  • Consent. Events are not visible in debug mode when consent mode is on and the visitor hasn't given consent for Analytics cookies. Accept the cookie banner in your test browser first, or you'll see nothing and suspect the tag.
  • Turning debug mode off. Setting debug_mode to false does not disable it; Google says to remove the parameter instead.

If the event doesn't show up in DebugView, the problem is in the site or the container, and nothing in GA4's settings will fix it.

4. Is the event name exactly right?

The key event you marked and the event your tag sends must match character for character. From Google's event naming rules and collection limits:

  • Event names are case sensitive. generate_lead, Generate_Lead and generate-lead are three different events (and the hyphen isn't allowed at all).
  • Names must start with a letter and use only letters, numbers and underscores, with no spaces.
  • The limit is 40 characters. A key event with a longer name will not be reported as a key event.
  • Some names are reserved and can't be used for your own events, including form_start, form_submit, page_view, click, scroll and session_start.

The usual failure: someone marks lead as a key event while the tag sends generate_lead, or a developer renames the event during a site update.

5. Is it marked as a key event, and since when?

Open Admin → Data display → Events, find the event in the Recent events tab and click the star icon to mark it as a key event (Mark events as key events). For an event that hasn't been collected yet, use Create event with Mark as key event switched on; Google says you can mark events ahead of time this way.

What catches people out:

  • It isn't retroactive. Marking an event affects reports from that point on and doesn't change historic data. Last month's form submissions won't turn into key events.
  • There's a limit: up to 30 key events in a standard property.
  • Monetary values need both parts. If you send a value, it must be a number with an ISO 4217 currency; otherwise the value won't be sent to Google Ads (Create or modify key events).

6. Is your form event telling the truth?

Enhanced measurement can send form_start and form_submit automatically. form_submit is sent "when the user submits a form" (Enhanced measurement). That's the browser's submit, not a confirmation from your backend that the lead was saved. Validation errors, double clicks and spam can all look like submissions.

For lead counting, a more reliable pattern is to send your own event, such as generate_lead, only after your form endpoint confirms success, and mark that as the key event. On this site, enhanced measurement's form interactions are switched off for exactly this reason, and generate_lead is pushed to the data layer only after the server has saved the lead.

7. Is consent keeping data out?

What GA4 receives before consent depends on your consent mode setup (Consent mode):

  • Basic consent mode: Google tags are blocked until the visitor grants consent, so no data is collected from visitors who decline, and you get no modelled data.
  • Advanced consent mode: with analytics_storage denied, tags send cookieless pings and set no Analytics cookies. GA4 can use those pings for modelling.

Modelling has thresholds that small sites often don't meet. Among the prerequisites: at least 1,000 events a day with analytics_storage denied for at least 7 days, and at least 1,000 daily users sending events with it granted for at least 7 of the previous 28 days. Even then eligibility isn't guaranteed (Behavioral modeling for consent mode).

So if many visitors decline cookies, GA4 will show fewer key events than your CRM. That gap is expected, not a broken tag. The Consent Mode v2 guide covers the setup and how to test it.

8. Is a data filter removing the data?

Data filters are applied from the moment they're created, and the effect is permanent: excluded data will never be available in Analytics or BigQuery (Data filters).

Check Admin → Data collection and modification → Data filters:

  • Developer traffic filters remove data from users with debug mode enabled (Developer traffic). With this filter active, every test conversion you made through Tag Assistant appears in DebugView but never in the reports. That's by design, and it confuses a lot of people testing a new setup.
  • Internal traffic filters exclude IP addresses you define (Internal traffic). If the office or the agency tests from a filtered IP, its conversions disappear too.
  • A filter can be in Testing (data is only labelled), Active (data is changed for good) or Inactive. A new or changed filter can take 24–36 hours to apply.

Use Testing first, and test conversions from a browser that isn't filtered.

9. Do sessions break before the conversion?

If the conversion happens on another domain, such as a payment page or a booking tool, the visitor can arrive back as a new session from that domain. The key event is then credited to the payment provider or a "referral", and your campaign seems to have produced nothing.

  • Cross-domain measurement passes the visitor's IDs between your domains in a _gl URL parameter. Without it, one visitor counts as two users and two sessions. Redirects can drop _gl, so check that it's in the destination URL (Cross-domain measurement).
  • Unwanted referrals tell GA4 to ignore a domain as a source, for example a third-party payment processor (Unwanted referrals). Use it only for domains that really interrupt the journey, because you lose that source information.

10. Does it look missing in Google Ads, or only different?

If GA4 shows the key events but Google Ads doesn't, or shows other numbers, check how the import works (Create conversions from Google Analytics events):

  • Imported data can take up to 24 hours to appear, and conversions from before the import aren't included.
  • Google Ads reports a conversion on the date of the click that led to it; GA4 reports it on the day it happened. Weekly totals won't line up.
  • Counting: with One, Google Ads counts one conversion per click; GA4 counts every key event. Two leads from one visitor can be 2 in GA4 and 1 in Google Ads.
  • The Conversions column only includes primary actions. Google Ads makes conversions created from GA4 secondary when the account already has goals from that property, so they only show under All conversions (Create Google Ads conversions based on GA key events).
  • The account link's attribution setting (by default Google Paid Channels for links made since June 2023) and conversion windows of 1–90 days change what Google Ads credits.

Quick checklist

Check Where Healthy result
Event fires GTM Preview, GA4 DebugView Tag fires on the confirmed conversion
Name matches Tag vs Admin → Events Same name, same case
Marked as key event Admin → Data display → Events Star on, since before the dates you're reading
Time passed Realtime vs standard reports Today in Realtime, yesterday in reports
Consent Test browser, banner Accepted before testing
Filters Admin → Data filters Developer and internal filters known, tests run outside them
Domains Destination URL, referral report _gl kept, no payment-page referrals
Google Ads Conversions vs All conversions Primary action set as intended

FAQ

Why does GA4 show fewer conversions than my CRM? Most often consent (visitors who decline aren't measured in basic mode), ad blockers, or the conversion happening outside the tracked journey. A gap is normal; a sudden drop to zero is a tag or naming problem.

My test conversion is in DebugView but not in the reports. Why? Either the reports haven't processed yet (allow 24 hours), or a developer traffic filter is active and removes debug-mode traffic by design.

Can I mark an event as a key event retroactively? No. Key event marking applies from the time it's set; historic data doesn't change.

Should Google Ads optimise on the GA4 import or the Google Ads tag? Both work. A common setup uses the Google Ads conversion tag as the primary action and keep the GA4 import secondary, so the same lead isn't counted twice for bidding. What matters is that only one of them is primary for the same action.


To have the container, key events and the Google Ads link checked and set up so they match your real leads, see the GTM and GA4 setup service.

Sources

Free first look

Stuck on this in your own account?

Send a short note with what you see. A reply arrives within 1 business day. No payment is requested before a written proposal.