A client forwards me an agency report. One line in bold: “AI citation rate: 34%”. I ask where the number comes from. From fifty questions, written by the agency, asked once. Seventeen answers mentioned the brand.
That is not a measurement, it is a poll. And like every poll, it mostly tells you something about whoever wrote the questions.
A generated answer leaves no click. It leaves three traces, and all three are already yours.
There is now a first-party number on the Google side. For everything else, the evidence sits in your own servers. Here is where I go looking, and in what order.
1. Search Console publishes AI impressions, and nothing else
It is a section of its own inside Search Console. The generative AI performance report counts how often links to your site were shown in AI Overviews and AI Mode, broken down by page, country, device and date.
What it does not give you: no clicks, no click-through rate, no queries. That gap is not an oversight to work around, it is an accurate description of what is happening. A generated answer does not isolate a query and guarantees no click. The report measures exposure, not traffic. So I never put it in the same column as organic clicks, and I never compute a rate out of it.
Two reading traps before you conclude anything. The first is aggregation: exactly as in the classic performance report, the chart aggregates by property and the table by page. Two of your URLs cited in the same answer count as one impression on the curve and two in the table. Your totals will not reconcile, and that is normal rather than a bug. The second is duller: the report is rolling out in waves, not every property has it yet, and Search Console carries a setting that excludes a site from generative AI features outright.
What I actually do with it: I open the Pages dimension, and only that one. The question is not “how many”, it is “through which door”. Which pages the AI borrows to answer in your place. On the accounts I run, they are rarely the service pages. They are the deep ones: a guide, a detailed method, a slightly technical article nobody had pushed. That list is worth an entire editorial plan.
The most expensive mistake
Reading a zero and drawing a conclusion from it. Three causes lead to the same empty screen: the property has not received the report yet, the site does not have enough impressions to trigger it, or an exclusion setting is ticked. Only one of the three is a content problem. Rule out the other two before you commission a single word.
2. Your logs say who came, and what for
Google aside, no assistant will send you a report. But all of them come through your server, and all of them leave a line in your logs. The good news: OpenAI, Anthropic and Perplexity have converged on the same three roles, and that split is exactly what you need in order to measure anything.
| What you see in the logs | What it is for | What it tells you |
|---|---|---|
GPTBot, ClaudeBot |
Collection for model training | Nothing about today’s visibility. Take it out of the count. |
OAI-SearchBot, Claude-SearchBot, PerplexityBot |
The assistant’s own search index | You are eligible. Blocked, you drop out of search answers. |
ChatGPT-User, Claude-User, Perplexity-User |
Fetch triggered by a user’s question | The closest thing to a citation happening in real time. |
OAI-AdsBot |
Checking a landing page submitted as a ChatGPT ad | Nothing to do with organic. Never count it in. |
The third row is the only one I really care about. A hit from ChatGPT-User or Perplexity-User on one of your URLs is not crawling: it is a person, right then, whose question led to your page. It is the closest thing to a citation, it is timestamped to the second, and it is already in your logs at no cost.
Those fetchers do not play by the same rules as the rest, and that changes everything the moment you touch your robots.txt. OpenAI writes that robots.txt rules may not apply to ChatGPT-User because the action is user-initiated. The same page adds that shutting out OAI-SearchBot removes the site from ChatGPT search answers, though it can still appear as a navigational link. Perplexity is blunter still: Perplexity-User generally ignores robots.txt, again because a human asked for the page. On the Anthropic side, disabling Claude-User prevents your content from being retrieved in response to a user query, which the documentation states plainly as a loss of visibility.
Which means refusing training does not stop on-demand retrieval. The two decisions are separate at all three vendors, and that separation is the only reason the debate is still workable.
Never count a hit on the user-agent string alone
A user-agent string takes three seconds to forge, and scrapers do it constantly. All three vendors publish their IP ranges in open files, and a hit that does not fall inside them does not enter my count. That is the difference between an indicator and the impression of a number.
The case I run into most often is not a content problem anyway, it is a firewall. A security rule, a plugin, a web application firewall filing these bots under unwanted traffic. Perplexity goes as far as documenting the configuration to set up on Cloudflare and on AWS so people stop blocking them, which tells you how common this is. Before you pay a tool to measure an absence, check that you did not create it. Once fixed, expect roughly twenty-four hours before the change is picked up.
3. The little traffic that does arrive
Then there are the visits. They come in with a readable referrer: chatgpt.com, perplexity.ai, claude.ai. The volume is small, and it will stay small for a while.
So I do not look at their volume, I look at their conversion rate and compare it to the rest of the site. A channel bringing forty sessions a month is worth nothing in volume. If it converts markedly better than classic search, it is worth a great deal in what it teaches you. The person arrives already decided: they asked, they read the answer, they came to check with you. That is not the same visitor as a click from position 7.
This figure is a floor, not a total: not every assistant-driven visit carries a usable referrer. It reads as a floor, and it belongs in a dedicated segment rather than buried in direct traffic. The mechanics are the same ones described in the article on what GA4 no longer sees, and they get wired up in the same pass.
4. What a monitoring tool actually measures
Platforms that query assistants on your behalf keep their purpose: they let you read what is being said about you, the tone, the competitors surfacing in your place. They do not measure how much. The citation rate they display is the rate for the sample of questions you picked. Change the questions and the rate changes. I have covered the monitoring method and the tools on the market elsewhere; what follows does not replace them, it puts them back in their place.
Google says it in its own documentation: no third-party tool has access to its internal ranking or AI systems, and it advises caution with anything claiming to use “internal” metrics. The same page makes two points that cut against most of what you read.
The first: from Google’s standpoint, optimising for generative AI search is optimising for search. GEO, short for generative engine optimization, describes a services market, not a technique separate from ordinary SEO work.
The second one is about me. I published an article here on llms.txt and controlling what AI reads on your site. Google now states in writing that Google Search ignores those files: creating one neither harms nor helps your ranking. The file keeps its meaning for third-party systems that read it, it has none for Google. The rest of that article stands, this point needs correcting.
There is one genuinely useful thing on that page: Google describes how its answers are built. The systems retrieve pages from the search index to ground the answer, and the model generates a set of related questions around the original one along the way. For “how to fix a lawn that is full of weeds”, it will also go looking for “best herbicides for lawns” and “remove weeds without chemicals”. So you are not cited because you answer the user’s question, but because you answer one of the questions the machine asked on their behalf. That changes how you write a page far more than any file at the root of your domain.
The three numbers I keep
One per source, read once a month, and nothing else.
- Generative AI impressions per page, in Search Console, read as a ranking rather than a total: which pages Google borrows to answer.
- The share of my commercially valuable pages that received at least one user-fetcher hit during the month, IP verified. That is my citation indicator, and it is first-party.
- The conversion rate of sessions referred by an assistant, compared with the site’s overall rate.
What I no longer track: average position on queries nobody types verbatim any more, and the citation rate of a home-made prompt panel. The first measures a shrinking world, the second mostly measures the skill of whoever wrote the panel. All of it lands in the same dashboard as everything else, which I go into on the analytics and reporting side.
In the crucible: weighing visibility that leaves no click
Three traces, then. An impression counter at Google, a log line on your server, a session with an unusual referrer. None of them replaces the click we used to get, and it is not coming back. Together they answer the only two questions that matter: do I exist in these answers, and through which pages.
The rest are polls. Good for listening to what is said about you, useless for telling you how much.
Not sure whether AI assistants come to your site?
Send me thirty days of server logs and read access to your Search Console. I will send back the list of pages assistants came to fetch, the pages Google borrows in its answers, and the bots your hosting blocks without having told you. Worst case you confirm everything gets through; best case you unlock, with one line of configuration, visibility you thought you had to buy.