Audit Modules
Data Quality & Events module (61 checks)
With 61 checks, this is the most comprehensive module. It analyses your GA4 data for anomalies, measurement errors, and quality problems that aren't visible in standard GA4 reports.
Anomaly detection
The module runs statistical checks on your session, user, and event data over a rolling 90-day window. It identifies days where metrics deviate significantly from the baseline — spikes or drops that could indicate a tracking break, a bot attack, or a deployment issue. Anomalies are surfaced with their dates and the affected metrics, so you can correlate with your deployment history.
Bot traffic and spam
Although GA4 filters known bots automatically, sophisticated scraper traffic and referral spam can still enter the property. The module checks for known spam referrer domains, abnormally high bounce rates from single sources, and session patterns consistent with automated traffic. It also verifies that the GA4 "Filter internal traffic" filter is configured, as excluding developer and office IP addresses is a critical data quality step.
Self-referrals
Self-referrals occur when your own domain appears as a referral source in GA4, incorrectly creating new sessions mid-visit. This is typically caused by missing referral exclusions for payment gateways, third-party booking tools, or subdomains not covered by cross-domain tracking. The module identifies self-referral patterns and reports the specific domains causing session inflation.
Duplicate events
Duplicate events are one of the most common GA4 data quality issues. They often originate from a tag firing twice on the same page load (e.g. via both GTM and hardcoded script), or from a single user action triggering multiple dataLayer pushes. The module looks for event names with statistically improbable events-per-session ratios that suggest double-counting.
Engagement rate and session quality
An engagement rate below 20% or above 95% for most traffic sources is a signal of misconfiguration. Low engagement often means the engagement_time_msec parameter isn't being sent, or sessions are being created by bots. Very high engagement rates can indicate that the 10-second threshold is never being missed because page refreshes are creating new sessions. The module benchmarks your engagement rate against expected ranges per channel.
(not set) values
Excessive (not set) values in key dimensions like landing page, source/medium, or page title indicate broken tracking. The module checks (not set) prevalence across dimensions and flags those where the proportion exceeds acceptable thresholds. A high (not set) rate in landing page, for example, suggests page_view events are firing without the correct page_location parameter.
Still need help?
Contact our support team — we typically respond within 1 business day.
Contact Support