Disclosure: This article uses data collected with querying.ai, our own product, and shows its API. Read more about Switchbreak.

AI share of voice is the portion of brand mentions in AI answers that goes to your brand, measured over a fixed set of questions. It sounds like one number, but it is really a choice of formula. Published guides disagree on what to divide by: some divide by every answer, others by all brand mentions in the category. Choices like these can move the result by more than ten points.

We scored one dataset five ways: 12,595 answers from ChatGPT, Gemini and Google AI Overviews to the same 150 questions over 28 days. The leading vendor's score ranged from 20.8% to 36.1% without a single answer changing. This guide covers the formulas, what each one tells you, and how to calculate AI share of voice from real answers in a way you can repeat.

Five ways to score the same answers

Each formula answers a different question:

  • Mention rate: answers that name the brand ÷ all answers. How often does the brand show up at all? It doesn't depend on any other brand.
  • Share of voice by answers: answers that name the brand ÷ the total, across all tracked brands, of answers naming each one. An answer that names three brands counts once for each, and the shares of all tracked brands add up to 100%.
  • Share of voice by mentions: times the brand is named ÷ times any tracked brand is named. A brand named three times in one answer counts three times.
  • Share of voice within a short list: the answer-based formula with only a handful of close rivals tracked.
  • First-named share: answers where the brand is the first tracked brand named ÷ answers that name any tracked brand.

The same answers, five results

The questions were 150 English questions about AI search tracking tools and APIs, asked once a day from the United States on ChatGPT, Gemini and Google AI Overviews, from September 21 to October 18, 2026. We tracked 31 brands, our own included, and 25 of them were named at least once. We call the five named most often Vendors A to E. Each row of the table applies one formula to the same answers.

Formula (%)ABCDE
Mention rate36.130.022.117.09.9
SOV by answers21.217.613.010.05.8
SOV by mentions20.816.412.212.16.9
SOV, top 5 only31.326.119.214.88.6
Named first29.515.96.812.57.9

Three things stand out:

  • One brand, five numbers. Vendor A's score runs from 20.8% to 36.1%, and any of them could appear in a report as A's AI share of voice.
  • The roster moves the result. Counting only the top five brands instead of every tracked brand lifts A from 21.2% to 31.3%, with every answer unchanged.
  • The ranking can flip. D trails C on mention rate, 17.0% to 22.1%, but is named first almost twice as often, 12.5% to 6.8%. Answers that name D also name it more times, 2.29 on average against C's 1.78, which nearly closes the gap under the mention-based formula: 12.1% to 12.2%.

Pick one formula, write it down with the roster, and compare only numbers calculated the same way.

What does 50% share of voice mean?

It means your brand received half of all tracked brand mentions in the period. How impressive that is depends on the roster. With two tracked brands, 50% is a tie. With 31, it would put you far ahead of the field: in our data the leader reached 21.2%. A 50% mention rate is a different claim again, that your brand appeared in half of all answers, whatever else they named.

What is a good share of voice percentage?

There is no universal benchmark, because the number depends on the roster, the formula, the questions, the engines and the country. A useful reference point is an even split: 100% divided by the number of tracked brands. With 31 brands that is about 3.2%, so Vendor A's 21.2% is more than six times its even share. Past that, compare yourself with your own earlier periods and with competitors measured the same way.

A third of answers named no tracked brand

33.1% of answers (4,170 of 12,595) named none of the tracked brands: 38.5% on ChatGPT, 29.9% on Gemini and 31.0% on AI Overviews. Answers that did name one named 2.55 tracked brands on average. Share of voice leaves the empty answers out, because it only divides up the mentions that exist. If an engine started naming fewer brands, every mention rate would fall while shares of voice could stay flat, so report the share of answers that name any tracked brand next to share of voice.

Engines disagree

Calculate each engine separately. For Vendor A:

Formula (%)ChatGPTGeminiAI Overviews
Mention rate28.439.540.3
SOV by answers17.222.024.2
SOV by mentions19.121.123.4
Named first22.830.434.6

On ChatGPT, Vendor D was named first in more answers than A, 616 against 588, even though A had the higher mention rate, 28.4% against 23.5%. Vendor E's mention rate nearly tripled from ChatGPT to AI Overviews, from 5.3% to 15.6%. A single blended number hides both.

Daily numbers are noisy

With about 150 answers per engine per day, A's daily share of voice on ChatGPT ranged from 13.5% to 22.0%, around a mean of 17.1% with a standard deviation of 2.0 points. Its daily mention rate swung from 20.0% to 38.7%. On Gemini (19.1% to 26.6%) and AI Overviews (21.1% to 27.6%), its daily share was steadier but still moved by several points with the questions unchanged.

Use weekly windows or longer, show the number of answers behind each figure, and treat a change as real only when it holds across several windows.

Keep the roster honest

Share of voice only divides mentions among the brands you track. A brand the engines name often but you don't track disappears from the calculation, and every tracked brand's share looks bigger than it is.

Our own roster has this gap. A simple text search finds a vendor that is not on it in 2,401 of the 12,595 answers (19.1%), which by mention rate would place it fourth. Adding it would lower every share-of-voice figure in this article. The mention rates would stay the same.

Review the names that answers mention but you don't track every week, add the ones that compete with you, and count past answers again against the new list so every brand is measured over the same answers.

How to calculate AI share of voice with querying.ai

The querying.ai API can read each answer for you. Set include.analysis to true and send your brand, its domains and the competitors you track, as described in the answer analysis docs:

