You cannot track a ranking in an AI answer, because there is no stable position to track. The answer is generated per question, per engine, per session. So measure frequency instead: write a fixed set of buyer prompts, run them on a schedule, and record how often your brand or product is named and which sources are cited. Your score is the share of runs where you appear, per engine. One run is noise. The trend over months is the metric.

Why does this matter?

SparkToro had 600 volunteers run 12 prompts through ChatGPT, Claude and Google's AI results, 2,961 runs in total. Its conclusion: for ChatGPT and Google's AI, there was a less than 1 in 100 chance of getting the same list of brands in any two responses (Claude was only slightly more consistent), and about 1 in 1,000 of getting the same list in the same order. A rank tracker for these answers measures something that does not exist.

Why is there no rank to track?

A search results page is a list. Position 3 is position 3 for everyone, roughly. An AI answer is generated fresh each time from the question and whatever the engine retrieves at that moment.

SparkToro found that nearly every response differed in three ways:

→ the list of brands

→ the order of the list

→ the number of items on it

Its author calls any tool that reports a "ranking position in AI" full of baloney. Strong wording, but the data behind it is public.

What do you measure instead?

Visibility rate: the share of runs of a prompt where your brand or product is named.

SparkToro's own read is that "visibility % across dozens to hundreds of prompts run multiple times is a reasonable metric." Single answers are random. How often a brand shows up across many runs is not.

Track two numbers per engine:

→ Named rate: runs where you appear, divided by total runs

→ Cited domains: every source the engine linked, counted across runs

The cited domains show who actually shapes the answer. Those are your real competitors, and they can be review sites rather than other brands.

How do you build the prompt set?

Write 30 prompts in the words a shopper would type. Give each an ID. Never edit or renumber them, or the time series breaks.

Thirty is my working number for a team doing this by hand. It is a practical choice, not a statistic.

Bad prompt set, written from the brand's point of view:

→ "Best Brand X water bottle"

→ "Is Brand X insulated bottle good"

Better, written from the shopper's point of view:

→ "Which insulated water bottle keeps drinks cold for a full day?"

→ "Water bottle for a long commute that fits a cup holder"

The bad set names you in the prompt, so the engine is asked about you rather than choosing you. The better set tests whether you get picked.

Mix the intents: category searches, constraint searches ("under $30", "for sensitive skin") and comparison searches. Keep the whole set fixed for at least a year.

Which engines do you run, and where?

Pick four. A sensible set: ChatGPT, Perplexity, Gemini and Google AI Overviews. Add Alexa for Shopping (formerly Rufus) if you sell on Amazon.

Choose one access method per engine and stay on it. A September 2026 arXiv audit of AI product recommendations paired consumer interface requests with API requests for the same queries. The mean overlap in displayed domains was only 12.0% for ChatGPT and 14.8% for Gemini. The same paper found the ChatGPT and Gemini interfaces share just 5.4% of displayed domains on average, with no domain in common in 76.7% of comparisons.

Two lessons:

→ UI and API are different instruments. Do not mix them in one series.

→ Engines disagree with each other. Report each one separately, never a blended average.

How often do you run it?

Run the full set once a month, on the same day. Open a fresh session each time.

Then repeat each prompt. SparkToro suggests "usually at least 60-100X" per prompt to average out the randomness. Few teams can do that by hand. Run each prompt several times, treat the result as directional, and say so in your report. The same arXiv paper concluded that audits "should therefore account for repeated responses."

What do you record per prompt?

One row per prompt, per engine, per run:

FieldExample
Prompt IDP07
Engine and access methodChatGPT, web interface
Date and run number2026-10-12, run 2
Named?Yes or no
Position in listOptional, never the headline
Sources citedEvery domain shown

Copy the full answer text into the sheet too. You will want it when a number moves.

How do you read the result?

Your score is named rate per engine. Then count the cited domains across all runs and sort them.

What you seeWhat it means
High named rate, you are citedYour content is being picked up
Named, but never citedYou appear through someone else's page
Not named, a rival isCompare their cited pages with yours
A review site dominates citationsYour competitor is that page, not a brand

Do not read one month alone. A single shift is inside the noise. Look for three months in the same direction.

What mistakes corrupt the series?

→ Editing prompts mid-stream. A new wording is a new series.

→ Mixing UI and API results. The arXiv numbers above show why.

→ Checking once. One answer tells you nothing about frequency.

→ Using logged-in, personalized sessions. They add a variable you cannot control.

→ Prompts that name your brand. You measure recall of your name, not selection.

→ Reporting position as a score. It is the least stable part of the answer.

What to do next

  1. Write 30 shopper-language prompts. Give each an ID and freeze them.
  2. Pick four engines and one access method each.
  3. Run every prompt several times on the same day each month.
  4. Log named or not, plus every cited domain.
  5. Report named rate per engine, and the three domains cited most often.

Once you know which prompts you miss, cosmy.ai analyzes your listings so you can see what to fix.