Clearly
Chapter 3 of 6 · GA4

Layer 2: Data quality

Once the tag is firing, the next question is whether the data describes real customer behaviour. Internal traffic, bots, payment gateways, and short data retention all corrupt the numbers.

2 min read · Agency · Intermediate

Data quality is about whether the events you're collecting are describing real customer behaviour, or whether they're contaminated by internal visits, bot traffic, payment gateway redirects, or data that will age out before you need it.

Image placeholder

Internal traffic filter setup

A screenshot-style image of the GA4 Admin Data Filters panel showing an active internal traffic filter with the IP rule configured and State set to Active (not Testing). Callouts highlight the State column and the IP condition to draw attention to the two settings most often misconfigured: creating the filter but leaving it in Testing state, and entering an incorrect IP range.

Check What to look for How to verify Fix if failing
Internal traffic filter Filter exists AND is set to Active (not Testing) Admin: Data Settings: Data Filters — check state column Create an internal traffic IP rule; set filter state to Active
Data retention User and event data retention is set to 14 months, not the default 2 Admin: Data Settings: Data Retention Change to 14 months. Not retroactive — do it now
Referral exclusions Payment gateways and third-party portals not creating phantom referral sessions Acquisition report: look for unusual domains in Referral channel with high session count and zero conversions Add the domain to Admin: Data Streams: Configure Tag: Unwanted Referrals
Bot filtering Google's bot and spider filtering is enabled Admin: Data Settings: Data Filters — "Internal Traffic" and check for bot filter Enable in property settings (on by default in new properties but worth verifying)
PII in event data No email addresses, names, or user IDs (if personally identifiable) in event parameters or page paths DebugView: inspect parameter values on form_submit and page_view events Scrub in GTM before the hit fires; never pass raw form field values as parameters
Cross-domain (if applicable) Sessions don't break when a user moves between domains (e.g. main site to booking subdomain) Check if a new session starts in GA4 when you manually navigate between the two domains Configure cross-domain measurement in Admin: Data Streams: Configure Tag: Configure Domains
Depth guide: Filter Internal Traffic Out of GA4

Image placeholder

Before/after: removing internal traffic

A side-by-side chart showing session and conversion rate metrics before and after activating the internal traffic filter. Before: conversion rate is 14%, with agency IP visits included. After: conversion rate drops to 3.2%, which reflects real customer behaviour. The comparison illustrates how agency visits inflate conversion rate on low-traffic sites where internal visits represent a meaningful share of total sessions.

Data retention is the silent killer. Two months is long enough to fool you into thinking everything's fine — you can see recent data — but short enough to make year-over-year comparisons impossible and to lose data before a client asks for it. Change this on the first day you access any property.

PreviousLayer 1: Data collection NextLayer 3: Measurement