Duplicate event collection
What it looks atChecks whether the same user action is being counted twice under two differently named events.
Diagnostic checklist
These are the 30 rules AnalyticScan judges on every GA4 property. 19 are judged automatically through the GA4 API, 7 are judged by heuristic and then reviewed by a person in the report, and 4 can't be read from the API at all, so a person checks them by hand in the report. The exact thresholds behind each verdict live in the report's own evidence line.
What it looks atChecks whether the same user action is being counted twice under two differently named events.
What it looks atChecks whether custom event names are written consistently in lowercase with underscores.
What it looks atChecks whether a custom event is duplicating something enhanced measurement already collects, such as scrolls or file downloads.
What it looks atChecks whether an established event has gone quiet or swung sharply in volume over the past few weeks.
What it looks atChecks whether the property has accumulated events too small to analyze, or simply too many event types overall.
What it looks atChecks whether the events expected for the business type are all being collected, such as the full path from cart to purchase for commerce.
What it looks atChecks whether at least one key event is defined and whether it includes the business's actual final conversion.
What it looks atChecks whether any event marked as a key event is barely or never actually recorded.
What it looks atChecks whether revenue events such as purchase carry a value and a currency.
What it looks atChecks whether each key event is counted once per event or once per session in a way that matches what that event represents.
What it looks atChecks whether an earlier funnel step, such as add to cart, ever shows a lower count than a later one, such as purchase.
What it looks atChecks whether the parameters sent with events are registered as custom dimensions so they can actually be used in reports.
What it looks atChecks whether a key dimension is coming through blank at a rate that undermines analysis.
What it looks atChecks whether a dimension is receiving so many distinct daily values that GA4's reporting collapses it into an overflow row.
What it looks atChecks whether emails, phone numbers, or other personal data are leaking into page URLs or parameter values.
What it looks atChecks whether missing item ids or item names undermine the reliability of ecommerce item data.
What it looks atChecks whether event data retention has been left short, cutting off comparisons against past periods.
What it looks atChecks whether the property's time zone and currency match where its visitors and revenue actually are.
What it looks atChecks whether an internal traffic filter exists to exclude staff and developer visits, and whether it is actually active.
What it looks atChecks whether a referral source that resets sessions, such as a payment gateway's domain, is missing from the exclusion list.
What it looks atChecks whether Google Signals is enabled so cross-device user data can be used.
What it looks atChecks whether the session timeout has been changed from its default without a clear reason.
What it looks atChecks whether data streams are structured to match the site and are not split into more streams than necessary.
What it looks atChecks whether development or staging traffic, such as localhost, is mixing into production data.
What it looks atChecks whether moving between the business's own domains is being miscounted as a brand-new visit.
What it looks atChecks whether core dimensions such as channel or landing page are coming through unknown at a high rate overall.
What it looks atChecks whether traffic from paid clicks exists without the property being linked to Google Ads.
What it looks atChecks whether meaningful organic search traffic exists without the property being linked to Search Console.
What it looks atChecks whether the property is linked to BigQuery so raw data can be exported for later analysis.
What it looks atChecks whether the attribution model and conversion lookback window were changed from their defaults on purpose.