Content Agents

Track Brand Citations in AI: A Four-Step Spreadsheet Playbook

By Team · October 22, 2026

Category: growth-playbooks

Track Brand Citations in AI: A Four-Step Spreadsheet Playbook

A free four-step method for tracking whether assistants name and cite your brand, with the run count set by two 2026 studies rather than by convention. Copy-paste field layouts for every step.

Key takeaways

  1. The problem Teams judge their AI visibility from one screenshot, or from a prompt list run twice, when repeated-sampling studies show the brand list changing on nearly every pass.

  2. Core insight Graphite's April 2026 work puts the working floor at ten runs per prompt for a usable visibility estimate, and SparkToro's study with Gumshoe found identical brand lists returned under one per cent of the time.

  3. Practical outcome Freeze a short list of real buyer questions, sample each one at least ten times per engine, and report every rate next to the number of runs behind it.

You asked an assistant whether it recommends you, it said yes, and the screenshot went into the deck. The belief underneath that screenshot is that the answer you saw is the answer buyers see. It is not. Two research teams have now run the same prompts hundreds of times each and found the brand list changing on nearly every pass. The artefact this playbook produces is a sampling log: one tab of prompts, one tab of runs, one tab of rates with the uncertainty written next to each one.

Written for a marketing lead who wants a defensible baseline before signing a tracker contract. Budget an hour to set up and ninety minutes a month to operate, with no paid software. Skip the whole thing if you already run a tracker and genuinely read its output monthly.

Step 1: Harvest the questions your buyers already ask

This step produces the only input that matters, and it does not come from a keyword tool. Pull the phrasing from recordings of sales calls, from support tickets and from your own site search log. AirOps' guide to citation tracking recommends somewhere between twenty and thirty natural-language buyer questions spread across discovery, comparison, problem-first and use-case intents.