curl -X POST "https://api.querying.ai/v1/async/task" \
  -H "Authorization: Bearer $QUERYING_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "taskType": "GEMINI",
    "payload": {
      "prompt": "best crm for a small team",
      "country": "US",
      "include": { "analysis": true },
      "brand": "YourBrand",
      "brandDomains": ["yourbrand.com"],
      "competitors": ["Rival One", "Rival Two"]
    }
  }'

The finished task carries an analysis object. analysis.brands lists every brand the answer names, in the order it first names each one, with a rank that starts at 1; brands you didn't send have a role of null. analysis.targets lists the brands you sent, in your order, each with mentioned and its rank. Analysis works on ChatGPT, Gemini, Perplexity, Google AI Overviews, AI Mode and Naver's two AI surfaces. It costs 2 credits per task on top of the engine's price, charged only when analysis.status is ok.

Two other statuses need their own bucket. no_answer means the engine returned no answer text, such as a Google search with no AI Overview, and Google says AI Overviews "often don't trigger." failed means the analysis could not run. Neither one is an answer that named no brand.

This function turns a week of finished tasks for one engine into mention rate, share of voice by answers and first-named share:

// tasks: finished tasks for one engine and one week
function scoreWeek(tasks) {
  const brands = new Map();
  let answers = 0, withBrand = 0, slots = 0;
  let noAnswer = 0, failed = 0;
  for (const task of tasks) {
    const a = task.response?.analysis;
    if (!a || a.status === "failed") { failed += 1; continue; }
    if (a.status === "no_answer") { noAnswer += 1; continue; }
    answers += 1;
    const named = a.targets.filter((t) => t.mentioned);
    if (named.length > 0) withBrand += 1;
    const first = Math.min(...named.map((t) => t.rank));
    for (const t of named) {
      const b = brands.get(t.name) ?? { answers: 0, first: 0 };
      b.answers += 1;
      if (t.rank === first) b.first += 1;
      brands.set(t.name, b);
      slots += 1;
    }
  }
  const rows = [...brands].map(([name, b]) => ({
    name,
    mentionRate: b.answers / answers,
    shareOfVoice: b.answers / slots,
    namedFirst: b.first / withBrand,
  }));
  return { answers, withBrand, noAnswer, failed, rows };
}

analysis reports whether and where each brand appears, not how many times, so a mention-based share needs your own count of each name in the answer text.

To keep the roster honest, count the brands that analysis.brands reports with a role of null:

function untrackedBrands(tasks) {
  const counts = new Map();
  for (const task of tasks) {
    const a = task.response?.analysis;
    if (a?.status !== "ok") continue;
    for (const b of a.brands) {
      if (b.role !== null) continue;
      counts.set(b.name, (counts.get(b.name) ?? 0) + 1);
    }
  }
  return [...counts].sort((x, y) => y[1] - x[1]);
}

If you'd rather not run the tasks yourself, querying.ai monitors repeat a saved set of questions on a schedule. A category monitor reports shareOfVoice for each tracked brand, defined as "100 × that brand's mentions / all tracked brand mentions in the window," along with each brand's mentionRate and a namedRate for answers that name at least one tracked brand. Monitors also find competitors in the answers, repeat that read every week, and count stored answers again when the list changes.

A setup checklist

  1. Write the questions the way buyers ask them, and leave your brand out. A question that names your brand always mentions it.
  2. Fix the roster, write it down, and review untracked names every week.
  3. Choose one formula and name it in every report, for example "share of voice by answers, 31 brands."
  4. Report each engine and country separately.
  5. Use weekly windows and show the number of answers behind each figure.
  6. Show the share of answers that name no tracked brand, and keep no_answer and failed apart.
  7. Date every change to questions, roster or collection, and compare only like with like.

How we counted, and the limits

  • Brand mentions in our dataset come from matching each tracked brand's names and aliases in the answer text. The API's analysis adds a model's judgment of what counts as a brand, so results can differ, for example when a brand name is also an ordinary word.
  • The data covers one market, AI search tracking tools, in English from the United States.
  • A mention counts the same whether the answer recommends the brand or warns against it. analysis returns recommended and sentiment if you need that distinction.
  • Our own brand was one of the 31. It was named in 44 answers (0.35%), all on ChatGPT.
  • The roster gap above applies to every share-of-voice figure here.

Query Fan-Out uses the same answers to show what ChatGPT searched for, and Cited or Just Listed covers collecting the source links behind them.

Frequently asked

What is share of voice in AI?

AI share of voice is your brand's portion of the brand mentions in AI answers to a fixed set of questions, compared with the competitors you track. It is usually calculated per engine over a fixed window, as your brand's mentions divided by the mentions of all tracked brands.

What does 50% share of voice mean?

Your brand received half of all tracked brand mentions in the period. Whether that is strong depends on how many brands you track: with two it is a tie, and with 31 it would be far ahead. In our data the leader among 31 tracked brands reached 21.2%.

How do you calculate AI share of voice?

Ask the same buyer questions on each engine repeatedly, record which tracked brands each answer names, and divide your brand's count by the total for all tracked brands. Keep the questions, roster and window fixed, and report the mention rate and the share of answers that name no tracked brand alongside it.

What is a good share of voice percentage?

There is no universal benchmark. A useful reference is an even split, 100% divided by the number of tracked brands, which is about 3.2% with 31 brands. Beyond that, compare against your own earlier periods and against competitors measured the same way.

Sources

  1. querying.ai docs: AI Search Engines — Answer analysis
  2. querying.ai docs: GEO Monitoring API — Brand Mentions and Citations
  3. querying.ai docs: AI Search Data API Quickstart
  4. querying.ai docs: Async tasks
  5. Google Search Central: AI Features and Your Website