Audit Modules
Data Quality & Events module (61 checks)
61 checks for anomalies, bot traffic, self-referrals, duplicate events, engagement quality, and (not set) values that don't surface in standard GA4 reports.
Anomaly detection
Statistical checks run over a rolling 90-day window on session, user, and event data. Days where metrics deviate from baseline — spikes or drops that signal a tracking break, bot attack, or bad deploy — are surfaced with dates and affected metrics so you can correlate against deployment history.
Bot traffic and spam
GA4 filters known bots, but sophisticated scrapers and referral spam still get through. The module checks known spam referrer domains, abnormally high bounce rates from single sources, and session patterns consistent with automated traffic — and verifies the "Filter internal traffic" filter is configured to exclude developer and office IPs.
Self-referrals
Self-referrals — your own domain appearing as a referral source — incorrectly create new sessions mid-visit. The cause is usually missing referral exclusions for payment gateways, third-party booking tools, or subdomains not covered by cross-domain tracking. The module reports which specific domains are inflating your session count.
Duplicate events
Duplicate events usually come from a tag firing twice (e.g. GTM and a hardcoded script), or one user action triggering multiple dataLayer pushes. The module flags event names with statistically improbable events-per-session ratios.
Engagement rate and session quality
Engagement rate below 20% or above 95% almost always means misconfiguration. Low engagement points to a missing engagement_time_msec parameter or bot traffic. Very high engagement points to page refreshes creating new sessions that bypass the 10-second threshold. The module benchmarks your engagement rate against expected ranges per channel.
(not set) values
Excessive (not set) values in landing page, source/medium, or page title mean tracking is broken. The module flags dimensions exceeding acceptable thresholds — a high (not set) rate on landing page, for example, points to page_view events firing without page_location.