P-ID        | P07
Intent      | discovery / comparison / problem / use-case
Wording     | [paste the buyer's own words, not your cleaned-up version]
Heard in    | call 2026-09-14 / ticket 4471 / site search
Sales value | high / medium / low

What you get back:

  • Twenty to thirty rows, each tagged with its intent and the place the wording came from
  • A visible bias audit: if every row came from your own marketing pages, the list is worthless

What to do with it:

  • Delete any row containing your brand name. That measures recall, and you already know the answer.
  • Hold back at least five comparison rows, because those are the prompts where a purchase decision is actually being made.
  • Sort by what a good answer would be worth to a salesperson, not by how often you imagine the question is typed.
  • Lock the wording for a full quarter. One edited word makes this month incomparable with last month.

What this step cannot tell you is real-world demand. It records what you believe buyers type. Our piece on keywords that report no volume explains why a tool's volume figure is a bad referee here.

Step 2: Sample each question until the number settles

Open each assistant in a signed-out session and paste one prompt at a time, logging the answer and whatever sources it displays. Keep the assistants in separate tabs of the sheet; never pool them.

The run count is where most spreadsheets fail, and there is now evidence to set it by. Gregory Druck and Ethan Smith of Graphite published a study in April 2026 covering two hundred entity-comparison prompts, each submitted four hundred times, and report that ten runs per prompt brings the average error on a visibility estimate to about 5.6 per cent, with roughly forty runs needed to tighten that to 5 per cent or better. Their disclosure notes Graphite sells consulting in this field.

P-ID     | Engine  | Run | Date       | You named? | Linked? | Described right? | Tone | Others listed
P07      | ChatGPT | 1   | 2026-10-06 | y          | n       | partly           | neutral | [3 names]
P07      | ChatGPT | 2   | 2026-10-06 | n          | n       | -                | -       | [4 names]

What you get back:

  • One row per prompt, per engine, per run, which is why the run count has to be decided before you start
  • The competitor set each engine reaches for when it does not reach for you
  • The domains being cited, which is your earned-coverage target list

What to do with it:

  • Choose your run count from the precision you need, not from your patience. Ten is the working floor.
  • Paste every wrong description into a corrections tab verbatim, with the engine and date.
  • Tally the cited domains separately. That tally is more actionable than your own mention rate.
  • If ninety minutes is your ceiling, cut prompts rather than runs. Ten prompts sampled properly beat thirty sampled twice.

This step says nothing about how many humans saw anything. It probes what the models output, not what the market consumed.

Step 3: Turn the log into three rates, each with its spread

Three measures are enough. How often you were named, how often you were linked, and how much of the total naming went to you rather than to the field.

named_rate  = runs where you appear        / total runs
linked_rate = runs containing a link to you / total runs
share       = your appearances / all brand appearances in the set

The AirOps guide offers twelve prompts out of twenty as an illustration of a 60 per cent mention rate, and its share-of-voice formula divides by prompt count rather than by total brand appearances, which does not match its own definition of the metric. We divide by total appearances. Peec's GEO guide draws the underlying distinction cleanly: a name in the answer is visibility, your content used as a source is a citation, and the first happens without the second constantly.

What you get back: three rates per engine, each with a run count beside it.

What to do with it:

  • Split by intent before you interpret anything. A weak comparison rate and a weak discovery rate call for different work.
  • Write the denominator next to every rate, always. Six in ten of fifty runs and six in ten of five hundred are different claims.
  • Never average engines into one score. Each one only compares against its own history.
  • Round hard. Reporting a rate to one decimal place from fifty observations invents precision you do not have.

This step will not connect visibility to revenue. The AirOps guide passes along a claim that leads arriving from assistants convert several times better, sourced to company self-reports in a webinar recap with no sample published, so we leave it out of the model entirely. Our breakdown of share of voice as a formula works through the arithmetic in full.

Step 4: Re-run on a fixed date and read the movement, not the value

Same prompts, same engines, same day of the month, same signed-out state. Surfer's review of visibility trackers cautions that any such score reflects point-in-time performance, which is the whole argument for a series rather than a reading.

Month     | Engine  | Runs | named_rate | linked_rate | share | Change we made last month
2026-09   | ChatGPT | 120  | 0.33       | 0.08        | 0.11  | -
2026-10   | ChatGPT | 120  | 0.41       | 0.09        | 0.14  | rewrote 2 comparison pages

What you get back: a month-over-month series per engine, with each month's intervention named beside it.

What to do with it:

  • Pick exactly one gap per cycle: a wrong description, an absent comparison page, a domain that cites rivals and not you.
  • Record the change in the sheet on the day you ship it, so next month's reading has something to attach to.
  • Ignore any movement smaller than the error on your run count. That is noise with a decimal point.
  • Three flat months is a signal about your prompt list or your pages, not a reason to add prompts.

This step cannot establish cause. Models change underneath you, and so do the sources they favour.

The loop, compressed

  • Harvest twenty to thirty buyer questions from real conversations, then freeze the wording for a quarter.
  • Sample each one at least ten times per engine, logging six fields per run.
  • Compute named rate, linked rate and share, each reported with its denominator.
  • Repeat monthly, change one thing, and compare the series rather than the screenshot.

Cadence: roughly ninety minutes a month for ten prompts, two engines and ten runs each. Add a second monthly pass only if somebody is actually going to act on it.

Running a prompt twice is measurement theatre

We will say plainly what the evidence now supports: the two-run convention that circulates in AI visibility advice, including in the earlier version of this playbook, is not a lighter version of measurement. It is a coin flip with a spreadsheet around it, and it is better to drop two thirds of your prompts than to keep running the full list twice.

The reason is the shape of the variance. Rand Fishkin worked with Patrick O'Donnell of Gumshoe.ai on a study covering 2,961 prompts, with twelve brand-recommendation prompts run between sixty and a hundred times on each platform, reported by Search Engine Journal in January 2026. ChatGPT and Google's AI returned an identical brand list under 1 per cent of the time, and the same list in the same order under a tenth of that. Fishkin's own conclusion about any product claiming to report a ranking position in AI was that it is, in his word, baloney. Gumshoe sells tracking software, and he disclosed it.

Two runs cannot survive that. What does survive is appearance frequency across many samples, which is exactly what both teams recommend measuring. Graphite's work puts a price on the precision: their sequential approach, adding runs until the interval tightens, cut the average number of runs needed by about 40 per cent, and visibility sitting near the middle of the range is the expensive case, needing far more runs than a brand that almost always appears.

A stable engine would change the picture. If an engine starts offering a stable, documented endpoint for brand recommendations, or publishes a seeded mode that returns the same list on demand, the sampling cost collapses and two runs become a sane audit of a stable system. Nothing available today behaves that way. Until it does, treat a two-run log as a qualitative read and label it as one.

Four ways this method will mislead you

  • Personalisation. A signed-in session with months of history answers differently. Record your session state alongside the data or the series drifts for reasons you cannot see.
  • Thin samples at the midpoint. A brand appearing roughly half the time is the hardest case to pin down, and it is also the most common case for a challenger.
  • Source churn. AirOps reports that only around 30 per cent of brands hold their position between answers, a vendor figure without a published sample, but the direction matches what the independent studies found.
  • Time cost. If the log eats more than two hours, shorten the prompt list. Buying a tracker to automate a design you have not validated just buys a faster wrong answer. Our comparison of when a tracker earns its fee lists the questions to put to a vendor first.

Questions that come up once teams start logging

Frequently Asked Questions

How do I check whether assistants are naming my brand?

Freeze a list of real buyer questions, run each one repeatedly in every assistant you care about on a fixed schedule, and log whether you were named, whether a link to you appeared, whether the description was right and which rivals were listed instead. A spreadsheet is enough to begin.

How many times do I need to run each prompt?

At least ten per engine. Graphite's April 2026 study of two hundred prompts run four hundred times each reports roughly 5.6 per cent average error on a visibility estimate at ten runs, improving to about 5 per cent at forty runs. Fewer than ten tells you a mood.

Why does the answer change every time I ask?

Generation is not deterministic and the sources in play rotate. SparkToro and Gumshoe found ChatGPT and Google's AI returning the same brand list under one per cent of the time across repeated runs of a single prompt, which is why frequency across many samples is the measurable thing and rank position is not.

Is a mention the same as a citation?

No. Peec's guide separates them: your name appearing in the generated answer is visibility, your page being used as a source is a citation. Plenty of answers name a brand without linking to it, so log the two fields separately.