Conversion Tracking
17 minute read

Google Analytics Not Tracking Conversions? How to Diagnose and Fix It Step by Step

Written by

Grant Cooper

Founder at Cometly

Follow On YouTube

Published on
May 7, 2026

You spent hours setting up your Google Analytics conversion events, launched your campaigns, and then nothing. The conversions report shows zero, or the numbers look suspiciously low compared to what your CRM or ad platforms are reporting. It is one of the most frustrating problems digital marketers face, and it is far more common than you might think.

When Google Analytics stops tracking conversions accurately, the ripple effect hits your entire marketing operation. You cannot optimize ad spend without reliable conversion data. You cannot prove ROI to stakeholders. And worst of all, you might be making budget decisions based on incomplete or misleading numbers.

The good news is that most conversion tracking failures come down to a handful of common root causes, and nearly all of them are fixable once you know where to look. Since GA4 replaced Universal Analytics in July 2023, the event-based tracking model has introduced a new set of configuration pitfalls that catch even experienced marketers off guard.

This guide walks you through a systematic troubleshooting process to identify exactly why Google Analytics is not tracking your conversions and how to resolve each issue. Whether you are working with GA4 events, Google Tag Manager configurations, or cross-domain setups, these steps will help you restore accurate tracking and regain confidence in your data.

Work through each step in order. In many cases, the problem reveals itself early in the process, saving you from digging into more complex territory unnecessarily.

Step 1: Confirm Your Conversion Events Are Properly Configured in GA4

The first place to look is the most obvious one, and it is also where a surprisingly large number of tracking failures originate. GA4 uses an event-based model that is fundamentally different from the goal-based system in Universal Analytics. If you are coming from UA, the mental shift matters.

In GA4, events fire automatically or through your tracking code, but they do not count as conversions unless you explicitly mark them. Navigate to Google Analytics, then go to Admin, then Events. You will see a list of all events GA4 is receiving. Look for a toggle next to each event labeled "Mark as key event." In GA4's updated terminology, what used to be called conversions are now called key events. If that toggle is off, the event fires but never counts toward your conversion reporting.

This is one of the most common reasons marketers see zero conversions despite events technically firing. For a deeper look at how event tracking in Google Analytics works, understanding the full event model can help you avoid these pitfalls.

Next, check your event names carefully. GA4 is case-sensitive. An event named purchase and an event named Purchase are treated as two completely separate events. If your tracking code sends form_submit but your GA4 configuration expects form_submission, the data will never connect. Open your events list and compare each name character by character against what your tag or code is actually sending.

To verify events are firing in real time, use the GA4 Realtime report. Walk through your conversion flow, complete the action (submit a form, reach a thank-you page, complete a purchase), and watch the Realtime report for the event to appear. It should show up within seconds if the tag is firing correctly. If you see the event in Realtime but it is not appearing in your conversion reports, the key event toggle is almost certainly the culprit.

Common pitfall to avoid: Do not try to replicate Universal Analytics goals inside GA4 using destination-based logic in the same way. GA4 does not have "goals" in the traditional sense. Every conversion starts as an event, and that event must be explicitly marked as a key event in the Admin panel. If you migrated from UA and assumed your old goals carried over, they did not work the way you might expect.

How to know this step is resolved: You can see your target event in the Events list, the key event toggle is enabled, and the event appears in the Realtime report when you manually trigger the conversion action.

Step 2: Audit Your Google Tag Manager Setup for Firing Errors

If your events are configured correctly in GA4 but conversions still are not registering, the problem likely lives in your tag implementation. Google Tag Manager is powerful, but it introduces its own layer of complexity where small misconfigurations cause big tracking gaps.

Start by opening GTM and clicking Preview. This launches the Tag Assistant debug mode, which lets you walk through your site in real time and see exactly which tags fire on each page interaction. Complete your full conversion flow while watching the debug panel. For each step, check whether your conversion tag appears under "Tags Fired" or "Tags Not Fired."

If the tag is not firing, the issue is almost always with the trigger. Open the trigger associated with your conversion tag and review the trigger type. Ask yourself: does this trigger type actually match the user interaction on your site? Understanding Google conversion tracking end to end can help you identify where trigger mismatches occur.

