PilotOpen protocol for stores.Explore ACP
Skip to content
Back to Guides
Agent Commerce9 min read5 chapters

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.

Cresva Team

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.

A visibility score is an agent mention rate: a count of appearances in answers to questions you chose. It is only as good as the question bank, the response capture, and the name matching. A vendor who will not show you all three is showing you a number with no method attached to it.

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

A score is only publishable when enough of the measurement succeeded to support it. On our own index the floor is stated: a score is reported only when at least two assistants answered at least four questions. A brand below that floor is withheld from the ranking rather than shown at zero, and counted underneath it, because an unanswered question is not evidence of absence. Without a floor like that, the brands a tool failed to measure and the brands nobody recommends land in the same bucket, and the bucket gets labelled with the worse of the two meanings.
Not-assessed is a third state, and a tool that lacks it is not measuring visibility, it is reporting its own coverage gaps as your results. Ask any vendor what happens to a brand they could not measure. If the answer is that it scores zero, the zeros in their product are uninterpretable.

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.

FailureWhat it producesThe rule that prevents it
Coverage failure reported as a findingA defect on the measuring side described as a fact about the storeA 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 proofA pass awarded for a tag being present, without following it to see whether the thing it points at existsA 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 populationArithmetic like 104 of 102, produced by counting issues rather than distinct itemsAny 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 proseStructured fields pass validation while the generated sentence a reader sees does notGenerated 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 comparisonA confident zero, because two sides of a match came from different systems and were assumed to share a formatNormalise 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

The first four produce something visibly odd if anyone looks. The fifth produces a clean zero from a measurement that ran perfectly. The assistant named the brand, the answer was captured, and the comparison failed because one side was a domain label and the other was prose, or one side was encoded markup and the other was decoded text. Nothing anywhere in the pipeline reports a problem. This is the class that makes a tool confidently wrong rather than obviously broken.

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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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

It does not mean the measurement is unreliable. It means somebody checked. A method that has never produced a documented error has usually never been audited against ground truth, which is a stronger reason for doubt than a list of fixed defects. The five failures in the previous chapter are ours, published on our own methodology page with the instance that produced each, which is the only reason to give any weight to the claim that they are fixed.

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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

Run the loop once by hand before you buy a tool to run it for you. You will not get a production measurement out of it, but you will get the only thing that makes a vendor conversation useful: a concrete sense of which step you most need someone else to do properly.

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.

Written by the Cresva Team. Questions? Email us.