This is the checklist we use internally when auditing GA4 implementations for enterprise clients. It covers everything from basic configuration to advanced e-commerce and consent setup.
Use this as a self-audit guide. If you find more than 5 issues, your implementation needs professional attention. If you find more than 10, your data is likely unreliable for business decisions.
1. Property & Data Stream Configuration
- GA4 property exists and is the correct type (not a UA property being confused with GA4)
- Data stream is configured for the correct domain(s)
- Enhanced Measurement is enabled with appropriate toggles (page views, scrolls, outbound clicks, site search, file downloads, video engagement)
- Measurement ID is correct and matches what is deployed on the site
- Internal traffic filtering is configured (IP filters for office, agency, developers)
- Referral exclusion list includes payment gateways and third-party checkout domains
- Cross-domain measurement is configured for all domains in the user journey
- Data retention is set to 14 months (not the default 2 months)
- Google Signals is enabled (if demographics and cross-device reporting are needed)
- Reporting identity is set appropriately (blended, observed, or device-based)
The most commonly missed item: data retention at 2 months (the default). This means you lose access to user-level exploration data after 60 days. Change it to 14 months immediately.
2. Tag Implementation (GTM)
- GA4 Configuration Tag fires on all pages (All Pages trigger)
- Only ONE GA4 Configuration Tag exists per measurement ID (no duplicates)
- Configuration Tag uses correct Measurement ID
- Page view is not being sent twice (Configuration Tag + separate page_view event)
- All custom events use proper naming convention (snake_case, no spaces, under 40 characters)
- Event parameters are registered as custom dimensions/metrics in GA4 Admin
- No PII (email, phone, full name) in event parameters or page URLs
- Tags fire in the correct order (GA4 config before custom events)
- Debug mode works (DebugView shows real-time events)
- GTM container is published (not just in preview)
3. Conversion Configuration
- Key events (conversions) are defined and marked in GA4
- Conversion counting method is correct (once per event for leads, every event for purchases)
- Conversion events actually fire when the action happens (test each one)
- No stale/legacy conversions that no longer receive data
- Google Ads conversion import is linked and receiving data (if using GA4 import)
- Conversion values are assigned where applicable
- Primary vs secondary conversion distinction is clear in Google Ads (if linked)
- No duplicate conversion tracking (GA4 event + separate Google Ads tag for the same action)
The #1 finding in our audits: conversion actions that have not received data in 30+ days. These ghost conversions pollute Smart Bidding signals and make performance reports meaningless.
4. E-Commerce Tracking
- All required e-commerce events are implemented: view_item, view_item_list, add_to_cart, remove_from_cart, begin_checkout, add_payment_info, add_shipping_info, purchase
- Purchase event includes: transaction_id, value, currency, tax, shipping, items array
- Items array includes: item_id, item_name, item_category, price, quantity
- Currency is set correctly (USD, EUR, etc.) and matches across all events
- Revenue in GA4 matches revenue in the e-commerce platform (within 5%)
- Refund events are implemented (if applicable)
- No duplicate purchase events (check for page refresh double-firing)
- view_item_list and view_item have proper item parameters for remarketing audiences
5. User Properties & Audiences
- User-ID is implemented for logged-in users (if applicable)
- User properties are set for key segments (customer_type, membership_tier, etc.)
- Custom audiences are created for key segments (purchasers, cart abandoners, high-value)
- Google Ads audience sharing is enabled (if running ads)
- Remarketing audiences have sufficient membership duration
- No PII stored in user properties
6. Google Ads Integration
- GA4 and Google Ads are linked
- Auto-tagging is enabled in Google Ads
- GA4 audiences are shared with Google Ads
- Key events are imported into Google Ads as conversions
- Imported conversions show data in Google Ads (not zero/inactive)
- Attribution model is consistent between GA4 and Google Ads settings
- Enhanced Conversions is enabled and verified
- If using GA4 import AND native Google Ads tags, no duplicate counting
Check this: Go to Google Ads > Goals > Conversions. Filter by source "Google Analytics 4." If any show "No recent conversions," your import link is broken. This is silent - no alerts, no warnings.
7. Consent & Privacy
- Consent Mode v2 is implemented (both ad_storage and analytics_storage)
- Default consent state is set correctly (denied for EEA, check for US state requirements)
- CMP integrates with GTM consent mode (consent update fires when user makes choice)
- Tags respect consent signals (no marketing tags fire when consent is denied)
- Consent state is visible in GTM preview mode
- GA4 receives consent mode signals (check in DebugView - consent parameters visible)
- Behavioral modeling is enabled in GA4 (to recover data from non-consented users)
- Privacy Policy and Cookie Policy pages are accessible and current
- Cookie banner appears on first visit in incognito mode
- No tracking scripts fire before the CMP initializes (check Network tab)
8. Data Quality & Validation
- Real-time report shows data when you browse the site
- Page view counts are reasonable (not doubled, not missing pages)
- Session counts align roughly with server logs or other analytics tools
- No "(not set)" values in key dimensions (page title, page path, source/medium)
- Self-referrals are not inflating session counts
- Bot/spam traffic is not inflating numbers (check for suspicious referrers)
- Hostname filter is applied (only your domains should appear)
- UTM parameters are working correctly for campaign tracking
- Site search tracking returns actual search terms (not "(not set)")
9. Reporting & Attribution
- Attribution model is explicitly chosen (not left on default)
- Reporting identity aligns with your data strategy
- Custom reports or explorations are set up for key business questions
- Automated exports are configured if needed (BigQuery, scheduled emails)
- GA4 property is connected to Looker Studio (if using for dashboards)
- BigQuery export is enabled (if raw data analysis is needed)
- Data freshness is understood (GA4 has 24-48 hour processing delay for standard reports)
Scoring your audit
Count the items you flagged as issues. Here is how to read the results:
- 0-5 issues found: Strong implementation. Focus on optimization and advanced features.
- 6-10 issues found: Decent foundation but data reliability is questionable. Fix the gaps before making business decisions from this data.
- 11-20 issues found: Significant problems. Your reports are likely misleading. Prioritize the conversion and consent sections.
- 20+ issues found: The implementation needs to be rebuilt. Consider engaging a specialist before spending more on ads optimizing against this data.
Want us to run this checklist for you? Our Digital Maturity Index scores your implementation automatically across 5 dimensions. Run a free scan at rawsoft.com/dmi and we will tell you exactly where your GA4 setup stands.