MarTechRise Logo
Services
Industries
Case Studies
About
Insights
Get a Free Audit
MarTechRise Logo

Enterprise Analytics Experts

We build precision tracking systems that transform your data into actionable growth insights. Trusted by enterprise brands worldwide.

+91 63829 15027
Chennai, Tamil Nadu, India

Services

  • All Services
  • Analytics Implementation
  • Server-Side Tracking
  • Conversion Tracking
  • Free Audit

Company

  • About Us
  • Case Studies
  • Industries
  • Blog & Insights
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy
© 2026 MarTechRise. All rights reserved.
Powered byNK Modern Technology
Making data work for enterprise growth
Back to Blog

How to Fix Broken GA4 Tracking: 12 Common Issues and Solutions

M

BY MARTECHRISE TEAM

Author

May 07, 2026
7 min
Debugging GA4 tracking implementation

Table of Contents

Table of Contents

  1. Issue #1: Revenue Mismatch Between GA4 and Your Ecommerce Platform
  2. Root Causes
  3. The Fix: Server-Side Purchase Tracking
  4. Issue #2: Duplicate Events Inflating Metrics
  5. How to Diagnose Duplicates
  6. The Fix
  7. Issue #3: Cross-Domain Tracking Breaks Attribution
  8. The Fix: Configure Linker Parameter
  9. Issue #4: iOS Conversions Not Tracked (ITP Problem)
  10. The Fix: Server-Side Tracking
  11. Issue #5: Enhanced Measurement Events Missing
  12. Issue #6: Ecommerce Items Array Empty
  13. Issue #7: User ID Not Persisting After Login
  14. Issue #8: Consent Mode Blocking All Data
  15. Issue #9: Data Thresholding Hiding Metrics
  16. Issue #10: "(not set)" Appearing in Reports

Troubleshoot and fix the 12 most common GA4 tracking issues including revenue mismatches, duplicate events, cross-domain problems, and iOS conversion tracking.

AI Summary

Quick Overview

Troubleshoot and fix the 12 most common GA4 tracking issues including revenue mismatches, duplicate events, cross-domain problems, and iOS conversion tracking.

How do I test GA4 tracking without affecting production data?

Use GA4 DebugView while in GTM Preview Mode. This shows real-time events from your test session without mixing them into production reports. Alternatively, create a separate GA4 property for testing and point your dev environment to it.

GA4 tracking issues can silently destroy your data quality, leading to incorrect business decisions and wasted ad spend. From revenue mismatches to missing events, these problems are more common than you think. This troubleshooting guide covers the 12 most common GA4 tracking issues and exactly how to fix them.

Issue #1: Revenue Mismatch Between GA4 and Your Ecommerce Platform

Your ecommerce platform (Shopify, WooCommerce, Magento) shows $100K in revenue, but GA4 only shows $85K. This 15% discrepancy is usually caused by missing purchase events, duplicate transactions, or incorrect ecommerce parameter mapping.

Root Causes

  • Purchase event fires on order confirmation page, but users close browser before reaching it
  • Payment processor redirects break the session before purchase event fires
  • Incomplete ecommerce implementation missing required parameters
  • Event fires multiple times for same transaction
  • Currency conversion issues

The Fix: Server-Side Purchase Tracking

Implement server-side purchase tracking via your ecommerce platform webhooks. When an order is confirmed in your database, send the purchase event to GA4 via Measurement Protocol. This guarantees 100% capture regardless of browser behavior.

Issue #2: Duplicate Events Inflating Metrics

You see 2-3x more purchase or signup events than your database shows. This typically happens when multiple tracking implementations fire simultaneously (gtag.js + Google Tag Manager, or legacy Universal Analytics code still running alongside GA4).

