Free tool · runs in your browser
GA4 bot traffic checker
Since 2025 a wave of fake “Direct” visits from Lanzhou and Singapore has been landing in GA4, and GA4’s own bot filter lets it through. This checker finds the rows in your data that behave like scripts.
Or paste the CSV text
No export? Type three numbers
Use the numbers for one channel, for example Direct, for the last 30 days. A whole-site total mixes bots and people and hides the pattern.
How to export the right data from GA4
- In GA4 open Explore and start a Free form exploration.
- Dimensions: Session default channel group and Country (add City if you want to see Lanzhou by name).
- Metrics: Sessions, Total users, Views, Engaged sessions.
- Set the last 30 days, then Export data, CSV. Drop the file above.
The standard Traffic acquisition report works too, but it has no users or views, so the checker falls back to engagement, which is a weaker test.
How the checker decides
A person who likes your site comes back, and clicks to a second page. A script loads one URL and leaves, so its traffic has one session per visitor and about one page per session, row after row. We flag a row as bot-like when sessions per user is 1.05 or lower and views per session is 1.15 or lower, with at least 8 sessions. These are the same thresholds our own monitor uses on about 100 sites.
Rows that are nearly unengaged but miss the shape test are marked mixed. They count only toward the upper end of the range. Rows under 8 sessions are too small to call either way.
No checker can prove a single session is a bot. What this shows is a pattern, at the level of a channel and a country, that people do not produce.