GA4 data quality usually degrades gradually, not all at once. Event names drift after GTM changes, filters stay in testing mode, unused custom definitions pile up, and access rights remain open long after agencies or employees move on. A data hygiene audit is the recurring check that catches those issues before teams build reporting or media decisions on bad inputs.
What a data hygiene audit should cover
A useful GA4 data hygiene audit is broader than a tag check. It should cover collection quality, configuration quality, and governance quality. Translating that result into a single comparable number is what a defensibledata quality scoring modelis for.
Collection quality asks whether the right events and parameters are being sent consistently. Configuration quality asks whether filters, enhanced measurement, custom definitions, and linked products still match the implementation. Governance quality asks whether access, ownership, and cleanup processes are in place so the property does not drift again next month.
The goal is not to make GA4 perfect in the abstract. The goal is to confirm that analysts, marketers, agencies, and ecommerce teams can trust the property for the decisions they actually make from it.
Audit your event names for consistency
Review the Events report for naming inconsistencies: mixed snake_case and camelCase, duplicate events tracking the same action, or events with misleading names. GA4 is case-sensitive, purchase and Purchase are separate events.
Check custom dimensions and metrics
In Admin > Custom Definitions, review every registered custom dimension. Identify any that are no longer receiving data, have excessive cardinality (more than 500 unique values), or were registered in error. Unregistered dimensions waste quota without appearing in reports.
Validate data stream filters
Go to Admin > Data Settings > Data Filters. Confirm the Internal Traffic filter is Active (not Testing). Verify the IP ranges defined actually cover your office and developer IPs. A filter left in Testing mode collects internal traffic as real data.
Review data streams for configuration drift
Open each data stream and check Enhanced Measurement settings. Confirm that only the events you intentionally track are enabled. Outbound Clicks and File Downloads are commonly enabled by default and generate noise if not needed.
Check user permissions for stale access
In Admin > Account Access Management and Property Access Management, review every user. Remove former employees, contractors, and agency accounts that no longer need access. Stale permissions are a data governance risk.
Review linked services for outdated connections
In Admin > Product Links, confirm every linked product is still in use. Remove Ads accounts, Search Console connections, or BigQuery links that are outdated. Stale links can cause unexpected data sharing.
Where teams usually find the first problems
Most properties do not fail because of one dramatic implementation mistake. They fail because small, unreviewed changes accumulate. A redesign adds a second purchase event. A GTM container update changes event casing. A CRM integration starts sending a custom parameter that was never registered. A filter stays in Testing mode for weeks.
That is why a hygiene audit should begin with high-signal checks: event naming, custom definitions, internal traffic filtering, enhanced measurement settings, and permissions. These are the areas that most often create silent reporting errors.
What to review in detail
- Event naming and casing: GA4 is case-sensitive.
purchaseandPurchaseare different events. Mixed naming conventions make reports harder to trust and harder to query in BigQuery. Thecustom events audit guidecovers how to walk through the Events report systematically. - Custom definitions: Registered dimensions and metrics should still be in use, mapped correctly, and understood by the team. Orphaned definitions create confusion and waste limited slots.
- Filters and exclusions: Internal traffic, developer traffic, and unwanted referrals should be reviewed against current office IPs, preview environments, and domain setup. High-cardinality dimensions feeding source/medium drift are often surfaced insource/medium cardinality reviews.
- Linked products and integrations: Search Console, BigQuery, Google Ads, and ecommerce platform integrations should be verified against the current implementation, not assumed from old setup notes.
- Access and ownership: If no one owns cleanup, drift returns. Access reviews are part of data quality, not just security hygiene.
Need a faster first pass on GA4 data hygiene issues before you review the evidence manually?
How to prioritise the findings
Not every hygiene issue matters equally. Prioritise the issues that distort decision-making first. Therecurring audit checklistcan be folded into this prioritisation so weekly monitoring keeps the high-severity issues visible between deeper hygiene reviews. Hidden(not set) valuesare usually the clearest signal that one of the lower-severity issues has already started distorting reports.
- Critical: duplicate purchase events, broken internal traffic filters, missing or inconsistent transaction identifiers, or access issues that allow uncontrolled edits
- High: stale custom definitions, noisy enhanced measurement settings, broken linked services, or cross-domain/self-referral problems
- Medium: unused reports, outdated collections, or inconsistent labels that reduce clarity without changing totals materially
What this audit does not prove on its own
- It does not replace business reconciliation: A clean GA4 property can still differ from a CRM, ad platform, or finance system for valid scope reasons.
- It does not replace browser verification: Admin settings can look correct while the live browser flow is still broken. Key journeys still need browser-level review.
- It does not replace analyst judgment: Some findings are clearly wrong; others depend on your measurement design. Major decisions should still be reviewed by a qualified analyst.
Data hygiene audit action plan
Use this plan to systematically validate your GA4 property health and fix the most common hygiene issues.
Validate
- Open the Events report and check for duplicate event names, case mismatches (e.g., Purchase vs purchase), and events with unexpectedly high or zero counts
- In Admin > Custom Definitions, check each registered dimension for data recency, zero data in the last 30 days may mean the parameter stopped being sent
- Confirm the Internal Traffic data filter status is Active, not Testing
- Review Enhanced Measurement settings on each data stream and disable any events that are not deliberately tracked
Fix
- Rename events via GTM rather than GA4 Event Rename. GTM renames apply at collection time rather than at reporting time and are more reliable
- Archive unused custom dimensions to free quota without permanently deleting the definition
- Set Internal Traffic filter from Testing to Active in Admin > Data Settings > Data Filters
- Remove stale user accounts in Property Access Management and audit linked product connections in Admin > Product Links
Watch for
- Sudden spikes in event counts after a site rebuild, often caused by duplicate GTM containers or changed data layer variable names
- Custom dimension quota approaching the limit (50 event-scoped, 25 user-scoped), a sign that dimensions are being registered without a cleanup process
- Team changes or agency handoffs, the most common trigger for permission drift and unintended configuration changes
Data hygiene audit checklist
- Event names are consistent in casing and naming convention across all streams
- Custom dimensions have been reviewed and unused ones archived
- Internal Traffic filter is Active (not Testing)
- Enhanced Measurement events reviewed, only intentionally tracked events are enabled
- User permissions audited, no stale accounts from former employees or agencies
- Linked services reviewed, no outdated Ads, Search Console, or BigQuery connections
- Custom reports created for recurring KPIs the full team checks regularly
- Dimensions and metrics in each report share the same scope
- Exploration is used for one-off analysis; custom reports reserved for permanent team-accessible views
Related guides to read next
GA4 Audit Checklist
A complete weekly monitoring routine with the checks that catch the most common GA4 data quality failures.
GA4 Property Configuration Checks
The full list of property-level settings to review on every GA4 audit.
GA4 (not set) Values
Why (not set) appears in GA4 reports and how to fix each specific cause.
Google Signals in GA4 Explained
What Google Signals does, when to enable it, and the thresholding consequences you need to know about.
Automate your GA4 data hygiene audit
GA4 Audits helps surface configuration drift, event naming issues, filter problems, and other property-level checks so your team can review the evidence faster.