Skip to content

How do you measure AI search visibility?

AI Search · 9 min read · Updated 2026-11-13

Short answer: To measure AI search visibility, write down the real questions your customers ask, freeze that list, run it through an answer engine and record for each question whether your site was cited, then repeat the same list on a schedule and compare.

Report counts with the denominator (cited in 9 of 24 prompts, up from 6 of 24), repeat the baseline first so you know the run-to-run noise, and say which engine you actually queried. A single run of an AI model is an anecdote, not a measurement.

Why do you need to measure it at all?

Fixing a site for AI engines is the input: letting their crawlers in, serving content they can read, writing passages they can quote. Visibility is the output, and it is the only way to find out whether any of that input did anything. Without a measurement you are left with screenshots, a good feeling after one lucky answer, or a bad feeling after one unlucky one.

The difficulty is that AI answers are not stable the way a search ranking roughly is. Ask the same question twice and the answer, and the sources behind it, can differ. That means the naive approach, asking a question once and noting whether you appeared, produces numbers that look precise and mean very little. Measuring well is mostly a discipline of not fooling yourself.

1 engine

Each of the AEO Toolkit's visibility tools queries Perplexity Sonar, using your own key. None of them queries ChatGPT, Claude, Gemini, Copilot or Google AI Overviews, so a result means cited by Perplexity, not cited by AI.

Measure after you are crawlable, not before

If your site blocks AI crawlers or hides its content behind client-side rendering, measuring visibility mostly confirms the block. Fix access first, then measure. The hand-check in our guide to checking whether ChatGPT recommends your business is a fine first look before you set up anything repeatable.

Check by hand first

What exactly are you counting?

The unit is a prompt, a question a real customer might ask, and the question for each prompt is binary: did the answer cite a page on your site? Everything else is built from that. Your visibility is the share of prompts in a fixed set where you were cited, and a competitor's is the same count for their domain.

Be precise about what a citation is. In our tooling, cited means a URL on the same host appeared in the engine's returned list of sources. A homepage citation and a deep-link citation both count, and the position in that list is not the same thing as prominence in the answer text. A citation is a source link. It is not the engine recommending you, and the two are easy to confuse.

MetricWhat it tells youWhat it does not tell you
Cited or not, per promptWhether an engine pointed at your site for that question on that runWhether it would do so again, or whether it recommended you
Share of prompts citedYour overall footprint across the questions you care aboutWhich engines, which regions or which users
Competitor share on the same setWhether you are gaining or losing ground relative to othersWhy the gap exists
Branded versus unbranded rateWhether you are found by people who did not already know youNothing, if you blend them into one number

Keep branded and unbranded prompts apart. A question that contains your company name will cite you almost by construction, and mixing those in with discovery questions inflates the headline rate and hides the number that matters, which is whether strangers asking category questions are being pointed to you.

What does a single number actually mean?

Less than it looks like. One call to an answer engine is one sample, and there is no repeat sampling built into a single call. If the same prompt flips between cited and not cited across identical runs, that prompt is unstable and any single result on it is close to a coin flip.

This is why the first thing to do, before you change anything on your site, is to take the baseline more than once. Run the whole frozen set, then run it again later the same week. The gap between those two runs is your noise floor. A later change only counts as movement if it is bigger than that gap, repeated across several consecutive measurements, and concentrated on the prompts a fix was aimed at.

  • Signal: A citation rate that moves by more than the run-to-run noise, in the same direction over several consecutive re-measures, on the prompts you actually worked on.
  • Noise: One prompt flipping, a rate that wobbles inside the baseline spread, or a change that shows up on prompts no fix touched.
  • Not yet knowable: A re-measure that differs from baseline by less than the baseline-to-baseline gap. The honest report is no detectable change yet, not it worked and not it failed.

Report counts, not just percentages. Cited in 9 of 24 prompts, up from 6 of 24, is honest. 37.5 percent, up from 25 percent, implies a precision a 24-prompt set cannot support. With fewer than about ten prompts, one flipped answer swings the rate so far that the trend is mostly arithmetic.

How do you run a measurement you can trust?

