adop.tools
Guides /

Quick Audit and Common Problems

Chapter 6 of 6 · GA4

Quick Audit and Common Problems

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

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.

30-minute health check

Real-time report shows events from all major page types Reports: Real-time · browse the site while watching
Internal traffic filter exists and is set to Active Admin: Data Settings: Data Filters · check State column
Data retention is set to 14 months Admin: Data Settings: Data Retention
3-5 key events marked, no more Admin: Events · filter by "Marked as key event"
Unassigned channel is under 5% of sessions Reports: Acquisition: Traffic Acquisition · sort by sessions
No staging or dev hostnames in the Pages report Reports: Engagement: Pages · scan for staging.*, dev.*, localhost
No payment gateway domains in the Referral channel Reports: Acquisition: Traffic Acquisition · filter by Referral · check domain names
No email addresses visible in DebugView event parameters Admin: DebugView · trigger a form submission and inspect parameters
First-access checklist, part-way through · illustrative example
Data retention set to 14 months
Timezone and currency match the business
Internal traffic filter exists — but State is Testing
Key events defined (4 marked)
Referral exclusions — payment gateway still appearing
Google Signals setting reviewed
UTM coverage on active campaigns
DebugView test event received

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.

DebugView while you trigger the event yourself · illustrative example
14:02:11page_view
14:02:14scroll
14:02:19user_engagement
14:02:31form_submit← the event under test, seconds after you submit
form_id: contact  ·  form_destination: /thank-you

Trigger the action in one window with DebugView open in another: the event should appear in the stream within seconds, carrying its parameters.

Common inherited account problems

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
Acquisition channels, before and after the fixes · illustrative example

Before — missing UTMs, no referral exclusions

Direct 45% Unassigned 12% Organic 20% Paid 13% Referral (incl. Stripe) 10%

After — tagged campaigns, gateways excluded

Direct 18% Unassigned 2% Organic 32% Paid Search 22% Paid Social 14% Email 12%

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.

Account health at a glance · illustrative example

5 of 8 checks passing

Data retentionPass
Timezone & currencyPass
Internal traffic filterAttention
Key eventsPass
Referral exclusionsFailing
Google Signals reviewedPass
UTM coverageAttention
DebugView verificationPass

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