GA4 tracking errors can cause missing data, inaccurate conversions, duplicate events, and mismatched revenue. The good news? Most issues follow clear patterns—and can be fixed with a systematic approach. This guide walks you through the most common GA4 tracking errors, why they happen, and step-by-step solutions.
1. Events Not Firing
The problem:
Events fail to fire when tags are misconfigured, blocked by consent mode, or prevented from loading due to script errors or missing Measurement IDs.
Fix:
- Open GTM → Preview Mode to confirm if the event triggers properly.
- Ensure your GA4 event tag uses the correct configuration tag.
- Check the browser console for JavaScript errors blocking events.
- Verify consent mode setup:
- analytics_storage must be granted
- ad_storage must be granted
- Confirm the GA4 base tag is loaded across all pages.
Events fire only when tags, consent, and scripts work together properly.
2. Events Firing Twice (Duplicate Tracking)
The problem:
Duplicate GA4 scripts, overlapping GTM triggers, or purchase events triggered on page reloads lead to double-counting.
Fix:
- Search your site for duplicate GA4 or GTM scripts.
- Use ONLY GTM or native GA4 script — never both.
- Add once-per-event logic using a unique transaction_id for purchases.
- Audit GTM triggers to avoid overlapping triggers.
Deduplicating events ensures clean and accurate tracking.
3. Purchase or eCommerce Data Missing
The problem:
Missing purchase events, incomplete parameters, or late DataLayer pushes cause revenue and order data gaps in GA4.
Fix:
- Validate the purchase event inside GA4 DebugView.
- Ensure parameters include:
- transaction_id
- currency
- value
- items[]
- For GTM setups, ensure developers push the eCommerce data BEFORE the event trigger.
- Use consistent transaction_id values to prevent duplicates.
Proper eCommerce parameters ensure accurate revenue reporting.
4. GA4 Showing Lower Traffic Than Expected
The problem:
Ad blockers, incorrect tag placement, consent mode restrictions, or missing cross-domain tracking cause GA4 to underreport traffic.
Fix:
- Place GA4 tags immediately after the <head> tag.
- Set up consent mode correctly and test using a cookie banner.
- Enable cross-domain tracking under GA4 Admin → Data Streams.
- Consider server-side tracking to reduce data loss.
Better tag placement and server-side tracking improve accuracy.
5. Self-Referrals or Incorrect Source/Medium
The problem:
Missing cross-domain settings, stripped UTMs, or payment gateway redirects cause GA4 to misattribute sessions as self-referrals.
Fix:
- Add all relevant domains to the cross-domain settings.
- Use GA4 Admin → Data Stream → Unwanted referrals to exclude payment gateways.
- Check that UTMs are preserved during redirects.
- Ensure returning users from payment gateways pass tracking parameters.
Fixing attribution ensures your channels get proper credit.
6. Conversions Not Tracking
The problem:
Conversions fail when events aren’t marked as conversions, naming mismatches occur, or server-side data isn’t synced properly.
Fix:
- Go to Admin → Events → Mark the event as a conversion.
- Use lowercase, consistent event names (e.g., purchase).
- Check linking between GA4 and Google Ads for successful import.
- Wait up to 24 hours in case of reporting latency.
Correct event naming and toggles ensure conversions register properly.
7. GTM Not Sending Data to GA4
The problem:
Incorrect GTM containers, CSP restrictions, or conflicting hard-coded analytics scripts block events from reaching GA4.
Fix:
- Verify GTM → Versions to ensure your latest container is published.
- Confirm the correct GTM container snippet is installed (starts with GTM-).
- Check the console for CSP (Content Security Policy) errors.
- Remove outdated UA or GA4 scripts running outside GTM.
Clean, conflict-free tagging ensures smooth tracking.
8. DebugView Showing Data But Reports Are Empty
The problem:
DebugView shows real-time activity, but GA4 reports remain empty due to filters, incorrect parameters, or processing delays.
Fix:
- Ensure no data filters are excluding your traffic.
- Check event parameters to make sure they match GA4 expectations.
- Allow processing time (sometimes several hours).
DebugView ≠ Reports; GA4 needs time and proper parameters to process data.