Troubleshooting: measuring traffic properly (GA4 basics)

WatDaFeck RC image

Troubleshooting: measuring traffic properly (GA4 basics)

Measuring traffic properly is harder than it looks when you first set up Google Analytics 4, and this troubleshooting guide concentrates on the practical checks you need to resolve the common data problems that hide in plain sight. Start by accepting that discrepancies can come from tag setup, consent settings, filters, or simply misreading reports, and take a systematic approach to rule out each cause one by one.

First check the tag implementation and measurement ID on every page you expect to track. A missing or mistyped measurement ID produces no data, while duplicate tags generate inflated counts. Use the GA4 DebugView in the Analytics interface and the GTM Preview mode if you deploy tags through Google Tag Manager. Open a private window, enable DebugView by sending the debug parameter or using the GA4 debug extension, then exercise key pages to confirm events appear in near real time.

Second, inspect data stream settings and enhanced measurement options in the GA4 property. Enhanced measurement captures page views, scrolls and outbound clicks automatically when enabled, but if you rely on custom event tracking those events must be implemented consistently across environments. Pay attention to cross-domain settings if your site navigates users between domains, because broken cross-domain configuration will fragment sessions and make traffic look lower or higher than expected.

Third, consider privacy and consent mechanisms that block data collection. Consent banners, browser signal blocking, ad blockers and server-side consent rules can prevent hits reaching GA4. If you see missing traffic from particular browsers or devices, test with the consent banner set to accept, and compare results with a control environment that has no blocking. Remember that consent mode can alter how conversions are attributed rather than generating full raw hits, so check whether the data you expected is being modified rather than dropped.

Common symptoms and quick checks can help you isolate the problem efficiently.

  • Symptom: zero or near-zero traffic in Realtime. Check the measurement ID on the page and the DebugView to confirm hits are being sent.
  • Symptom: sudden drop after a deploy. Verify whether the deploy changed tag code, blocked third-party scripts, or changed cookie settings.
  • Symptom: duplicated pageviews. Inspect page source for multiple GA4 scripts or a GA4 tag plus GTM firing the same event.
  • Symptom: missing conversions. Ensure conversion events are marked correctly in GA4 and that event names and parameters match exactly.

Fourth, look at filters and internal traffic rules that may be excluding data unintentionally. GA4 allows you to define internal traffic by IP address and apply data filters, but misconfigured rules or a changed IP range will exclude legitimate visitors. Audit property settings for data filters, and use the Diagnostic or DebugView reports to see whether those hits are being dropped before they reach reporting. If you use server-side tagging, check that server endpoints are receiving and forwarding hits correctly.

Fifth, understand reporting nuances such as attribution windows, session calculations and time zone alignment that make raw numbers appear different. GA4 uses an event model rather than the old session-based Universal Analytics model, and sessions are assembled differently, which can affect bounce and session counts. Also confirm the property time zone matches your reporting expectations because a misaligned time zone causes daily totals to shift. Keep in mind that standard reports can also be affected by lookback windows and attribution settings when evaluating campaigns and conversions.

When you have isolated the issue, take corrective steps and validate them before declaring the problem fixed. Remove duplicate tags, correct measurement IDs, update consent flows, widen or narrow IP ranges for internal traffic, and reconfigure cross-domain tracking as required. Rerun DebugView and compare Realtime reports to expected behaviour, and document the change so future deployments do not reintroduce the same error.

If you want further reading on implementation patterns and common pitfalls, see the blog posts under the SEO & Growth label for practical examples and deeper explanations of GA4 concepts. For more builds and experiments, visit my main RC projects page.

Comments