How Do You Measure AI Search Visibility? Four Real Data Sources
AI search visibility is measured from four places: Search Console, analytics referrals, server logs and a fixed monthly prompt panel. None of them is complete on its own. Together they tell you whether assistants read your pages, whether they send anyone, and whether they name you when your customers ask.
By George Shvaya · · 9 min read
Most conversations about AI visibility stall at the same point: someone asks for the number, and there is no single number. Google does not break AI features out in Search Console. OpenAI, Anthropic and Perplexity do not publish a dashboard of who they cite. The vendors that sell “AI visibility scores” are running their own prompt panels and calling the result a metric.
That does not mean the question is unanswerable. It means you assemble the answer from four sources that each see a different slice of the problem. This article covers what each one measures, what it structurally cannot measure, and how to put them in a monthly report that will not mislead you. It is the measurement half of the AI Search Playbook.
Source 1: Google Search Console
What it answers: how Google, including its AI features, is showing your pages.
Google’s documentation on AI features and your website is explicit on two points. First, a page has to be indexed and eligible to appear with a snippet before it can appear in AI Overviews or AI Mode, and “there are no additional technical requirements.” Second, traffic from those features is reported in the Performance report under the “Web” search type. There is no AI Overviews filter.
So Search Console will not hand you an AI number. What it will show you:
- Impressions rising while clicks stay flat on question-style queries. That shape is consistent with a page being summarised in an AI answer rather than clicked from a blue link. It is a hypothesis, not proof, but it is the cheapest one you have.
- Position changes on long, conversational queries. Queries that read like a sentence someone typed into an assistant tend to be the ones AI features pick up. Filter the Queries report to phrases of six words or more and watch them separately.
- Indexation itself. Indexed divided by submitted in the Pages report is a prerequisite for every other source on this list. An unindexed page cannot appear in an AI Overview and is unlikely to be fetched for anything else. If that ratio is poor, read why index coverage, not content, is usually the problem before spending on measurement.
What it cannot tell you: which impressions came from an AI feature, and anything at all about ChatGPT, Claude, Perplexity or Copilot.
Source 2: Analytics referrals
What it answers: did an assistant actually send a person to your site, and what did that person do.
When an assistant includes a link and someone clicks it, the visit usually arrives with the assistant’s hostname as the referrer: chatgpt.com, perplexity.ai, copilot.microsoft.com, gemini.google.com. Links inserted by ChatGPT commonly carry utm_source=chatgpt.com as well, which lands in the source dimension even when the referrer does not.
In GA4 the practical setup is:
- Open Explore and create a free-form exploration with Session source / medium and Page referrer as dimensions, sessions and key events as metrics.
- Add a filter: session source contains
chatgpt.com. Duplicate the tab forperplexity.ai,copilot.microsoft.comandgemini.google.com, or use a single regex filter across all four. - Save it as a segment so you can compare assistant visitors against organic search visitors on engagement and conversion.
- Add landing page as a dimension. The pages that assistants send people to are the pages they are reading. That list is more useful than the session count.
Expect the volumes to be small relative to organic search. That is normal, and it is not the point. The point is which pages are being used, and whether the visitors who do arrive behave like qualified traffic.
What it cannot tell you: answers that named you without a link, or with a link nobody clicked. And it undercounts the clicks it does see: in-app browsers and privacy settings strip referrers, so treat every figure here as a floor, not a count.
Source 3: Server or CDN logs
What it answers: which AI systems are reading your pages, which pages, and how often.
This is the source most businesses never look at, and it is the only one that shows the assistants’ side of the exchange. Each vendor publishes the user-agent strings its systems send, and they split cleanly into three jobs: building a search index, fetching a page on a user’s behalf, and collecting training data.
| User agent | Vendor | Documented purpose |
|---|---|---|
| OAI-SearchBot | OpenAI | Surfaces sites in ChatGPT search; a search-index crawl |
| ChatGPT-User | OpenAI | Fetches a page while answering a user; not an automatic crawl |
| GPTBot | OpenAI | Collects content for model training |
| Claude-SearchBot | Anthropic | Indexes content for Claude search results |
| Claude-User | Anthropic | Fetches a page while answering a Claude user |
| ClaudeBot | Anthropic | Collects content for model training |
| PerplexityBot | Perplexity | Surfaces and links sites in Perplexity results |
| Perplexity-User | Perplexity | Fetches a page while answering a Perplexity user |
Sources: OpenAI crawler documentation, Anthropic crawler documentation, Perplexity crawler documentation, all checked October 15, 2026.
The distinction that matters for measurement:
- User-initiated agents are the closest proxy you have for “an assistant read this page to answer someone.” OpenAI documents that ChatGPT-User visits a page when a user asks a question and “is not used for crawling the web in an automatic fashion.” Claude-User and Perplexity-User are described the same way. A fetch from one of these is a real person’s question touching your page, whether or not a citation followed.
- Search-index crawlers tell you that you are eligible. OAI-SearchBot, Claude-SearchBot and PerplexityBot are the index-building agents. Seeing them means your pages are reachable for search. Not seeing them is the first thing to investigate, and the usual culprits are robots rules and CDN bot protection. See whether your CDN is blocking AI crawlers.
- Training crawlers say nothing about visibility. GPTBot and ClaudeBot collect content for model training. A spike in GPTBot hits is not evidence that ChatGPT is recommending you, and a decision to block them does not, by the vendors’ own documentation, affect search features.
Mechanically: export a month of access logs, filter on the user-agent column for the eight strings above, and group by agent and URL. Most CDNs expose the same thing in a bot analytics view. The full catalogue of agents, including the ones from Google, Microsoft and Apple, is in which AI crawlers visit your website.
What it cannot tell you: whether the fetched page was used in the answer, quoted, or discarded. A fetch is attention, not a citation.
Want the four sources set up for your site?
The free audit checks crawler access, indexation and entity clarity, and shows what assistants currently say when asked about your category.
Get a Free AI Visibility AuditPrefer to talk it through? Book a Free Call
Source 4: A prompt panel
What it answers: when a customer asks an assistant the questions that lead to a purchase, does it name you, cite you, or leave you out, and who does it name instead.
This is the only direct measurement of the thing people actually mean by AI visibility, and it is manual. There is no API that returns “how often ChatGPT recommends your business.” Every tool that claims to is running prompts and scoring the output, so you may as well control the method.
Build it like this:
- Collect 20 to 40 real questions. Pull them from sales calls, support inboxes, form submissions and the question-style queries in Search Console. Write them the way a customer would, not the way a marketer would. “Who does bathroom remodels in Roseville that handles permits?” beats “best bathroom remodeler Roseville.”
- Fix the wording. Once a prompt is in the panel, it does not change. If you change it, you have a new prompt with no history.
- Run each prompt in each assistant once a month in a fresh or logged-out session, so your own history does not shape the answer. Record the date.
- Score three things per answer: were you mentioned by name; were you cited with a link; and which other businesses appeared. Use the same three columns every month.
- Report trends, not snapshots. Assistants vary their answers between runs. A single month where you dropped out of one answer is noise. Three months of the same competitor appearing for the same question is signal.
The competitor column is the one that pays for the exercise. It tells you which pages and which third-party sources the assistant trusts for your category, which is the input for the corroboration work in entity SEO and the reason AI citations are worth tracking at all.
What it cannot tell you: volume. You know whether you appear; you do not know how many people asked.
The four sources side by side
| Source | What it measures | What it cannot measure | Cadence |
|---|---|---|---|
| Google Search Console | Impressions, clicks and position for Google, including AI Overviews and AI Mode inside the Web search type | Which of those impressions came from an AI feature; anything about ChatGPT, Claude or Perplexity | Weekly glance, monthly comparison |
| Analytics referrals | Visits that arrived from an assistant and what they did on the site | Answers that mentioned you without a click; visits whose referrer was stripped | Monthly |
| Server or CDN logs | Which AI agents fetched which pages, and how often a user-triggered agent read a page | Whether the fetched page was actually used or cited in the answer | Monthly, with a weekly spot check after site changes |
| Prompt panel | Whether assistants mention or cite you for your real customer questions, and who else appears | Volume; how many people asked something similar | Monthly, same prompts, same method |
What a monthly report should show
One page. If it needs a second page, something on it is activity rather than measurement.
- Indexation rate (indexed ÷ submitted) and its change since last month. Everything below depends on it.
- Question-query impressions and clicks from Search Console, with the impressions-up, clicks-flat pages called out.
- Assistant referral sessions by hostname, the landing pages they hit, and how those sessions converted compared with organic search.
- Log counts by agent class: search-index fetches, user-initiated fetches and training fetches, each with the top ten URLs. A page that user agents fetch but that never appears in the prompt panel is a page being read and not trusted, which is a content and corroboration problem, not an access problem.
- Prompt panel results: mentioned, cited and absent counts per assistant, the three-month trend, and the competitors that appeared most.
- Changes shipped this month and which of the numbers above they were meant to move. If a change is not attached to a number, it should not be on the report.
Notice what is not on it: a composite “AI visibility score.” Composites hide which of the four sources moved and why. Keep the sources separate and the report will keep telling you the truth.
Frequently asked questions
Can Google Search Console show AI Overviews traffic separately?
No. Google documents that traffic from AI Overviews and AI Mode is included in the Performance report under the "Web" search type, with no separate filter. You can still watch the symptoms: impressions rising while clicks stay flat on question-style queries is consistent with your page being summarised rather than clicked.
How do I see ChatGPT referral traffic in GA4?
Build an exploration or a segment on the session source or page referrer containing chatgpt.com. Links that ChatGPT inserts commonly carry utm_source=chatgpt.com, which also lands in the source dimension. Repeat for perplexity.ai, copilot.microsoft.com and gemini.google.com. Treat the total as a floor, because referrer stripping and in-app browsers drop some of it.
Do GPTBot or ClaudeBot hits in my logs mean I am visible in AI search?
No. OpenAI and Anthropic both document GPTBot and ClaudeBot as crawlers that collect content for model training. They say nothing about whether an assistant is showing your page to a person. The user-initiated agents, ChatGPT-User, Claude-User and Perplexity-User, are the closer proxy because they fetch a page while answering someone.
How many prompts should a monthly prompt panel contain?
Twenty to forty real customer questions is enough to see movement without the panel becoming a chore. Keep the wording fixed, run each one in a fresh or logged-out session, record the date, and report trends across months rather than any single answer, because assistants vary their responses between runs.
About the work
Webvello is an AI search optimization and index engineering company founded in 2024, based in Roseville, California. We’ve delivered 50+ projects across 37+ cities, with average client ROI in the 3–5x range on properties where measurement, not guesswork, set the priorities. Founder George Shvaya came to search from cybersecurity and systems engineering, which is why this article treats logs as a first-class data source.
Want these four sources wired up and reported on for your site every month?
Book a Free Call