Click-based triggers require the user to click a specific element. If your form submits via JavaScript without a traditional click event, a click trigger will never fire.

Page view triggers work well for thank-you page confirmations, but only if the thank-you page actually loads as a new URL. If your site uses a single-page application or shows a success message without a URL change, a page view trigger will miss it entirely.

Form submission triggers can be blocked by forms that prevent the default submit behavior, which is common with custom JavaScript form handlers.

While in debug mode, inspect the data layer. Click on a tag or trigger event and look at the data layer values at that moment. Confirm that any variables your tag depends on (like transaction ID, revenue value, or event category) are actually populated. If a required variable is undefined, the tag may fire but send incomplete or broken data to GA4.

Tag sequencing is another subtle issue worth checking. If your conversion tag fires before the GA4 configuration tag has initialized, the event has nowhere to go. In GTM, you can set tag sequencing rules to ensure the GA4 configuration tag fires first. Check this under your conversion tag's advanced settings.

Finally, verify that your GTM container snippet is installed on every page in the conversion path. It is easy to forget the thank-you page, especially if it lives on a different subdomain or is managed by a different team. Open the page source of your confirmation page and search for your GTM container ID (it looks like GTM-XXXXXXX) to confirm it is present.

How to know this step is resolved: In GTM Preview mode, your conversion tag appears under "Tags Fired" at exactly the right moment in the user journey, and the data layer variables are populated with accurate values.

Step 3: Check for Consent Mode and Ad Blocker Interference

Even when your tags and events are configured perfectly, a significant portion of conversions can go untracked due to consent restrictions and browser-level blocking. This is an increasingly common source of conversion data gaps, and it is one that many marketers overlook entirely.

Start with your cookie consent banner. If your consent management platform is blocking GA4 tags from firing entirely for users who have not yet accepted cookies, those users' conversions will never be recorded. Open your site in a fresh incognito window and decline all cookies. Then attempt to complete a conversion action and check whether the GA4 event fires in the Realtime report. If it does not appear at all, your consent setup is blocking tracking for non-consenting users.

This is where Google Consent Mode v2 becomes important. Consent Mode allows GA4 to operate in a limited capacity even when users decline cookies. Instead of blocking the tag entirely, Consent Mode enables Google to model conversions using aggregated, anonymized signals. For advertisers targeting EU users, Consent Mode v2 became required for sending data to Google starting in early 2024. If you have not implemented it, you may be losing a substantial portion of your conversion data from privacy-conscious markets. The broader issue of cookie-based tracking not working anymore is accelerating this shift across the industry.

To verify Consent Mode is configured correctly, check your GTM setup for the Consent Initialization trigger type and confirm that consent signals (ad_storage, analytics_storage) are being set before your GA4 tags fire.

Ad blockers present a separate challenge. Test your site with popular browser extensions like uBlock Origin and Privacy Badger enabled. Many of these tools block Google Analytics scripts by default, which means any user running an ad blocker will never appear in your GA4 data. This is not something you can fully fix at the tag level since it is a client-side limitation by design.

Browser privacy features add another layer. Safari's Intelligent Tracking Prevention and Firefox's Enhanced Tracking Protection actively limit cookie lifespans and block certain tracking scripts. These restrictions have steadily reduced the effectiveness of client-side, cookie-based tracking over the past several years. Understanding the tradeoffs between Google Analytics vs server-side tracking is essential for building a more resilient setup.

Understanding this reality is important: client-side tracking will inherently miss a portion of conversions. The question is how large that gap is for your audience. If your users skew toward privacy-conscious demographics or use Apple devices heavily, the gap may be significant.

How to know this step is resolved: Consent Mode v2 is implemented and verified in GTM, and you have a clear understanding of the estimated tracking gap caused by ad blockers and browser restrictions in your specific audience.

Step 4: Investigate Cross-Domain and Redirect Issues

If your conversion flow spans more than one domain, you are dealing with one of the more technically complex tracking challenges in GA4. This is especially common for e-commerce businesses using third-party payment processors, SaaS companies with separate checkout subdomains, or any site that redirects users through multiple URLs before reaching a confirmation page.

