Methodology

How we measure AI visibility

What we run, how a mention is counted, and what this measurement cannot tell you.

Last updated 21 August 2026

What we check

We send buyer questions to AI engines the way a customer would, read the answer that comes back, and record whether it names your brand or cites your website. We do not use an engine's admin tools, an analytics integration, or any private data. Everything we report is observable by anyone asking the same question.

Engines

EngineStatusHow it is queried
PerplexityChecked todayAPI request per question. Returns an answer plus a list of source URLs.
GeminiChecked todayAPI request per question with Google Search grounding enabled.
ChatGPTPending activationOn the roadmap and reserved in our reporting schema, but the API is not switched on. No report contains ChatGPT results today.
ClaudeChecked on the free checkAPI request per question with Anthropic's server-side web search enabled. Not included in weekly monitoring: that search is billed per query, so re-running it every week is not something a $10 plan covers. Separately, Anthropic models are also used inside our pipeline to draft candidate questions and classify answers, which is a different job from being a measured engine.

How the questions are chosen

We fetch your public homepage and a short excerpt of its text, run a grounded research pass to establish what you sell and to whom, then generate candidate buyer questions from that. Candidates that name your brand are discarded: the point is to find you where a buyer who has not heard of you is looking. A free check keeps 4 questions. A monitoring plan keeps around 18 and re-uses the same set every week so results are comparable.

Are these the most popular questions?

No, and we would rather say so than imply otherwise. The questions are generated from your category, not measured from real demand. Nothing in our pipeline knows how often anyone asks them.

That is not a gap we could close by trying harder. No AI engine publishes what people ask it. There is no volume figure for a prompt the way there is for a search keyword, and anyone quoting one is showing you search data for a different behaviour — people type differently into a chatbot than into a search box.

So the questions are chosen to be plausible and category-relevant, not popular. What makes the result useful is that the same set is asked every week: the comparison is week to week against itself, which holds whether or not a given question is a common one. And you are not stuck with our guesses. On a monitoring plan you can test your own questions and keep the ones that matter, which is the right correction if you know your buyers better than a model reading your homepage does, and you probably do.

How a mention is counted

  • An answer counts as a brand mention when it names your brand, or an agreed variation of it, in the answer text.
  • A citation is a source link in the answer that points at your domain. For Perplexity we compare the full host and path, so a citation is matched to the exact page. Gemini returns redirect links whose title is usually just a domain, so Gemini citations can only be matched at domain level.
  • Answers are classified by a language model and the raw response is stored, so any single call can be re-checked by hand.

Repeats and variance

Grounded answers are not deterministic. The same question asked twice can return different text and different sources. Monitoring runs each question through each engine three times per weekly scan and takes the majority result, so one unusual answer does not move the report. On the entry plan, Gemini runs once per scan rather than three times, because of what grounded calls cost at that price.

A free check runs each question once per engine. Treat it as a snapshot, not a measurement of a pattern.

When an engine does not answer

Sometimes an engine returns an answer without searching, or the call fails. That is recorded as no grounded answer for that run, not as a miss. A report distinguishes “you were not mentioned” from “we did not get a usable answer”, because the two mean very different things.

The AI Visibility Score

One number, from 0 to 100, combining three things we can observe. The formula is published here because a score you cannot recompute is a score you have no reason to trust. The weights below are read directly from the code that calculates it.

Score = 100 × (0.60 × CitationRate
             + 0.25 × PositionScore
             + 0.15 × OwnDomainGrounding)

PositionScore = mean over cited runs of (1 / rank), normalised to [0,1]
                by dividing by the best achievable value (1.0)

The three components

  • CitationRate is the share of scored answers that mentioned your brand or cited your domain. It carries the most weight because appearing at all is the thing that matters most.
  • PositionScore rewards prominence. A citation at rank 1 scores 1.0, rank 2 scores 0.5, rank 10 scores 0.1. Being the fourteenth source of twenty is a real mention, and it is worth far less than being the first.
  • OwnDomainGrounding is the share of scored answers that cited a page on your own domain. It separates being talked about from being the source, which is the difference between a mention you cannot influence and one you own.

Choices the formula does not settle

Three decisions sit underneath it. We state them because each one moves the number, and a reader checking our arithmetic needs them.

  • What counts in the denominator. Every rate is taken over answers where the engine actually searched. An answer given from training knowledge alone is missing data, not evidence you are absent, so it is excluded rather than scored as a miss. The report shows how many answers were left out.
  • Links inside the answer text score as rank 1. They have no ordinal in a source list, and a link in the body of an answer is at least as prominent as the first item of one.
  • A mention with no link earns citation credit but no position credit. If an answer names you in prose without linking anywhere, that is a real mention and counts in CitationRate. There is no position to score, and we will not invent one.

When there is no score

If no engine returned a grounded answer, the report shows no score rather than a zero. Zero is a finding, and we do not report findings we did not make.

What this measurement cannot tell you

AI responses can vary by model, prompt, location and time. MediaDesk reports observed responses and sources and does not guarantee rankings, citations, mentions, traffic or commercial results.

  • We measure answers, not people. Nothing here tells you how many buyers asked a question, or whether an answer led to a sale.
  • We do not yet measure ChatGPT or Claude, and we do not measure Copilot, Grok, or Google AI Overviews at all. If a report or a page implies otherwise, it is wrong and we want to know.
  • Content and editorial work can change what sources exist for an engine to read. It cannot make an engine cite you.
  • MediaDesk does not guarantee citations, mentions, or rankings in any AI answer, and does not guarantee placement in any publication unless a specific agreement says so in writing.
  • MediaDesk has no influence over how AI companies build, rank, or source their answers, and claims none.

Found something on this site that does not match what is described here? Write to hello@mediadesk.asia and we will correct it.

Try it

Run a free AI visibility check and compare what comes back against this page.