GA4 Not Collecting Data? A 10-Minute Troubleshooting Guide
You have set up Google Analytics 4, published your GTM container, and waited 24 hours. You open the GA4 real-time report expecting to see your own visit light up the screen — and nothing. Zero. Not a single event. Before you rip out the tracking and start again, take a breath. GA4 data gaps almost always trace back to one of six common root causes, and most take under ten minutes to diagnose and fix.
Quick Diagnostic Rule: Never judge GA4 tracking by standard reports on day one. Always test using GTM Preview Mode, the GA4 DebugView, or the Realtime Report. Standard reports carry a 24–48 hour processing delay.
Step 1: Is the Tag Actually Firing?
This sounds obvious, but it is the most common failure point. Open Google Tag Manager and click Preview. Load your website in the debug panel. If the GA4 Configuration tag does not appear in the "Tags Fired" column, you have a trigger problem.
Three quick checks inside GTM Preview:
- Trigger condition: Is your GA4 config tag set to fire on "All Pages" (or "Consent Initialization")? If it is set to a custom event that never fires (e.g. a consent event that has not been granted), the tag sits idle forever.
- Container published: GTM Preview shows the workspace version. If you made changes and forgot to publish, your live site still runs the old container. Check the GTM versions screen — the live version number must match your workspace.
- GTM snippet missing: Check your page source (
view-source:yoursite.co.uk) for both the<script>and<noscript>GTM snippets. Missing either one can break tag delivery.
Step 2: Consent Mode v2 — The Silent Gatekeeper
If you have implemented Google Consent Mode v2 (which every UK and EU site should have — the ICO and European DPAs expect it), your GA4 tag may be sitting behind a consent wall. By default, Consent Mode v2 sets analytics_storage to 'denied'. Until a user explicitly grants consent, GA4 tags fire in a "cookieless" mode that sends far less data.
To test this:
- Open your site in an incognito/private browsing window.
- Do not interact with the consent banner — leave it untouched.
- Open GTM Preview and check whether the GA4 tag shows a consent state of "denied" in the tag details.
- Now accept all cookies in the banner and check again. The tag state should flip to "granted" and full data should flow.
If your GA4 tag fires with consent denied but never transitions after consent grant, check your CMP integration. The CMP must call gtag('consent', 'update', {...}) when the user changes their preferences. Silktide, Cookiebot, and OneTrust all handle this automatically — but a custom CMP or misconfigured callback will leave consent permanently denied.
Step 3: Check Your Data Stream Configuration
Inside GA4 Admin, navigate to Data Streams and select your web stream. Two settings frequently cause complete data loss:
- Measurement ID mismatch: The Measurement ID (starts with
G-) in your GTM tag must exactly match the one in your GA4 data stream. A single wrong character means data goes nowhere. Copy-paste it directly to be certain. - Enhanced measurement disabled: Even if your GA4 config tag fires, enhanced measurement toggles (page views, scrolls, outbound clicks, site search, video engagement) are controlled inside the data stream settings. If all are switched off, you get zero automatic events. Toggle on at minimum Page Views and Scrolls.
Step 4: Internal Traffic Filters
GA4 has an "Internal Traffic" filter that excludes visits from specified IP addresses. If you or your developer defined an IP filter and your office or home IP matches it, your own traffic is silently excluded — making GA4 look broken when in reality it is working perfectly and filtering you out.
Check under Admin → Data Settings → Data Filters. Look for any active "Internal Traffic" filter. If one exists, switch it to "Testing" mode temporarily while you verify tracking, then re-enable it. While you are there, check "Developer Traffic" filters too — these operate the same way.
Step 5: Domain and Cross-Domain Mismatches
If your GA4 tag is configured with a specific domain in the cookie settings (e.g. cookie_domain: 'auto' or a hardcoded domain) and your site serves from a different subdomain or redirects through a payment gateway, the _ga cookie may not be set correctly.
For UK businesses running multiple subdomains (e.g. shop.example.co.uk and www.example.co.uk), configure your GA4 tag's Fields to Set with cookie_domain set to 'auto' — this lets GA4 figure out the correct domain scope automatically. Avoid hardcoding the domain unless you have a specific cross-domain tracking requirement.
Step 6: The 24-Hour Fresh-Data Delay
GA4 standard reports (not Realtime) have a processing latency of 24–48 hours for fresh data. If you set up tracking this morning, do not expect to see data in the standard reports today. Always verify with the Realtime report — it shows events within seconds. If Realtime shows your visit but standard reports do not, the system is working. Wait 24 hours.
Troubleshooting Summary Matrix
| Symptom | Likely Cause | Fix Duration |
|---|---|---|
| Zero events in Realtime report | GTM container not published or wrong Measurement ID (G-XXXXXX) |
2 minutes |
| Tag fires in GTM, but 0 users recorded | Consent Mode v2 default set to denied with no CMP update callback | 5 minutes |
| Colleagues' visits show, but yours don't | Internal IP Traffic filter active in GA4 Data Settings | 3 minutes |
| Realtime works, standard reports are empty | Normal GA4 processing latency (wait 24–48 hours) | Wait time |
UK-Specific Watch-Outs
UK businesses face a few extra considerations that do not apply to EU counterparts:
UK GDPR and the ICO
Post-Brexit, the UK operates its own version of GDPR enforced by the Information Commissioner's Office (ICO). The ICO has explicitly stated that analytics cookies require consent — the "legitimate interest" exemption some EU regulators tolerate does not fly in the UK. If your consent banner defaults analytics to "on" or uses implied consent, the ICO can issue enforcement notices.
.co.uk Domain Considerations
If you run a .co.uk domain alongside a .com or .eu variant and have GA4 tracking on both, make sure each domain has its own data stream (or proper cross-domain tracking configured). Merging .co.uk and .eu traffic into one stream without cross-domain configuration creates duplicate sessions and inflates user counts.
Still seeing zero data? North Digital diagnoses and fixes GA4 and GTM setups for businesses and agencies across the UK and EU. Get in touch with us and we will have your tracking validated today.