The core problem is this: when a user crosses from one domain to another, GA4 treats them as a new session by default. The original session data, including the source, medium, and campaign that brought the user to your site, gets lost. The conversion ends up attributed to a direct visit from the payment processor domain rather than your actual marketing channel. If you are experiencing this, our guide on cross-domain tracking not working properly covers additional solutions.

To fix this, navigate in GA4 to Admin, then Data Streams, then select your web data stream, and open Configure Tag Settings. Look for the "Configure your domains" section and add all domains involved in your conversion path. This enables the GA4 linker parameter (_gl) to pass session information across domains automatically.

After configuring cross-domain tracking, test the full conversion flow in an incognito window. While on the checkout or payment page, open your browser's developer tools and go to the Network tab. Filter for requests to google-analytics.com or analytics.google.com and confirm that your GA4 Measurement ID appears in the requests. Also check the URL in your browser's address bar after crossing domains to confirm the _gl parameter is present in the URL, which indicates the linker is working.

URL redirects are another common culprit. If any redirect in your conversion path strips query parameters, the _gl linker parameter gets dropped, breaking session continuity. This is particularly common with redirect services, shortened URLs, or server-side redirects that do not preserve query strings. Audit every redirect in your conversion path and confirm query parameters pass through intact.

Iframe-based forms and checkout flows create a separate problem. An iframe is a separate browsing context, which means GA4 cannot track user interactions inside it using standard client-side methods. If your form or checkout lives inside an iframe hosted on a different domain, standard cross-domain tracking will not work. This typically requires a custom implementation or a server-side solution.

How to know this step is resolved: You can complete the full conversion flow across all domains in an incognito window, the _gl parameter persists through each domain transition, and the conversion appears in GA4 attributed to the correct original traffic source.

Step 5: Validate Data Filters, Attribution Settings, and Reporting Views

Sometimes Google Analytics is actually tracking your conversions correctly, but your reports are not showing them due to configuration settings that filter or alter the data. This step is about ruling out reporting-layer issues before concluding that your tracking is broken.

Start with data filters. Navigate to GA4 Admin, then Data Settings, then Data Filters. GA4 allows you to create filters that exclude specific traffic types from your reports. The most common filter is an internal traffic filter that excludes visits from your own IP address or office network. If this filter is active and set to "Active" (not "Testing"), it will exclude any conversions you generate while testing from your own network. It can also accidentally exclude real users if the IP range is configured too broadly. Performing a thorough Google Analytics audit can help you catch these hidden filter issues before they corrupt weeks of data.

Check whether any active filters might be suppressing the conversions you are looking for. If you are not seeing your own test conversions, switch the filter to "Testing" mode temporarily so you can verify your tracking setup without permanently excluding your traffic.

Next, review your attribution settings. Go to Admin, then Attribution Settings. GA4 defaults to a data-driven attribution model with a 30-day lookback window for most conversion types. If your sales cycle is longer than 30 days, conversions from users who first clicked an ad more than 30 days ago will not be attributed to that campaign. Adjust the lookback window to match your actual conversion cycle. Many marketers run into broader Google Analytics attribution problems that stem from these default settings not matching their business reality.

The reporting identity setting is worth examining as well. GA4 offers blended, observed, and device-based identity options. The blended option uses Google Signals to stitch together cross-device sessions, which can actually improve conversion counts by unifying a user's journey across devices. The device-based option treats each device as a separate user, which can lead to undercounting if your users frequently switch between devices before converting.

Date ranges are a surprisingly common source of confusion. Double-check that your report date range actually covers the period when conversions should have occurred. A mismatched comparison period or an accidentally narrow date range can make it look like conversions are missing when they are simply outside the selected window.

Finally, account for data processing latency. GA4 standard reports can take 24 to 48 hours to fully process conversion data. If you are looking for conversions from the past few hours, they may not yet appear in your standard reports. Use the Realtime report to check for very recent conversions, and give standard reports at least 24 hours before drawing conclusions about missing data.

How to know this step is resolved: No active filters are blocking your target traffic, attribution settings match your conversion cycle, and your date range covers the correct period with enough time for data processing to complete.

Step 6: Compare GA4 Data Against Your Ad Platforms and CRM

