How to track traffic from ChatGPT and Perplexity

AI assistants send real visitors and most tools file them as direct. How assistant referrals are identified, and why some are unattributable by any tool.

Here is a thing that happens to every founder shipping content in 2026. Direct traffic starts climbing. Not to the home page either, but to a comparison page three levels deep, the kind of page nobody types from memory and nobody bookmarks. Search is flat. Social is flat. Something is sending people and the report says the something is nothing.

It is usually an AI assistant. Half of why it looks like nothing is fixable and half of it is not, so it helps to know which half you are looking at.

What a referrer is, and why AI assistants drop it

When a browser follows a link it may send a header naming the page the link was on. That header has been in HTTP since 1996, misspelled as `Referer` in the original spec and never corrected, and it is the entire basis of every acquisition report you have ever read. Your analytics tool does not know where a visitor came from. It knows what that header said. Everything else in the report is inference stacked on top.

The header is optional. The browser decides whether to send it, the linking page can suppress it with a `Referrer-Policy`, and a native app is not a browser at all. It opens a system browser or an in-app web view, and what that hands over varies by platform, by client and by version. Which is why the same assistant can be plainly visible in your reports on Monday and invisible on Tuesday without you changing anything.

Which hostnames identify ChatGPT and Perplexity referrals

When an assistant does pass a referrer it identifies itself cleanly. There is no ambiguity to resolve and no fuzzy matching. It is a fixed list of hostnames, and grouping them into one channel takes about ten minutes in any tool that lets you write channel rules.

AssistantReferrer hostname
ChatGPTchatgpt.com, chat.openai.com
Perplexityperplexity.ai
Claudeclaude.ai
Google Geminigemini.google.com
Microsoft Copilotcopilot.microsoft.com
DeepSeekchat.deepseek.com
Grokgrok.com
Meta AImeta.ai
Mistralchat.mistral.ai, lechat.mistral.ai
Others worth addingyou.com, phind.com, poe.com

None of this is exotic and none of it is a differentiator any more. Google Analytics 4 gained a native AI-assistant channel group in 2026 and Plausible has its own AI Sources grouping. DataSpice reports the same hostnames as their own channel. If your current tool does not, the fix is a channel rule, not a migration.

Why half of AI assistant traffic is unattributable by any tool

Now the part most articles on this subject leave out. A large share of assistant traffic arrives with no referrer whatsoever, and no tool can attribute it. Not by trying harder, not with a smarter algorithm, not with machine learning. The information was never sent. A visit that arrives without a referrer looks exactly like somebody typing your address into the bar, and any product telling you otherwise is guessing and calling the guess a measurement.

Why UTM tagging does not recover AI referral traffic

The instinct is to reach for UTM parameters. It does not work, for a structural reason rather than a technical one. UTM tagging only works on links you place. You put the link in your newsletter, so you can tag it. You did not put the link an assistant generated while answering somebody's question, and you never will.

There is one narrow exception. If you publish a page specifically so assistants can quote it, say a documentation page or a pricing table, the canonical URL you advertise for it can carry a parameter. Some assistants preserve the URL as written. Most rewrite or strip it. Treat whatever you learn this way as a lower bound and never as a count.

How to spot AI assistant traffic without a referrer

When the referrer is gone the behaviour is still there, and assistant traffic has a recognisable shape. No single one of these proves anything. Together they are usually enough to know what you are looking at.

  • It lands deep. Direct traffic normally hits your home page, because that is what people type and bookmark. Direct traffic landing on `/pricing`, on a comparison page or on one specific article is not somebody typing.
  • Branded search does not move with it. A press mention or a newsletter usually lifts branded search alongside direct, because people look you up. An assistant hands over the link, so the direct line moves and the search line sits still.
  • It follows what you published, not when you published it. An article can sit quietly for weeks and then start producing arrivals, because an assistant began drawing on it. Search traffic ramps up. This switches on.
  • It is spread across time zones. A single social post usually concentrates in one. Assistant answers do not.

Compare the landing-page breakdown of your direct traffic against the landing-page breakdown of your search traffic. If direct is arriving on the same deep pages that rank, you are almost certainly looking at assistant referrals that lost their header on the way.

What you can control about how assistants cite you

Measuring assistant traffic is the second problem. The first is having any, and that is a supply question. An assistant can only cite a page it was able to read and able to understand.

  1. Let the agents in, by nameSeveral AI crawlers ignore `User-agent: *` and obey only a group that addresses them directly. A robots.txt with one wildcard block is the commonest reason a site that believes it is open to answer engines is not. Give GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot, Google-Extended and the rest their own blocks.
  2. Publish an llms.txtA plain-text file at your root saying what you do, who it is for, and the part most people skip, who it is not for. An assistant that can see where a product stops will recommend it more confidently inside that boundary, because you have given it a rule instead of a sales pitch. Ours is at /llms.txt.
  3. Answer the question in the words it was askedAssistants quote passages, not pages. A heading that poses the question with a paragraph underneath that answers it in full is quotable. Three paragraphs of throat-clearing before the answer is not.
  4. Make the facts checkableDates, version numbers, named limitations. A page that hedges everything is a page an engine will not risk citing, because it cannot tell which part is load-bearing.
  5. Then group the hostnames and watch the deep direct pagesWith the supply side handled, the measurement above tells you whether any of it worked.

What healthy AI-assistant referral traffic looks like

A realistic target is not full attribution. It is a channel you can name, a share of direct you have a defensible story for, and a list of pages that produce assistant arrivals so you know which ones to write more of. You can have all three by the end of the week. Perfect attribution is on the wrong side of the network and no amount of tooling brings it back.

The shorter version of how DataSpice handles this is on the questions page, and the comparison against the tools that do it too is in the comparisons.

Reporting assistant referrals as their own channel rather than folding them into direct is one of the things cookieless analytics for founders is for here, alongside the App Store and Stripe data in the same workspace.