How to run a GEO audit with fan-out data, step by step

Published . Updated .

Close-up of a paper checklist with three boxes, the middle one ticked with a large blue tick.

A GEO audit with fan-out data checks that AI assistants can reach your site, records the searches ChatGPT, Claude and Grok run for your buyers' questions, and gives every answer one state: your page was missed, fetched, cited or only your brand was named. You end with a scorecard by theme and a fix list that the next audit can be measured against.

Our guide to the GEO workflow with fan-out data sets out the monthly steps. This page is the first run of that workflow done as an audit: the checks to make before you send a prompt, the sheet to record each search in, how to score the results and what the report should say. Most GEO audits log the answer and its cited links. Logging the searches as well tells you why a page was missed.

What does fan-out data add to a GEO audit?

It adds the searches the assistant ran and the pages those searches brought in. With those two lists you can see where in the process your page dropped out.

Question the audit asksAnswer and citations onlyWith fan-out data
Was our brand named?YesYes
Which pages were cited?YesYes
What did the assistant search for?NoEvery query, in the order it ran them
Was our page read and then left out?NoThe fetched list set against the cited list
Did it check our own site for a fact?NoA site: search on our domain in the query text
Did it answer about us from memory?GuessworkBrand named, and none of our pages fetched

What should you check before you send a prompt?

Check that the assistants are allowed to reach your pages and that the facts you want quoted sit in the page itself. A blocked page can never turn up in a fetched list, and rewriting it will not change that.

CheckHowWhy it matters
Search crawlers allowedRead robots.txt for OAI-SearchBot and Claude-SearchBotOpenAI says sites opted out of OAI-SearchBot "will not be shown in ChatGPT search answers"
User fetchers not blockedCheck robots.txt and your firewall or CDN bot settings for ChatGPT-User and Claude-UserAnthropic says blocking Claude-User "prevents our system from retrieving your content in response to a user query"
Training crawlers kept apartDecide on GPTBot and ClaudeBot separately from the two rows aboveBoth companies list them as training crawlers, so blocking them is a separate choice from search
Key facts in the HTMLOpen view-source on your main pages and search for your price, product name and main claimA fact that only appears once scripts run may be missing from what a fetcher reads
Pages loadEach page you expect to be cited returns 200 with no sign-in wall or pop-up in front of the textA page browse in Grok's record means Grok opened that exact URL

The crawler names and quotes come from OpenAI's overview of its crawlers and Anthropic's article on how site owners can block its crawlers. Note anything you fix here with the date, so you know which audit was the first to see the change.

How do you choose the prompts for a GEO audit?

Write 15 to 30 prompts in your buyers' words, spread across the stages of a purchase, and run each one three times on each assistant in a fresh chat. Three runs matter because the searches change from run to run.

StagePrompt shapeWhat the fan-out shows you
Problem"How do I stop this happening?"Whether your explainer pages come up for the general searches
Comparison"Best tool for this job" or "A versus B"Which review and comparison pages the assistant reads, and whether yours is one
Decision"How much does it cost?" or "Is it worth it?"Whether your pricing and product pages are fetched, and whether it runs site: searches on your domain
Brand"What is your brand?" or "Is your brand any good?"Whether the assistant reads your site or answers from memory

Keep branded prompts to about a quarter of the set, since an audit made only of them tells you little about the searches where buyers have not heard of you yet. Seer Interactive's test of 100 prompts on Gemini 3's API found only 8 exact queries that came back in all 13 runs, so one run per prompt would give you a list that never repeats.

What goes in the audit sheet?

Use two tabs, with one row per search query in the first and one row per turn in the second. The query tab shows what the assistant looked for, and the turn tab shows where your pages ended up.

TabColumns
QueriesRun date, assistant, prompt, run number, query text, its place in the order, kind of search, theme
TurnsRun date, assistant, prompt, run number, your pages fetched, your pages cited, brand named (yes or no), other domains cited, queries withheld (yes or no), state

The kind of search matters when you clean the list. ChatGPT runs web, business, image and find searches. Claude runs web and places searches, and Grok runs web searches, page browses and X searches. Drop ChatGPT's find lines, and Grok's searches of a connected Gmail, Drive or Calendar, whose query text is never stored. The workflow guide has the full cleaning rules.