Once you have worked through the technical configuration steps, it is time to step back and look at the bigger picture. Comparing GA4 data against your ad platforms and CRM helps you quantify the tracking gap and understand where it is coming from.

Pull conversion counts from Google Ads, Meta Ads, and any other active platforms for the same date range you are analyzing in GA4. Lay the numbers side by side. You will almost certainly see discrepancies, and that is normal. The important thing is understanding why they differ. The Google Analytics vs Facebook Analytics discrepancy is one of the most common examples of this phenomenon.

Each platform uses its own attribution model, lookback window, and conversion counting methodology. Google Ads counts a conversion every time a conversion action occurs after an ad click, using a 30-day click lookback window by default. Meta Ads defaults to a 7-day click and 1-day view attribution window. GA4 uses its own model based on your attribution settings. These differences alone account for significant variation in reported conversion counts, even when all tracking is working perfectly.

Auto-tagging and manual UTM parameters can conflict with each other. Google Ads uses auto-tagging to append the gclid parameter to ad click URLs. If you also have manual UTM parameters on the same URLs, they may overwrite each other depending on how your site handles query parameters. Check your Google Ads settings to confirm auto-tagging is enabled, and review your UTM strategy to ensure parameters are not conflicting.

Your CRM is your most reliable source of truth for actual leads and sales because it records real business outcomes rather than inferred tracking signals. Compare your CRM data for the same period to both GA4 and your ad platform numbers. If your CRM shows 100 leads but GA4 shows 40 conversions and Meta shows 80, you have a clear tracking gap in GA4. Work backward from the CRM number to identify where in the tracking chain the data is being lost.

This is where a dedicated attribution platform becomes genuinely valuable. Tools like Cometly are built specifically to unify data across all your ad platforms, your CRM, and your website into a single, accurate view. Rather than manually reconciling numbers across five different dashboards with five different attribution models, Cometly connects every touchpoint to actual revenue so you can see which campaigns are truly driving results. It bridges the gap between what your ad platforms claim and what your CRM confirms.

How to know this step is resolved: You have a clear picture of the discrepancies between GA4, your ad platforms, and your CRM, and you understand the specific reasons for each gap rather than treating all discrepancies as tracking errors.

Building a Tracking Setup You Can Trust Long-Term

Fixing a broken conversion tracking setup is only half the battle. The other half is making sure it stays accurate as your site evolves, privacy regulations tighten, and browser behavior continues to change.

Establish a monthly tracking audit routine. Once a month, walk through your key conversion flows manually, check the Realtime report to confirm events fire, review tag health in GTM Preview mode, and cross-reference your GA4 conversion counts against your CRM. Catching a broken tag early saves weeks of bad data.

Consider moving toward server-side tracking. Client-side tracking, where JavaScript tags run in the user's browser, is increasingly unreliable. Ad blockers, browser privacy features, and iOS restrictions all chip away at the accuracy of client-side data. Server-side tracking moves the data collection to your own server, bypassing browser-level blocking entirely and giving you far more reliable conversion data.

Cometly's server-side tracking and conversion sync capabilities are built for exactly this challenge. By capturing conversion data at the server level and feeding enriched, accurate events back to ad platforms like Meta and Google, Cometly improves both your reporting accuracy and the quality of data that powers ad platform algorithms. Better data in means better targeting, better optimization, and better results from your ad spend.

Here is a quick checklist to confirm your setup is solid: conversion events are configured and marked as key events in GA4, GTM tags are firing on the correct triggers with populated data layer variables, Consent Mode v2 is implemented for privacy compliance, cross-domain tracking is configured for all domains in your conversion path, data filters are reviewed and not accidentally excluding real traffic, attribution settings match your actual conversion cycle, and your GA4 data is regularly cross-referenced against your CRM and ad platforms.

Accurate conversion tracking is not a one-time setup task. It is an ongoing discipline. The marketers who scale their campaigns with confidence are the ones who treat their tracking infrastructure as seriously as their creative or targeting strategy.

If you are ready to move beyond the limitations of GA4 alone and build an attribution setup that captures every touchpoint across every channel, Get your free demo of Cometly today and see exactly which campaigns are driving your revenue.