How to exclude bot traffic from GA4 (and why its built-in filter isn't enough)
Ask Google and the answer is reassuring: GA4 excludes known bots and spiders automatically. True — and increasingly beside the point, because that filter matches against the IAB's known-bots list, built for an era when bots politely announced themselves.
What GA4's filter actually catches — and misses
| Traffic | Does GA4 count it? |
|---|---|
| Googlebot, Bingbot, classic crawlers | Filtered (IAB list) ✅ |
| GPTBot, ClaudeBot, PerplexityBot | Never seen at all — they don't run JavaScript, so the GA4 tag never fires. Your server is doing the work; GA4 just can't show it |
| Agentic browsers (ChatGPT agent mode, Comet) | Counted as humans — real Chrome, real JS, walks your funnel like a person |
| Headless scrapers with a Chrome user-agent | Counted as humans |
| Humans referred by ChatGPT/Perplexity | Counted — but buried in "Direct", misattributed |
So the two AI-era problems are exactly the ones GA4 can't solve internally: it counts sophisticated non-humans as people, and it can't see the crawlers reading you. There's no user-agent exclusion rule you can write in the GA4 UI to fix either (internal-traffic filters match IPs, not behavior).
The fix: filter at the tag, not in the report
Filtering inside GA4 means your property already ingested the junk. The cleaner model fires the GA4 tag only when the visitor is classified human — bots never inflate sessions, engagement, or conversion rates in the first place, and no report surgery is needed afterwards.
That's a trigger, not a script: classification happens first (including automation signals
that catch masked browsers, plus IP verification of claimed crawlers), then the tag decides.
Already on Google Tag Manager? The GTM bridge pushes
visitor_type into your existing dataLayer, so your current GA4 tag becomes human-only by
switching one trigger — no migration.
Where VisitorType fits
VisitorType classifies every visit — human, AI crawler, AI search bot, assistant fetch, agentic browser — and ships a one-click Humans only trigger for exactly this. Your GA4 numbers stop arguing with your gut: create a free account, pair the GA4 template with Humans only, publish, done.
See which AI agents visit your site — free.
Start with VisitorType