The 30-minute account health check
Use this when you first access a new account, or before presenting data to a client. It won't catch everything, but it will catch the problems that do the most damage to a report's credibility.
Quick Audit and Common Problems
Chapter 6 of 6 · GA4
Run a 30-minute account health check and identify the inherited problems that damage report credibility most. Chapter 6 of the GA4 Best Practice guide.
6 min read
Use this when you first access a new account, or before presenting data to a client. It won't catch everything, but it will catch the problems that do the most damage to a report's credibility.
30-minute health check
Green items are confirmed; amber ones go on the follow-up list with an owner and a date. Nothing is fixed live during the first pass.
Trigger the action in one window with DebugView open in another: the event should appear in the stream within seconds, carrying its parameters.
These are the patterns that come up most often when taking over an account someone else configured, or when auditing an account that's been running on autopilot.
| Problem | How it appears | Root cause | Fix |
|---|---|---|---|
| Conversion rate looks too high | Conversion rate of 15-25% on what should be a 2-3% site | Internal traffic not filtered; team's own visits are counted with a much higher conversion rate | Activate internal traffic filter; recalculate baselines after 2-4 weeks of clean data |
| "Direct" is the top channel | 30-50% of sessions attributed to Direct, even for a site with active paid campaigns | UTM parameters missing from email campaigns and paid social; some traffic losing attribution mid-session | Audit all campaign URLs for UTM coverage; add referral exclusions if attribution breaks mid-session |
| Conversion count doubles on checkout | More conversions than orders in the payment system | Payment gateway redirect creates a new session; purchase event fires twice (on return from gateway and again on a thank-you page reload) | Add referral exclusion for the payment gateway; deduplicate the purchase trigger in GTM using a dataLayer flag |
| Dozens of key events marked | 20+ events all marked as conversions; conversion count in reports is enormous | Previous analyst marked everything as a conversion "to track it better" | Unmark all but the 3-5 that represent real business outcomes; use standard event tracking for the rest |
| No data beyond 2 months in Explorations | Exploration reports return no data for date ranges older than 60 days | Data retention was never changed from the 2-month default | Change to 14 months now — but historical data already aged out cannot be recovered |
| camelCase and snake_case events mixed | Both formSubmit and form_submit appearing in the event list |
Multiple developers or tools (GTM, GA4 auto-events, hardcoded tags) creating events independently | Standardise on snake_case; consolidate in GTM; remove duplicate tags |
| Staging traffic mixed with production | Low-traffic pages appearing with disproportionately high engagement; staging hostnames visible | The same GA4 tag is loaded on the staging or development environment | Use a GTM environment variable to fire a different Measurement ID on staging, or block the tag on non-production hostnames |
Before — missing UTMs, no referral exclusions
After — tagged campaigns, gateways excluded
Nearly half the sessions hid in Direct because campaign links were untagged and the payment gateway broke sessions. The traffic did not change; the labels did.
5 of 8 checks passing
The score is a communication device: it turns 8 scattered admin screens into one status your client or team can track month to month.
The best time to audit a GA4 account is before you use its data to make a decision. The second best time is right now.
Advertisement
i