📲 Text PJ · 858-461-8054
TL;DR: Google Analytics troubleshooting:the 7 things that actually break. — most cases trace to a config mismatch, a hidden assumption, or a step skipped during setup. The fix path below covers the high-percentage causes first. If you're still stuck after 10 minutes, text PJ — most issues answered in one reply. 858-461-8054.
SideGuy Operator Triage · Google Analytics · 2026-05-27

Google Analytics troubleshooting:
the 7 things that actually break.

Most "Google Analytics not working" posts walk you through 47 things before naming the real cause. This is the operator-honest 7-step diagnostic — the seven failure modes that account for 95% of GA4 issues in 2026. Built for operators who need data working before standup, not certified marketers.

The 7-step diagnostic ladder

Run the 7 checks in order — most issues resolve at step 1-3. The deeper steps cover the edge cases that look unfixable until you know the failure mode.

STEP 1

Confirm the tag is actually on the page

View-source on any page · search for G-XXXXXXXXXX or gtag(. No match = tag never installed (CMS plugin disabled · code removed · wrong template). 80% of "GA not tracking" is just the tag not being on the page anymore.

STEP 2

Check Realtime, not reports

analytics.google.com → Realtime view → open your page in another tab. Should see active user within 30s. If Realtime shows 0 users, tag is blocked or wrong measurement ID. If Realtime works but reports are empty, you're hitting the 24-48h lag for new properties (NORMAL — wait 48h).

STEP 3

Consent Mode v2 blocking

As of 2026, GA4 requires Consent Mode v2 for EEA/UK/CA/WA/CT/CO traffic. If your CMP defaults analytics_storage to "granted" pre-consent, GA4 ignores those events. Fix: CMP defaults to "denied", flips to "granted" only on explicit user consent. Most operators have the legacy default that's now non-compliant.

STEP 4

Stream-ID / measurement-ID mismatch

Common after UA→GA4 migration · multi-property accounts · or copying a code snippet from the wrong place. Tag has measurement ID G-ABC123, but reports are configured for G-XYZ789. View-source measurement ID must match GA4 → Admin → Data Streams → Measurement ID exactly.

STEP 5

Cross-domain config broken

User clicks from yourdomain.com to app.yourdomain.com · second domain treats them as new direct visitor. Fix: GA4 → Admin → Data Streams → Configure Tag Settings → List cross-domains. All domains sharing visitor identity must be listed. Misconfig = "direct" traffic spike + broken attribution.

STEP 6

Server-side GA4 (sGTM) container broken

If you migrated to server-side tagging via Google Tag Manager Server, the Web GTM container may still be sending to google-analytics.com instead of your custom server URL. Network tab in DevTools should show requests hitting your-sgtm-domain.com, NOT www.google-analytics.com. If hitting Google directly, sGTM bypassed.

STEP 7

Sampling at high cardinality

GA4 samples queries above 10M events. Reports show sampling % at top. If <80%, your dimension combinations are too granular. Fix: reduce report granularity OR export to BigQuery (free under daily quota) and query raw data. GA4 360 ($150K+/yr) gives unsampled reports — usually not worth it under 50M events/month.

What's NOT broken (don't waste time on these)

(other) bucket in reports. GA4 applies privacy thresholds — low-volume dimensions show as "(other)". Normal, not a bug.

Realtime shows 1 active user that's not you. Google's crawl + monitoring traffic appears as realtime users. Normal.

Direct traffic at 30-40%. Safari ITP + Firefox ETP block GA4 client IDs increasingly in 2026 · "direct" share growing is structural, not your config.

Reports lag 24-48 hours for new install. Realtime works immediately · reports take time to populate. Wait 48h before assuming broken.

The deeper read · operator framing

Most "GA not working" isn't actually about GA. It's about a half-migrated setup · a CMP that's not compliant · or a multi-domain config that worked in UA but didn't translate to GA4. If your GA4 has been live > 18 months and the data feels off, the right move is a fresh GA4 install with consent mode + event taxonomy + cross-domain done correctly from day 1.

Untangling legacy GA4 config typically takes 3-5 hours · doing it fresh on a clean property takes 2 hours. The math favors fresh on most older accounts.

📲 GA4 broken before standup?

Text PJ direct · operator-to-operator. I've untangled GA4 messes for 30+ operators. No Calendly · no consultation fee · just text and we'll work through which of the 7 categories you're in and what to do.

Text PJ · 858-461-8054
📲 Text PJ