← Back to blog index

GA4 Event Not Firing? A Practical GTM Troubleshooting Guide

You configured custom GA4 event tags in Google Tag Manager to track a button click or newsletter signup, but when you look at Google Analytics 4 DebugView, the event is missing. Or worse, the event is listed as "Not Fired" in GTM Preview. This troubleshooting guide covers the primary reasons GA4 events fail to fire and how to resolve them.

Quick Fix: Need this solved immediately?

If you suspect your tracking is leaking conversion data or showing mismatches, get a free written diagnostics audit.

Get Free Tracking Audit Fix Conversion Tracking

1. Check the Trigger Variable timing

A frequent reason tags fail to fire in Preview Mode is variable timing. If your GTM trigger is set to fire on Page View (Consent Initialization or Container Initialization), but the variables your trigger depends on (like dynamic classes or query parameters) are not loaded yet, the trigger evaluates to false.

How to fix it:

Try changing the trigger timing from Container Initialization to DOM Ready or Window Loaded. This ensures GTM waits for the page structure and underlying elements to load completely before checking trigger conditions.

Tired of trying to debug GTM container scripts?

I deploy clean, code-validated conversion data layers and secure SHA-256 Enhanced Conversions on a flat-rate project basis.

Fix My Tracking Setup

2. CSS Selector Case Sensitivity and Class Names

When tracking button clicks based on Class names or Element IDs, a minor typo or case discrepancy will break the link. In GTM triggers, checking "Click Classes contains btn-primary" will fail if the site code renders it as btn-Primary or if subsequent scripts add secondary classes like btn-primary active.

Trigger best practices:

  • Use "contains" instead of "equals" when evaluating click classes. This accommodates secondary helper classes.
  • Double-check if classes are dynamically generated. Modern frameworks (React, Next.js) often append hash strings to CSS classes (e.g. Button_btn__a3b5c) which change every time you compile the code. In these environments, rely on custom attributes (like data-action="submit") instead.

3. Verify GA4 Key Event (Conversion) registrations

If you see the event firing successfully in GTM Preview, but the conversion count inside GA4 acquisition reports remains zero, you likely missed marking the event as a Key Event.

// Correct GA4 Event Payload format
gtag('event', 'lead_signup', {
  'form_name': 'newsletter_footer',
  'lead_quality': 'standard'
});

To register the conversion: Open your GA4 admin panel, navigate to Data Display > Key Events (formerly Conversions), click New key event, and type the exact name of your event (e.g., lead_signup). GSC updates reports overnight, so check the logs the following morning.

4. Check for Consent Gate blocks

If Consent Mode is enabled, GA4 tags will remain in a "blocked" or "waiting" state if users have not accepted analytical cookies. If tags fire before the consent banner pushes the user's approval update, GA4 will discard the tracking payload.

Verify that your cookie banner is set to update the Google Consent State before your standard GA4 tags attempt to execute.

Need Help Fixing This?

I am a freelance technical tracking implementation specialist based in Hyderabad, India. I audit and repair broken Google Ads pixel fires, GA4 custom events, and sitemap/robots.txt indexing bugs.

Check My Website Tracking Fix My Tracking
Or contact directly via email at prasoon@prosun.me (Response within 24 hours).