MethodologyAI Visibility
How we measure AI Visibility
When a consumer asks an AI assistant where to buy something, some stores get named and most do not. AI Visibility measures which ones, per category, over time: we ask AI engines the questions real shoppers ask, capture the answers verbatim, and count who appears. The tracked brand and every competitor go through the same automated pipeline.
Ask, capture, count
Every tracked store runs the same three phases on a fixed schedule set by its plan, daily on current plans. Nothing is inferred from a store's reputation or size; everything is read out of live AI answers.
Ask
A fixed budget of consumer-style questions, 50 by default, is asked on every AI engine configured for the store. The questions are written in the store's language for its market, and the engine is told only the shopper's approximate location and language, nothing else.
Capture
Each answer is stored verbatim: the full text, every URL the engine reports having read while researching, and every URL the final answer cited. Whether the engine searches the web at all is its own decision, the same as for a real user.
Count
From the captured answers we extract which brands were cited and which were named in prose, with sentiment. Those appearances become per-category share of voice, computed per engine and averaged evenly across engines.
Questions a real shopper would type
The question set is generated per store from its tracked categories, market, and language, then held stable between runs so the numbers are comparable. It splits into three slots with fixed counts.
Category questions
Up to 11 per tracked categoryUnbranded shopper questions about each product category the store tracks, up to ten categories. These never name any store or brand: a competitor must be an equally valid answer.
- “Best robot vacuum under 5000 kr for pet hair?”
- “I'm new to espresso, what should I look for in a first machine?”
General market questions
8 per storeUnbranded questions about the whole category space the store plays in, never about the store itself. They measure who owns the broader conversation.
- “What are the best online electronics stores in Norway?”
- “Where should I buy kitchen appliances online, and what should I watch out for?”
Branded questions
3 per storeQuestions that name the store, phrased the way a real person asks about a shop they are considering. These feed the sentiment view and are excluded from share of voice, so a store cannot inflate its own share by being asked about directly.
- “Has anyone bought from this store, are they trustworthy?”
The examples above illustrate the style; each store gets its own set, spanning budget and premium phrasings, confident and unsure shoppers, and browsing through buying intent. Two locale signals ride along with every question: an approximate shopper location for engines whose search accepts one (Google's takes a language hint instead), and a single instruction line stating the shopper's country and language. No other framing is injected; the question stands alone.
Distinct engines, identical questions
Each engine pairs a model with its own grounding backend, so the same question can retrieve genuinely different sources. Every engine configured for a store gets the identical question set.
Copilot
A GPT model on Azure with Bing-grounded search, the stack Copilot serves
ChatGPT
A GPT model with OpenAI's own browsing
Claude
Anthropic's native web search
Gemini
Google Search grounding
Which engines run for a given store depends on its plan and configuration; results are always broken down per engine before anything is averaged. Exact model versions rotate as vendors update their products, so we name the engine and its grounding backend rather than pin a version that will be stale next quarter.
Six rules, applied to every answer
Share of voice is a defined quantity, not an impression. These are the rules, and they are fixed in code.
The counting unit is the answer
A brand appears in an answer if the answer linked or cited the brand's domain, or named the brand in prose. Both layers are captured; a brand recommended out loud but never linked still counts.
Named means literally named
Prose mentions are extracted by a small structured model pass with a strict guard: a mention only counts when the brand name, or the exact supporting quote the extractor points to, appears verbatim in the answer text.
Only real competitors count
Only retailers and manufacturers are ranked as competitors for your share. Marketplaces, price-comparison sites, and review sites are captured and shown as sources, and citations of them stay in the answer totals, but they never compete on your leaderboard.
Engines are averaged, not pooled
Share of voice is computed separately per engine, then averaged evenly across engines. A high-volume engine cannot drown out the others; per-engine numbers stay visible underneath.
Competitors emerge from the data
There is no predefined competitor list. Whoever the AI actually names is who you are measured against, which regularly surfaces competitors a business did not know it had.
Your brand gets no special treatment
The tracked brand runs through the identical extraction and counting pipeline as every competitor. It is simply labeled as you, and whether a brand is you is decided by deterministic matching in code, never by a model's judgment.
The sources behind the answers
Presence does not stop at who got named. It records where the engines looked, because that is where visibility is won or lost.
Every URL an engine browsed while researching and every URL its answer cited is recorded and attributed to its site. Each source is classified by type: retailer, manufacturer, marketplace, price comparison, community reviews, or editorial. Classification uses curated rules for well-known sites and a small model pass for the long tail; the tracked brand's own site is labeled as owned, and competitor sites are labeled as competitors. The result is a concrete answer to the question behind the question: which pages, on which sites, are the AI engines actually reading when they decide who to recommend in your categories.
One category, read across a month
Illustrative numbers for a single tracked category, anonymized; the columns are exactly what the live product computes.
Robot vacuums, trailing 30 days, 132 answers across two engines:
| Brand | Share of voice | Appearances | Cited | Named in prose | Avg position |
|---|---|---|---|---|---|
| Retailer A | 27.4% | 61 | 44 | 38 | 1.8 |
| YouYou | 19.1% | 43 | 24 | 31 | 2.6 |
| Retailer B | 16.8% | 38 | 29 | 19 | 2.9 |
| Manufacturer A | 11.9% | 27 | 12 | 22 | 3.4 |
| Retailer C | 6.2% | 14 | 9 | 8 | 4.1 |
Reading this: the store appeared in 43 of 132 answers and holds a 19.1% share of voice, second in the category. It was named in prose more often than it was cited (31 versus 24), a common pattern for brands the engines know but whose pages they read less, and its average position was 2.6, meaning answers tended to name one or two other brands first. Each row also carries a sentiment split from the answers that named it. The gap to Retailer A is the actionable part: the sources view shows which sites ground that lead.
What keeps it honest
Answers are stored verbatim
Every engine response is persisted verbatim: the literal HTTP body where the SDK exposes it, a lossless JSON dump where it does not. All analytics are derived from those captures and can be recomputed from them at any time.
No manual grading
No person scores an answer, picks a competitor set, or adjusts a share. The counting rules are fixed in code, the extraction passes are version-stamped and re-runnable, and branded questions are kept out of the share entirely.
The engine chooses when to search
Each engine decides for itself whether to search the web, exactly as it does for a real user. Some answers legitimately cite no sources; they are captured and counted all the same.
Failures are recorded, not hidden
Rate-limited calls back off and retry, and a run aborts rather than hammer a throttled engine. Every attempt is persisted, failed or not, so a quiet week in the data is visible as exactly that.
Common questions
Can a site game this by learning what the prompts look like?
Not usefully. The prompts simulate what real shoppers in your market already ask AI assistants, written in your market's language with local context. The only way to move the numbers is to become a better answer to those questions: clearer product content, stronger availability in the sources the engines read, a better reputation in the places they cite. That is not gaming the measurement, it is the improvement the measurement exists to drive.
Why does my share of voice differ between engines?
Because the engines are genuinely different products. Copilot answers are Bing-grounded, ChatGPT browses with OpenAI's own search, Claude uses Anthropic's web search, and Gemini grounds on Google Search; each retrieves different sources and weighs them differently. That is why share of voice is computed per engine and the headline number is the plain average across engines, so one high-volume engine cannot drown out the others.
Why do some answers cite no sources at all?
The engine decides for itself whether to search the web, exactly as it does for a real user. When it answers from what it already knows, there are legitimately no sources to record. Those answers still count: brands named in the prose are extracted and included, which is how a brand recommended out loud but never linked still shows up in the numbers.
How often do the numbers update?
Tracked sites run on a fixed schedule set by their plan, daily on current plans. Each run asks the full question set on every engine configured for the site, and the dashboards read from a trailing window of those runs, so the numbers reflect sustained visibility rather than a single lucky answer.
Previous chapter
How we score AI readiness
This chapter covers whether AI recommends your brand. The previous one covers whether AI can read it in the first place.
Next chapter
How we decide what to recommend
Measuring is half the job. The next chapter explains how the Action plan turns this data into prioritized recommendations.
See who AI recommends in your categories
Create an account, add your site, and Presence starts asking the questions your shoppers already ask.