At summary level it is seven moves. The step-by-step version, including the exact tool calls, lives in the agent skill guide linked below. The shape is what matters here.

  1. Start from real customer questions

    Pull them from sales calls, support tickets and the question-shaped queries in your search data. Model-generated prompt ideas are useful suggestions to review, not ground truth, and they should not stand in for how your customers actually phrase things.

  2. Mix the intent on purpose

    Include problem and how-to questions, comparisons, category questions such as best X for Y, and a few branded prompts. A set of roughly 15 to 30 prompts is a reasonable starting size. That is a judgement, not a rule.

  3. Write the list down with the date and freeze it

    Changing prompts between runs breaks every comparison. If you want new questions, add them as a new set rather than editing the old one.

  4. Take the baseline twice

    Run the frozen set, then run it again the same week before shipping any fix. The difference between the two runs is your noise floor.

  5. Add competitors on the prompts that matter

    Compare the share of prompts in which each domain is cited across the set, not on a single prompt. A competitor comparison on one question is another anecdote.

  6. Re-measure on a steady cadence

    Weekly or fortnightly is typical. Daily adds cost and noise rather than information. Always use the same set and the same engine.

  7. Keep a dated log of what you shipped

    Unblocked a crawler, added structured data to a page, rewrote an answer paragraph. Compare the windows before and after against your noise floor.

This procedure is packaged as an agent skill that can be installed into Claude Code and other coding agents, so the agent follows the same discipline each time instead of improvising. The full guide covers the tool calls and the pitfalls, the source is public, and the install instructions for every skill are on one page.

Read the AI visibility tracking skill guide

You can read the skill's source on GitHub, and install it into your own agent from the skills overview.

View the skill source on GitHub

The overview lists every available skill and how to add them to Claude Code and other agents.

Install agent skills

What can this kind of measurement not tell you?

Several things, and a trustworthy report says so up front.

  • How other engines behave: Perplexity has its own retrieval. It is a proxy, not the market. ChatGPT, Claude, Gemini, Copilot and Google AI Overviews can each behave differently, and none of those is measured by our tools.
  • Whether you were recommended: A citation is a source link. An answer can cite you and still steer the reader elsewhere.
  • What real users typed: Your prompt set is a model of what people ask. Personalisation, location and conversation history, none of which an API call reproduces, also shape real answers.
  • Why a number moved: A rise after a fix is consistent with the fix. It is also consistent with a model update, a competitor losing a page, or chance.
  • Traffic: A citation is not a click. To see whether AI assistants send visitors, you need your own analytics.

Our guide on seeing ChatGPT and Perplexity traffic in GA4 covers the analytics side.

Measure AI referral traffic in GA4

The one-line version for a report

Say which engine you queried, how many prompts, how many repeats, and show counts with denominators. If your change is smaller than your noise floor, write no detectable change yet.

Common questions

How do I measure AI search visibility?

Freeze a list of real customer questions, run it through an answer engine, and record for each question whether your site was cited. Repeat the identical list on a steady cadence and compare. Run the baseline twice first so you know the noise floor, and report counts with the denominator rather than a bare percentage.

Can I track whether ChatGPT cites my website?

Not with the AEO Toolkit's visibility tools, which query Perplexity Sonar only, using your own key. A result from them means cited by Perplexity. You can ask ChatGPT your buyer questions by hand and record the answers, but a single answer is one sample, not a measurement.

How many prompts should I track?

A set of roughly 15 to 30 real customer questions is a reasonable starting point. That is a judgement rather than a rule. With fewer than about ten prompts, one flipped answer moves the rate so much that the trend is mostly arithmetic, so keep the set larger and keep it frozen.

Why does my AI visibility change between identical runs?

Answer engines do not give the same answer every time, and the sources behind an answer can change too. That run-to-run variation is the noise floor. Measure it by repeating the baseline before you make changes, and only treat movement bigger than that gap as a signal.

Sources

Related guides

Want it done for you

Want this done and re-checked every month? Our monthly maintenance re-runs your buying questions in ChatGPT, Perplexity and Google, ships the fixes that keep you out of the answers, and reports what moved. Or run the free check on your site first at advancelabs.dev/tools/audit.

See how it works

Book a 30-minute call