Skip to Content
AI Crawlers

AI Crawlers

ChatGPT, Claude and Perplexity read your site. Your analytics snippet cannot see any of it, and no amount of configuration will change that.

This page explains why, and what to install instead.

Why the snippet can’t see them

sa.js runs in the browser. It records exactly what a browser executes: a page loads, the script runs, it reports a page view.

An AI crawler executes nothing. GPTBot, ClaudeBot, PerplexityBot and CCBot make one HTTP request, read the bytes that come back, and leave. They never build a DOM, never run a script, and never fire a request to Snow.

This is architectural, not a setting. A <script> tag in <head> can only run if something runs it. A crawler that only fetches bytes will never record a visit, in Snow or in any other client-side analytics tool.

That traffic is roughly 82% of AI bot volume, and by default it is invisible to everyone.

The fix: report from your server

Your server does see every one of those requests. So the crawler half of Snow installs there: a small piece of middleware reads the User-Agent and source IP of each request and reports it to Snow.

This is a second, separate install. It does not replace your tracking snippet, so keep that exactly as it is. The two halves measure different traffic and never overlap.

What it seesWhere it installs
sa.js (tracking snippet)Humans, and agentic browsers that run JavaScript (ChatGPT Atlas, Perplexity Comet)<head> on every page
Crawler reportingCrawlers that only fetch: GPTBot, ClaudeBot, PerplexityBot, CCBotYour server, middleware or edge

The three legs

Once both halves are installed, Snow can follow an AI-driven visit end to end:

Crawl

An assistant’s crawler fetches your page. Shown on the AI Traffic section.

Citation

The assistant uses your page to answer someone’s question.

Visit

The person clicks through to your site. Snow already classifies these as AI referrals in Traffic sources (chatgpt.com, perplexity.ai, claude.ai, …).

The AI Traffic section joins the first and last: “GPTBot crawled /pricing 40 times and sent 3 visitors.”

What counts as an AI crawler

Snow reports AI crawlers specifically: 55 crawlers across 21 operators, sorted by what they were fetching for:

CategoryWhat it means
Answer fetchAn assistant read the page to answer someone right now.
Search indexBuilding the corpus assistants search before answering.
TrainingBulk fetches collecting pages as training data.
Other AIAI crawlers with no stated purpose, like ad and preview bots.
Markdown clientTook a Markdown version without a crawler token, usually coding agents.

General bots are a different thing

Snow filters ordinary bots out of your human analytics. Googlebot, Bingbot, uptime monitors, scrapers, and headless-browser checks never appear as visitors, so your visitor counts stay honest. That filtering is automatic and needs no configuration.

The AI Traffic section is the other side of that coin: it reports the AI crawlers separately, as crawls rather than visits. It is deliberately not a general “all bots” report, so:

  • Googlebot and Bingbot are excluded from the AI Traffic section, even though they feed AI answers indirectly. A well-indexed site can show zero AI crawler activity, which means no AI crawler has visited, not that the install is broken.
  • Uptime monitors, scrapers and vulnerability scanners are not reported here either. They are filtered from analytics and otherwise ignored.

Next steps