How to Diagnose Duplicates

  1. Open GA4 DebugView and trigger a test purchase
  2. Watch the event stream - purchase should appear exactly once
  3. If you see multiple purchase events from one action, you have duplicates
  4. Check page source for multiple gtag.js or GTM containers
  5. Search for both gtag('config', 'G-... and GTM snippets

The Fix

Audit all tracking implementations. Remove hardcoded gtag.js if using Google Tag Manager. Ensure only ONE GA4 Configuration tag exists in GTM. Remove any Universal Analytics code (analytics.js or ga.js). Run everything through GTM exclusively for centralized control.

Issue #3: Cross-Domain Tracking Breaks Attribution

Users navigating from yoursite.com to checkout.stripe.com and back appear as new sessions. Conversions get attributed to "direct" traffic instead of the original source. This destroys your attribution data and makes campaigns appear ineffective.

The Fix: Configure Linker Parameter

Critical: Deploy this configuration on ALL domains in the linker array. Each domain must have the same Measurement ID and linker config.

Issue #4: iOS Conversions Not Tracked (ITP Problem)

Since iOS 14 and Safari Intelligent Tracking Prevention (ITP), client-side cookies are restricted to 7 days. Users who convert 8+ days after first visit lose attribution. For businesses with 14-30 day sales cycles, this destroys iOS attribution entirely.

The Fix: Server-Side Tracking

Implement server-side tracking to set first-party cookies with 1+ year lifetime. This bypasses Safari ITP restrictions and recovers 20-30% more conversions on iOS traffic.

Issue #5: Enhanced Measurement Events Missing

GA4 Enhanced Measurement auto-tracks scrolls, outbound clicks, site search, video engagement, and file downloads. If these events aren't appearing, the feature is disabled or blocked.

  • Go to GA4 Admin > Data Streams > Enhanced Measurement
  • Toggle ON all event types you want to track
  • Verify your consent management platform isn't blocking GA4 before user consent
  • Check ad blockers aren't removing gtag.js (use server-side to bypass)

Issue #6: Ecommerce Items Array Empty

Your purchase events show revenue but the items array is empty. This breaks product performance reports, merchandising analysis, and item-level attribution. You can't see which products drive revenue.

Issue #7: User ID Not Persisting After Login

You set User ID when users log in, but sessions before and after login aren't connected. This breaks cross-device tracking and logged-in/logged-out user journeys.

The fix: Set User ID on every page after login, not just the login page. Store user ID in a cookie or session and call gtag('config') with user_id parameter on each page load.

Issue #8: Consent Mode Blocking All Data

Google Consent Mode v2 is required for EU traffic as of March 2024. If implemented incorrectly, GA4 collects no data until users accept cookies (60-70% never do). Consent Mode allows cookieless pings that preserve modeled attribution without storing cookies.

Issue #9: Data Thresholding Hiding Metrics

GA4 applies data thresholding when user counts are low to protect privacy. You'll see a threshold icon and some data will be hidden. Solutions: increase traffic volume, remove User ID if not critical, or export to BigQuery where thresholding doesn't apply.

Issue #10: "(not set)" Appearing in Reports

(not set) appears when a dimension has no value. Common causes: missing UTM parameters, empty dataLayer variables, events firing before gtag config loads. Fix: implement a proper data layer with default values and ensure gtag config loads before any events fire.

How do I test GA4 tracking without affecting production data?
Use GA4 DebugView while in GTM Preview Mode. This shows real-time events from your test session without mixing them into production reports. Alternatively, create a separate GA4 property for testing and point your dev environment to it.
What is the fastest way to validate ecommerce tracking?
Check three things: (1) GA4 DebugView shows purchase events with transaction_id and full items array, (2) Monetization > Ecommerce purchases report shows matching revenue, (3) Compare GA4 transaction count vs your platform daily - should match within 2-3%.
Need expert help fixing GA4 tracking?

Share Article

Share:
Newsletter

Stay ahead of the curve

Get the latest insights on AI, web development, and design — delivered weekly. No spam, ever.

Join 1,000+ readers. Unsubscribe anytime.