All posts
Web design & development

GA4 Not Tracking Conversions? A Troubleshooting Guide

GA4 not tracking conversions? Work through the checks in order: key event setup, consent, duplicate tags, embedded forms, SPA routing and cross-domain issues.

By Mehdi Hassan7 min read

The short answer

GA4 is not tracking conversions usually because the event isn't marked as a key event, consent is blocking the tag, the event never fires on embedded forms, or sessions break across domains. Check in that order: confirm the event arrives in DebugView, check its consent state, fix duplicates and iframes, then review cross-domain and referral settings.

Key takeaways

  • GA4 calls conversions key events now; an event that isn't marked as one won't appear as a conversion.
  • Start in DebugView and Realtime, because standard reports lag behind and hide recent fixes.
  • Consent defaults that fire late or deny everything are the most common silent cause.
  • Embedded forms and booking tools in iframes need their own success event sent from your page.
  • Payment and booking domains must be cross-domain linked or listed as unwanted referrals.

Part of GA4 Setup for Marketing Websites: The Complete Guide

When GA4 stops showing conversions, the instinct is to rebuild everything. Don't. Most cases come down to one of a handful of causes, and checking them in a fixed order finds the problem faster than guessing. This guide gives you that order. For the full setup it assumes, see our GA4 setup guide for marketing websites.

Why is GA4 not tracking conversions?

GA4 is usually not tracking conversions for one of six reasons: the event isn't a key event, it never fires, consent blocks it, duplicate or conflicting tags interfere, the form lives in an iframe, or the session breaks across domains. Data delay and filters explain the rest.

Symptom

Likely cause

Check first

Event shows in Events, not as a conversion

Not marked as a key event

Admin, key events list

No event at all

Trigger never fires

GTM Preview and DebugView

Conversions dropped after a banner launch

Consent default or update broken

Tag Assistant consent tab

Conversions roughly doubled

Two tags or two triggers

Network requests on submit

Form submits, nothing tracked

Form or booking tool in an iframe

Where the success message renders

Conversions credited to a payment site

Cross-domain or referral gap

Traffic source of converting sessions

Only page views on route changes missing

Single-page app routing

Enhanced measurement history setting

How do you troubleshoot missing GA4 conversions step by step?

Troubleshoot missing GA4 conversions from the source outward: first prove the event fires, then that GA4 receives it, then that it counts as a key event and is attributed correctly. Each step rules out a whole group of causes.

  1. Check it's a key event

    In GA4 admin, open the key events list. GA4 renamed conversions to key events, and only events marked there count. Check the name matches exactly, since GA4 is case-sensitive.

  2. Watch it fire in GTM Preview

    Run Tag Assistant, complete the conversion yourself and confirm the trigger and tag fire once, on success, not on click.

  3. Confirm it in DebugView

    Open GA4 DebugView during the same test and check the event name and parameters arrive. Realtime works too. Standard reports lag, so don't judge a fix by them on the same day.

  4. Check consent on the first event

    In Tag Assistant's consent view, look at analytics_storage and ad_storage on the first hit. If the default fires late or the update never arrives, see our Consent Mode v2 guide.

  5. Look for duplicates

    In your browser's network tab, filter for collect requests on submit. Two requests for one action means two tags or two triggers.

  6. Check iframes and embeds

    If the form or booking widget is embedded, your GTM can't see inside it. Listen for its completion message on your page and push your own event.

  7. Review domains and referrals

    List every domain in the journey under cross-domain measurement, and add payment or booking domains you don't control to unwanted referrals.

Yes. If analytics_storage is denied, GA4 doesn't set cookies, and in basic consent mode the tag doesn't send anything. A banner that defaults everyone to denied, or a consent update that never fires, makes conversions disappear without any error.

The pattern is easy to spot: conversions drop on the day a banner or consent platform changes, often more in some countries than others. Check that the default runs before the Google tag, that all four v2 parameters are set and that accepting the banner sends an update before the next event. Banner design affects acceptance too, which our guide to cookie banner design covers.

Why don't embedded forms and booking tools show up as GA4 conversions?

Embedded forms and booking tools often run inside an iframe on another domain, so your GA4 and GTM can't see the submit or the confirmation. The visitor converts, but nothing on your page knows about it.

