Measuring AI Visibility Without Fooling Yourself
How to measure whether AI assistants name your brand, what a score of zero really means, and the five ways a visibility measurement goes wrong.
Chapter 1How Do You Measure AI Visibility?
You measure agent visibility by asking a fixed bank of unbranded, purchase-intent questions to each AI shopping assistant, repeatedly, and recording whether the brand is named in the answer. That is the whole method. The question must never contain the brand name, because a question that names the brand guarantees a mention and measures nothing. Everything else, the scoring, the weighting, the dashboard, is presentation on top of that one loop.
The reason so many visibility scores are worthless is not that the loop is hard. It is that all three of its steps fail silently. The questions can be off-topic for the brand, the answer can fail to arrive and be recorded as an absence, and the comparison between what came back and what was expected can miss a match that a human would see instantly. None of those produce an error message. They produce a number, and a number is what gets screenshotted.
72
Brands in the Registry
Public, checked into the repo
49
Carrying a Published Score
Run of 2 August 2026
6
Unreadable to Any Client
Return an error, not a storefront
4
Assistants Queried
ChatGPT, Claude, Perplexity, Gemini
Those four numbers are ours and each is checkable. The registry of 72 brands is a file in our repository rather than a database row, because who appears in a public ranking is an editorial decision that belongs in review. The 6 unreadable brands are Caraway, Made In, Hims, BARK, Grovemade and Ridge, each of which answered our request with something other than a storefront. 49 of the 72 carried a published score on the 2 August 2026 run. The index refreshes daily, so treat all of these as a dated snapshot and read the live index for current figures.
One number is deliberately absent. We are not publishing a count of brands scoring zero in this guide, because the figure moves with every daily run and we would rather send you to the live page than freeze a number here that will be wrong next week. That is the same rule the rest of this guide argues for, applied to itself.
Chapter 2What Does a Score of Zero Actually Mean?
It depends entirely on whether anyone checked that the measurement worked, and this is the single most important question to ask about any visibility tool. A zero can mean two completely different things. It can mean the questions were asked, on topic, enough times, and the brand did not come back. Or it can mean the measurement failed and the failure was written down as a fact about the brand.
Those two are indistinguishable in the output and opposite in meaning. The first is a finding you should act on. The second is a defect in the tool being reported as a defect in your store. A confident zero is the most dangerous thing a visibility tool emits, because a zero reads as a measurement while an error reads as an error, and the tool has quietly converted one into the other.
The distinction that makes a zero trustworthy
Chapter 3Five Ways a Visibility Measurement Goes Wrong
These five are not hypothetical failure modes. Each one is a defect we shipped while building our own public index, found afterwards, and fixed. They are listed here because they generalise: every one is available to any tool doing this work, and every one produces a number rather than an error message. What separates them is whether the number leaves evidence behind. Four of the five do. The fifth does not, which is why it is treated separately below.
| Failure | What it produces | The rule that prevents it |
|---|---|---|
| Coverage failure reported as a finding | A defect on the measuring side described as a fact about the store | A check may claim something about a store only from an observation that succeeded. A failed or skipped observation emits a coverage statement that locates the failure with the measurer. |
| Pointer treated as proof | A pass awarded for a tag being present, without following it to see whether the thing it points at exists | A check returns ok only when it observed the thing it claims, and not-ok only when it observed the absence. Following the pointer is part of the check. |
| Counts that exceed their own population | Arithmetic like 104 of 102, produced by counting issues rather than distinct items | Any count presented as N of M counts distinct members of M, and the label names the specific issue rather than the field it belongs to. |
| Invariant enforced on data but not on prose | Structured fields pass validation while the generated sentence a reader sees does not | Generated prose is validated against the same invariant as the fields it is written from, at a single chokepoint rather than by patching. |
| Correct measurement, wrong comparison | A confident zero, because two sides of a match came from different systems and were assumed to share a format | Normalise both sides explicitly before comparing. A domain label against natural prose, or encoded markup against decoded text, will not match even when the brand was named. |
Why the fifth one is the worst
Chapter 4How Do You Tell a Measured Score From a Generated One?
Ask five questions. A vendor who can answer all five is measuring. A vendor who deflects on more than one is generating a plausible number and calling it a measurement.
Where do the questions come from?
A template bank asks every brand the same questions, which measures how well your category matches the template. Questions derived from the store's own signals, its product-type taxonomy, tags and titles, measure the brand. Ask to see the actual questions used for your brand and check that none of them names you.
What happens to a brand you could not measure?
The answer must be a third state. If unmeasured brands score zero, every zero in the product is ambiguous and the ranking is partly a map of the vendor's own failures.
What is the publication floor?
How many assistants must answer, and how many questions, before a number is shown. A vendor with no floor is publishing single-observation results as scores.
How is a mention matched?
This is where confident zeros come from. Ask how brand-name matching handles spacing, casing, encoded characters and the difference between a domain and a display name. If the answer is that they check for the brand name, the answer is that they have not thought about it.
Can you show me a measurement you got wrong?
The most diagnostic question of the five. Anyone doing this at volume has shipped errors. A vendor with no published defects has either not looked or is not saying, and both should move your confidence in the same direction.
What publishing your own errors does and does not mean
Chapter 5How Do You Run This Yourself?
You do not need a vendor to get a first read. The loop is simple enough to run by hand, and running it once teaches you more about what the scores mean than any dashboard will.
Write the question bank from your own catalogue
Take your product types, tags and titles, and write the questions a shopper would type to find that thing. What are the best merino socks. What is the best olive oil for finishing. Never include your brand name in any question.
Ask each assistant the same bank, more than once
Assistants are not deterministic, so a single ask is an anecdote. Repeat the bank and record each answer separately rather than averaging as you go, because you need to see the variance to know whether a result is stable.
Record answers verbatim, and record failures as failures
Store the raw answer text, not a yes or no. When an assistant does not answer, refuses, or errors, record that as not-assessed rather than as an absence. This is the step that decides whether your zeros mean anything.
Match names deliberately
Before you count, decide how you will handle case, spacing, punctuation, encoded characters and the difference between your domain and your display name. Then check a handful by eye against the raw text. This is where a clean-looking zero usually turns out to be a matching bug.
Report a rate only above a floor you set in advance
Decide how many assistants and how many questions must have answered before you will believe a number, and write it down before you see results. Below that floor, report not measured. Setting the floor afterwards is how a disappointing read becomes a confident one.
The two checks worth running before any of this: confirm an automated client can read your store at all, and confirm your product data is machine-readable once it can. A brand that returns an error to every request is not losing this race, it is not in it, and no amount of visibility work will register until that is fixed. The visibility baseline guide covers the crawler and CDN layer, and the free growth audit runs both against a single URL.
We run this measurement in public. The Brand Index publishes how often four assistants name DTC brands when somebody asks what to buy, including the brands that are never named and the ones we cannot read at all, with the floors and the refusals documented.
Agent Visibility Playbook: Get Recommended by AI
How to measure and improve your brand's visibility across ChatGPT, Claude, Perplexity and Gemini, from tracking agent mentions to earning the pick.
OAI-SearchBot and Robots.txt: Visibility Baseline
The five-minute audit that decides whether ChatGPT can see your products: OpenAI's four bots, the Cloudflare category trap, and how to verify.