How to tell whether AI search sends you anything
The usual advice is to read your referral report. Google's own definitions say that misses AI Overviews entirely, and the strongest signal is not in analytics.
Somebody in the meeting asks whether any of the AI search work is sending actual visitors. The answer everyone reaches for is the referral report: open Analytics, look for chatgpt.com and perplexity.ai, read the number out loud.
That number is real. It is also the smallest of the signals available to you. It omits the largest AI answer surface on the web by design rather than by accident, and the signal most likely to matter never touches analytics at all. Google states the omission in one sentence of its own documentation, and OpenAI describes the missing signal in one sentence of its own.
The short answer
Three instruments, read together, because none of them answers it alone. Your server access log holds the fetches ChatGPT and Perplexity make when a person asks a question, and those never reach analytics at all. Analytics has an AI Assistants channel that, by Google’s own written definition, excludes AI Overviews and AI Mode, because those count as Organic Search. Search Console counts an AI Overview click as an ordinary click and gives every link in the answer one shared position, so it cannot separate them either.
Google’s AI answers are counted as ordinary search, and it is written down
Two sentences from Google’s own default channel definitions, both read against the live page on 12 August 2026:
Organic Search is the channel by which users arrive at your site/app via non-ad links in organic-search results, including Google’s AI Overviews and AI Mode.
AI Assistants is the channel by which users arrive at your site from sources like ChatGPT, Gemini, Deepseek, Copilot, or Grok. It excludes Google’s AI Overviews and AI Mode.
Both are on the default channel group reference. The AI Assistants channel is a genuine improvement and a lot of published advice predates it; if your reporting has not caught up, those arrivals are still sitting inside Referral, undifferentiated from blog and news traffic.
But read the pair together, because the line Google drew is not the line most people assume. It is drawn by who owns the surface, not by what kind of surface it is. Somebody who read an AI answer and clicked through to you goes in one bucket if the answer was ChatGPT’s and a different bucket if the answer was Google’s, and the two experiences are the same experience.
Search Console draws it the same way. Its documentation on clicks, impressions and position says of AI Overviews that “Clicking a link to an external page in the AI Overview counts as a click”, that standard impression rules apply, and that “An AI Overview occupies a single position in search results, and all links in the AI Overview are assigned that same position.” AI Mode gets one line to the same effect: “Clicking a link to an external page in AI Mode counts as a click.” The same page notes that Search Console does not include data from experiments in Search Labs.
So on Google’s surfaces an AI click is a click and an AI impression is an impression, both are inside your ordinary totals, and neither carries a label. There is now a separate Generative AI performance report covering those surfaces as their own view, which is worth turning on, and we wrote up what it can and cannot tell you in what an AI visibility score hides.
The visit that never becomes a visit
Here is the part a referral report cannot reach at all, because what it describes is not a visit.
OpenAI documents a user agent called ChatGPT-User and describes it plainly: “When users ask ChatGPT or a CustomGPT a question, it may visit a web page with a ChatGPT-User agent.” The same page adds that “ChatGPT-User is not used for crawling the web in an automatic fashion” and that “Because these actions are initiated by a user, robots.txt rules may not apply.” Perplexity publishes the same split, Perplexity-User for user-initiated fetches and PerplexityBot for automatic crawling. Both verified live on 12 August 2026.
Read what that actually describes. A real person asked a real question, and your page was fetched because of it. That is about as close to demand as a signal gets. And it is invisible to every analytics tool you own, for a dull reason: analytics is JavaScript running in a browser, and an agent fetch is an HTTP request that runs no JavaScript and sets no cookie. It leaves exactly one trace, in your server access log, and that trace is a string you can grep for.
That gives you a distinction no dashboard makes:
- an automatic crawler (GPTBot, OAI-SearchBot, PerplexityBot) read your page because it reads everything
- a user-triggered agent (ChatGPT-User, Perplexity-User) read your page because somebody asked a question
Only the second is a demand signal. They arrive at the same server on the same day, and the user agent is the only thing separating them.
What each instrument can honestly say
| Instrument | Sees | Blind to |
|---|---|---|
| Server access log | User-triggered agent fetches, by name, and automatic crawls separately | Whether a human read the answer, and whether one ever arrived |
| Analytics, AI Assistants channel | Arrivals from ChatGPT, Gemini, Deepseek, Copilot, Grok | Google’s AI Overviews and AI Mode, by definition. Arrivals that carry no referrer |
| Search Console | Google AI clicks and impressions, folded into the totals | Which of them were AI. Every non-Google engine. Search Labs |
The cheapest of the three is the only unambiguous one, and it is the one nobody sells.
The divergence read, and what it is not
Since Google will not label its AI clicks, any read of them has to be indirect, and the shape of it comes out of Google’s own documentation. An AI Overview takes one position and hands that position to every link inside it, and AI Overviews sit above the results. So a page cited in one collects a strong average position while the answer above the blue links does the job the click used to do.
The pattern to look for, per query rather than in aggregate: average position holding steady or improving while click-through falls toward zero.
We ran it on our own property this morning, over the 28 day window to 12 August 2026, and the result is uncomfortable enough to be worth publishing. Of the two dozen queries drawing the most impressions, eight hold an average position inside the top ten and return a click-through rate of zero across the entire window. The strongest of those averages position 4.6, and the only query in the set that earned a click at all sits at 3.2.
Then the same eight, read rather than counted. Six are informational how-does-this-work questions, which is exactly the question shape an AI answer settles in place. The other two are navigational, somebody typing a company name, and those have ordinary explanations with nothing to do with AI: one is a client’s brand and one is a word that belongs to an American energy publication rather than to us.
That split is the whole point, and it is why this is a screen and not a measurement. Position steady with click-through falling is equally consistent with a featured snippet, with more competitors crowding the page, with a title that reads badly, with seasonality, and with a query that was never yours. On its own it attributes nothing. What it does is hand you a short list of queries where the click stopped arriving despite the ranking, and that list is where the other two instruments are worth pointing.
Note what the same six look like on a rank tracker. Every one of them is a healthy green line.
What to do, in order
-
Read the access log first. It needs no tool, no vendor and no budget, and it is the only unambiguous signal you have. Count the user-triggered agents separately from the crawlers, because they mean different things:
grep -c 'ChatGPT-User' access.log grep -c 'Perplexity-User' access.log grep -cE 'GPTBot|OAI-SearchBot|PerplexityBot' access.logThe first two are people. The third is machinery.
-
Then the AI Assistants channel in analytics, remembering it excludes Google by definition, so it is a floor and never a total.
-
Then the divergence read in Search Console, per query, over a window long enough to be a rate rather than a reading.
-
Turn on the Generative AI report if your property has it yet, for exposure on Google’s AI surfaces.
-
Only then ask what the answers actually say, which is a different measurement with a different method. We describe ours in what an AI visibility score hides.
The question none of them answers
Somebody who read an assistant’s answer, saw your name in it and did not click has not appeared in any of the three. Neither has the person who read it, did not click, and typed your company name into Google a week later, because that arrives as brand search or as direct. No better tool closes that gap. It is the measurement problem print advertising had, arriving in a channel everyone assumed was fully instrumented.
So the useful move is to stop asking whether AI search sends traffic as though it were one number, and ask the two questions that have answers. Are the user-triggered agents fetching our pages, and which pages. And on the queries where they are, is the click still arriving. The first of those is in your log tonight. The second needs a window.
The structural reason a company finds itself absent from those answers in the first place is a separate subject, and we wrote it up in why AI assistants cite everyone except you. Everything above is the method rather than a teaser for it, and if you would rather someone else ran it, that is AI search visibility.