Most scheduling and form tools post a message to the parent page when a booking or submission completes, or offer a callback in their embed code. Listen for that on your page, push a dataLayer event such as meeting_booked, and fire your GA4 event from it. If the tool redirects to its own thank-you page instead, change the redirect to a page on your domain. Our guide to conversion tracking for lead-gen websites shows both patterns.

For example, suppose demo bookings went to zero after a redesign

For example, suppose a startup moves its demo form from a native form to an embedded scheduling widget during a redesign. The old key event fired from a thank-you page that no longer exists. The new widget confirms bookings inside its own iframe.

GA4 still receives page views, so dashboards look healthy until someone notices zero demo requests for the month. The fix is to listen for the widget's booking-complete message, push meeting_booked to the dataLayer, mark it as a key event and add the widget's domain to unwanted referrals. Our analytics continuity guide for migrations is built to catch exactly this before launch.

How do cross-domain and referral issues break GA4 attribution?

Cross-domain and referral issues break attribution by starting a new session when a visitor moves to another domain. The conversion then gets credited to that domain, such as a payment or booking site, instead of the ad, search or email that brought the visitor in.

Fix domains you control with GA4's cross-domain measurement setting, which passes an identifier between them. For third-party domains you can't tag, add them to the unwanted referrals list so they don't take credit. Then check the traffic source of a few recent converting sessions to confirm it now shows the original channel.

Why do GA4 and other tools show different conversion numbers?

GA4, Google Ads and your CRM count conversions differently, so some gap is normal. They use different attribution models, time zones, counting rules and consent handling, and ad blockers hide some visits from GA4 entirely.

  • GA4 vs Google Ads: Ads uses its own attribution and conversion windows, and can count by click date.
  • GA4 vs CRM: your CRM counts every lead, including ones from browsers that block analytics or deny consent.
  • Duplicate conversion actions: importing GA4 key events into Ads while also running an Ads conversion tag counts twice.
  • Filters and thresholds: internal traffic filters and data thresholds can hide rows in reports.

Use your CRM as the source of truth for lead counts and GA4 for trends and channel comparisons. A consistent gap is fine. A gap that suddenly widens means something broke. If the problem is wider than conversions, compare lab and field data in our guide to PageSpeed Insights scores, or check whether form emails arrive with our form deliverability guide.

Frequently asked questions

How long does it take for conversions to show in GA4?
Events appear in DebugView and Realtime within moments of firing, but standard reports take longer to process, often until the next day. Newly created key events also only count from the moment you mark them, not retroactively. When testing a fix, use DebugView, then confirm in standard reports once processing has caught up.
What is the difference between a key event and a conversion in GA4?
GA4 renamed its conversions to key events. A key event is any event you mark as important in GA4. The word conversion now refers to key events that are imported into Google Ads and used for bidding and reporting there. If you're looking for conversions in GA4 reports, look for key events instead.
Do ad blockers stop GA4 from tracking conversions?
Yes, some ad blockers and privacy browsers block requests to Google Analytics, so those visitors and their conversions never reach GA4. You can't fix that from the tag side without server-side measurement, which has its own trade-offs. Compare GA4 against your CRM to understand the gap, and don't expect the two to match exactly.
Why does GA4 show conversions as direct or unassigned traffic?
Direct or unassigned conversions usually mean the session lost its source. Common causes are consent defaults that fire late, redirects that strip UTM parameters, links from apps or documents without referrer data, and cross-domain journeys that aren't linked. Check the landing page and source of a few affected sessions in an exploration to find the pattern.
Can I recover conversions GA4 missed?
No. GA4 can't backfill events that never reached it, and marking an event as a key event doesn't apply to past data. You can rebuild the period from your CRM or form tool for reporting, and Google Ads can accept offline conversion imports. Fix the tracking first, then annotate the gap so nobody misreads the trend later.

· CEO & Design Director

Copywriter, designer and developer, and founder of Designify Studio. Over five years, 60+ projects across 14+ industries, for startups that have raised $300M+.

Want us to do this for you?

We take craft seriously over at Designify Studio. We do deep research and do what we do best - pay attention to the smallest details and make sure we speak to the right audience.

Schedule Call