Record while you send. Since 14 September 2026, ChatGPT sends its query text only in the live answer stream, so an audit built from reopened chats has the sources but no searches. Only Fan Out records each turn in a side panel as the answer arrives and exports a turn or a whole conversation as CSV, Markdown or JSON for the sheet. Add your brand and domain to its watchlist and it highlights every mention across queries, fetched sources, cited sources and answers.

How do you score a GEO audit?

Give every turn one state, then count the states by theme and by assistant. Keep each assistant's scores apart, because ChatGPT, Claude and Grok search in different ways.

State of a turnWhat the record shows
MissedNone of your pages fetched, and your brand not named
Named onlyYour brand named in the answer, and none of your pages fetched
Fetched, not citedOne of your pages fetched, and no sentence in the answer cites it
CitedA sentence in the answer cites one of your pages
No dataThe assistant withheld its queries and showed a label such as "Searching the web"

Leave "No data" turns out of every count. Then work out four numbers for each theme.

ScoreHow to count itA low score points to
ReachTurns with one of your pages fetched, divided by all turnsYour pages do not come up for the searches the assistant writes
Cite rateCited turns divided by turns with your pages fetchedYour page is read and no sentence relies on it
Named without a pageCount of "Named only" turnsThe answer comes from the model's memory, so check that what it says is true
Own-site checksQueries that use site: with your domainThe assistant went to your site for one fact, so that fact needs its own crawlable page

Counting per turn keeps a page that appears twice in one answer from counting twice. Our post on fetched vs cited sources explains where each assistant keeps the two lists and why published cite rates disagree.

How do you find your competitors in a GEO audit?

Take them from the cited lists for your themes. The domains cited most often for a theme are the pages the assistant prefers, whether or not you think of them as rivals.

For each weak theme, open the two or three most cited pages and note what they answer that your page does not. Some will be other brands. Others will be review sites, forums or directories, and those need work off your site, such as getting listed or reviewed there, since no edit to your own page changes them.

What should the audit report say?

Put the scorecard by theme for each assistant on the first page, then the weakest themes with one fix each, then the date and the prompt set so the next audit compares like with like.

  1. Access problems found in the checks, with the date each was fixed.
  2. Themes the assistant searched where you have no page at all.
  3. Themes with low reach, where you have a page and it was not fetched.
  4. Themes with a low cite rate, where your page was fetched and left out.
  5. "Named only" answers, with anything the assistant got wrong about you.
  6. Your own-site checks, with the fact the assistant was looking for each time.

The workflow guide's fix order covers what to change for each state. Run the same prompts again each month as a light check and repeat the full audit each quarter. Change the prompt set only between full audits, or the scores stop being comparable.

What can a manual GEO audit not tell you?

It shows what one account saw on the days you ran it, and it says nothing about how OpenAI, Anthropic or xAI choose sources inside the model.

Answers through an assistant's API can differ from the chat app people use, so keep the audit in the app. Bing Webmaster Tools' AI Performance report adds Bing's own grounding queries for your site, which is a separate source from ChatGPT, Claude or Grok. And no tool or audit can promise citations. Only Fan Out records the data and changes nothing on your site.

Related questions

How many prompts does a GEO audit need?

Enough to cover each theme several times. Write 15 to 30 prompts in your buyers' words and run each one three times on each assistant in a fresh chat, because the searches change between runs.

How is a GEO audit different from an SEO audit?

An SEO audit checks how your pages rank for the searches people type. A GEO audit checks whether AI assistants reach, read and cite your pages for the searches they write themselves. The crawler and HTML checks overlap.

Does Only Fan Out run the audit for you?

No. It records the queries, fetched pages and cited pages for each turn in ChatGPT, Claude and Grok, and exports them as CSV, Markdown or JSON. Choosing the prompts, scoring the turns and making the fixes are up to you.

See the fan-out for your own prompts

Only Fan Out is a free Chrome side panel that lists the queries, fetched pages and cited pages behind each ChatGPT, Claude or Grok answer. Nothing leaves your browser.

Add to Chrome, it's free