In short
- A visitor from an assistant is a person who clicked a link in an answer. Their browser usually sends a referrer, and that is your evidence. Count them as their own channel, not inside Google.
- An AI crawler is software that fetched your page. It is not a visitor, it never runs your analytics script, and it shows up only in your server or CDN logs.
- AI Overviews and AI Mode clicks come through Google, so they land in Search. You cannot split them in your own analytics. Search Console is where Google reports them.
- Every count of AI visitors is a floor. Some apps send no referrer, and those visits look like Direct.
Two things people call AI traffic
When someone says "we get traffic from ChatGPT", they mean one of two events, and the numbers behave very differently.
A person clicked. An assistant answered a question, showed a link to your page, and the person followed it. A real session starts on your site, your script runs, and you can see what they did next: pages, goals, revenue.
A robot fetched. To answer, or to build the index an assistant draws on, a crawler requested your page. Nobody saw it yet. It never executes JavaScript, so a browser script cannot count it. Mixing these two gives you a total that means nothing, so keep them in separate columns.
Measuring the people who click
Start with the referrer: the address of the page a visitor came from, which the browser sends with the request. Assistants that open links in the browser leave a recognisable host behind. The ones to expect:
| Assistant | Referrer host you will usually see |
|---|---|
| ChatGPT | chatgpt.com (older links: chat.openai.com) |
| Perplexity | perplexity.ai, www.perplexity.ai |
| Gemini | gemini.google.com |
| Claude | claude.ai |
| Microsoft Copilot | copilot.microsoft.com |
Two details make this more reliable than it sounds. First, ChatGPT commonly adds utm_source=chatgpt.com to the links it shows, so even when the referrer is stripped, the UTM parameters can still name it. Second, order matters when you classify: the check for assistants must run before the check for search. Gemini lives on a Google host, and a classifier that tests "is this Google?" first files Gemini visits under Google search.
In trckable this is built in: visits from assistants go to their own channel, AI assistants, next to Search, Social, Email and the rest. There is nothing to configure beyond the normal script. If you use another tool, create a channel or a segment from the hosts above and check how it orders its rules.
Try it in trckable
Open Who came and the AI & Search tab: the assistants column lists visitors by assistant, and clicking a row filters the whole dashboard to those visits, so you can see which pages they read and what they did.
The part that is not measurable
Be wary of anyone who gives you an exact figure. Four gaps are structural:
- No referrer. Some assistant apps open links in a way that sends nothing, and links copied out of a chat and pasted elsewhere carry nothing. These visits arrive as Direct. The AI count is a minimum.
- Google's AI features. Google says that clicks from AI Overviews and AI Mode are counted in Search Console's web search totals, with no separate label (AI features and your website). To your analytics they are plain Google visits.
- Answers without a click. An assistant can quote or summarise your page and send nobody. That exposure has no visit attached, so no analytics tool sees it. The only way to look is to ask the assistants your customers' questions yourself, now and then, and note whether you appear.
- Small numbers. For most sites AI visitors are usually a small share of traffic, so a week of data can be a handful of sessions. Compare months, not days.
Seeing the robots
A crawler needs a different instrument, because it never loads your script. The place that sees it is whatever answers the request: your web server, your CDN or an edge function. The usual robots to look for in the user agent:
- OpenAI documents three:
GPTBotfor training data,OAI-SearchBotfor the search feature, andChatGPT-Userfor pages fetched when a person asks (OpenAI's bots). - Perplexity documents
PerplexityBotandPerplexity-User(Perplexity's bots). - Anthropic runs
ClaudeBotand related agents; Google usesGoogle-Extendedas a robots.txt switch that controls whether your content is used for Gemini training and grounding; it is not a separate crawler.
Treat user agents as a claim, not proof: anyone can send one. The vendors publish IP ranges you can check a request against when it matters.
In trckable your server or CDN reports each robot request with one call to /api/crawl, and the dashboard shows which robots read which pages. Only the robot's name, the page and the day are kept: no address, no cookie, no visitor. A user agent trckable does not recognise as a robot is thrown away. The setups for a Cloudflare Worker, Vercel middleware, nginx and Caddy are in the AI & Search docs.
What to do with the numbers
Put reads and visitors side by side for each page. Three patterns repay a look:
- Read a lot, sends nobody. The page may be used in answers without a link, or its title gives no reason to click. Try a clearer title and a first paragraph that answers the question in full and leaves the next one open.
- Sends visitors, rarely read. Fine, but check that you are not blocking a crawler you want by accident.
- Ranks in Google, never read by AI. Check
robots.txt, a login wall, or content that only appears after JavaScript runs. Robots do not run it.
Then ask the question that matters more than volume: do these visitors do anything? Tag a goal, such as a sign-up, and compare its conversion rate for the AI channel against the others. A small channel that converts well is worth more than a large one that does not.
If you do not want some robots on your site, say so in robots.txt; the AI crawler robots.txt generator writes the file for you, grouped by training, search and user-initiated crawlers. It is a request, not a lock. The well-known crawlers honour it, but fetchers that act on a person's request, such as ChatGPT-User and Perplexity-User, may not. Blocking a crawler also removes you from what it can cite, so decide it page by page, not as a reflex.
Questions
- Can I see ChatGPT traffic without Google Analytics?
- Yes. Visitors who click through from ChatGPT arrive with a referrer, often with
utm_source=chatgpt.comas well. Any analytics tool that reads referrers and UTM parameters can show them; trckable files them under the AI assistants channel with no setup. - Why do AI crawlers not show up in my analytics?
- Crawlers do not run JavaScript, so a browser script never sees them. Only your server, CDN or edge code does. That is why they need a separate report from the visitor numbers.
- Are visits from Google's AI Overviews counted as AI traffic?
- Not in your own analytics. They arrive as Google visits. Google reports them inside Search Console's search totals, without a separate label for the AI features.
- Is the AI visitor count complete?
- No. Some assistants and apps send no referrer, so their visits count as Direct. Treat the number as a minimum, and watch its trend rather than its exact value.
The newsletter
Notes on measuring what matters.
Occasional emails from Albi: new posts, one chart worth reading, what changed in trckable.
We send one email to confirm your address, and nothing more until you confirm. Every newsletter has a link to leave. What we keep, and who sends it: privacy.