ChatGPT chooses brands before searching: how to get on the list
ChatGPT inserts brand names into its search queries before it even loads pages. I read 60 conversations to understand when this happens and what helps a brand get mentioned. This is a key insight for anyone working on AI visibility: the decision on whether to recommend your brand is made long before ChatGPT touches your site.
I asked ChatGPT to name the best AI note-taking app. Seven words, no brand mentions. Before loading anything, it wrote itself a search query like this: Granola, Notion AI, Otter, Fireflies, Fathom, Mem, Limitless — seven products in one search. I didn’t name any of them, and nothing came from web search, so those names came from the model itself.
Then it ran nine more searches — that’s the «fan» of queries I wrote about in the first two parts. One search forms a shortlist, then one search per brand, each leading directly to the company’s website. The fan was never a candidate search — it’s ChatGPT going through a list it already has, one name at a time.
In the first two parts, I wrote that you need to survive the site:yourdomain.com check because ChatGPT runs such checks. But it only runs that check if you made it into the first search query. If you’re not on the shortlist, your site won’t be viewed at all, no matter how good it is. The decision is made before anything touches your server.
I spent two months reading this traffic for the first and second parts. This is the first thing that changes my recommendations to clients. Before reading further: all of this comes from a single account, so every percentage is a direction, not a measurement. The mechanism is another matter. You can reproduce it on your account in two minutes, and I’ll show you how at the end.
How it works
When you ask a question, ChatGPT rewrites it into its own search queries, runs them, reads the results, and then writes a response. These queries are in the response your browser loads, under the key search_queries. OpenAI renamed it from search_model_queries in early August 2026.
This isn’t a leak: your browser needs this JSON to render the page, and you can read it in DevTools on your account in about two minutes. Here’s an example from a question about chat software: I asked «best AI software for support chat,» and it added the year, «official,» «pricing,» and three names.
Everything below is based on reading several hundred such queries. Start with this: open ChatGPT, ask the question «best [your category]» that your customers ask, and read the query it writes. This line will show whether ChatGPT knows your brand exists—this is exactly what is usually sold as an AI visibility audit. The rest of the article is about what to do with what you find.
The Causality Test
The obvious objection to my note-taking apps example: perhaps ChatGPT first performed a search, saw those brands, and then wrote a smarter second query. That would make the names a result of the search, not a cause.
So I ran a test: for each dialogue, I took the first user message and the first search query, sorted by time. At that moment, nothing had been loaded, so there was nothing to learn from. In 21 out of 27 dialogues, the first query contained brands the user had not entered. Look at rows 2 and 3: the same question, slightly different wording—and the list grew from three to seven names. The list grows depending on the wording, not from a fixed table.
Then I ran 12 categories, completely unrelated to each other, to check that this was not a software quirk. 11 out of 13 showed the same thing. The robot vacuum row struck me: recalling that Roborock exists would be ordinary, but it recalled Saros, Dreame X50, and Eufy S1 Pro—current model numbers in the first query, without any prompt. This knowledge extends down to the product line.
The electric SUV row behaves differently. For accounting, therapy, and hosting, it named vendors and went to their pricing pages. For cars, it named magazines: Car and Driver, Edmunds, Top Gear. In one category, its instinct is to go to manufacturers; in another, to reviewers.
I was pleased with this and reran three categories to check stability. Language learning barely changed: five out of six names matched. Accounting shrank from six vendors to a single targeted query for QuickBooks. Web hosting completely switched sides: it dropped all vendors and went to a review site. So «vendors versus magazines» is a trend that can shift between runs, not a fixed property of the category.
Two things persist: the injection happened every time, and the category with the most obvious market leaders kept its names. I suspect that established categories have stable shortlists, while contested ones fluctuate, but three repetitions are not enough to assert this. Do not judge AI visibility by a single response. Run the question five times, because the list changes between runs.
What Influences Brand Injection
All queries up to this point had the word «best,» so I tried to break it. I ran 24 additional queries without that word in seven different forms. It turned out that «best» has nothing to do with it. What matters is whether ChatGPT has to come up with products on its own.
When it doesn’t search at all, it doesn’t work. Ask how noise cancellation works or what a vector database is—it will answer from training without web search. The same goes for open complaints: «We spend too much on customer support tools»—also without search. Seven of my twenty-four queries didn’t touch the web at all, so there was no shortlist to get into.
If you name brands yourself, it accepts them. «Xero or QuickBooks for small business» immediately went to site:xero.com/uk. «Should I use HubSpot for a small agency»—to site:hubspot.com. If you leave candidates to its discretion, it turns to memory. This happened in ten out of eleven cases when I asked for a recommendation without naming names.
The third line is my favorite: I deliberately avoided the words «robot vacuum» and didn’t name anyone, and it went to the site of a specific Roborock model in the first search. Line 2 should worry you if you sell software: a complaint about meeting notes turned into «Granola official pricing» before the page even loaded.

There’s a version aimed at your competitors. All three of my queries about replacements led to new names: «Zendesk alternatives»—Help Scout; «what can I use instead of QuickBooks»—Zoho Books; «something like Duolingo but better for grammar»—Kwiziq and Babbel. When your customer is looking for a way out from your competitor, ChatGPT suggests those it already knows. That could be you, and on that day, you can’t influence it.
If ChatGPT searches for a product and you haven’t named any, it brings its own. Do this: run your category question five times and write down the names that appear in the query each time. The names that appear in every run are your real competitive set in ChatGPT’s mind. What appears and disappears is contested territory where you can shift things. If your brand doesn’t appear once in five runs, you have your answer, and it’s not technical.
Citation: a 3.1% chance
I divided all brands into two groups: those that appeared in the query ChatGPT wrote and those that were only loaded during search but not named. Then I checked how often each group made it into the final answer. The difference is about 33 times. I also found 86 cases where a brand was recommended but its site wasn’t loaded at all in that conversation. A mention doesn’t require a crawl.
This is uncomfortable for my own industry. Much of what is currently sold as GEO is extraction work, i.e., the 2.1% column. The 68.9% column is decided before all of this even runs. Split your budget according to the two columns.
If you’re not in the query, money should go toward getting written about, reviewed, compared, and included in lists: digital PR, category content, placements on review sites, analyst coverage, participation in roundups your buyers read. If you’re already in the query, those expenses are mostly done, and the technical work below remains.
If it all stopped there, the advice would be «build brand equity,» and we could all go home. But after the query, a second filter kicks in, and it’s ruthless. I created a labeled dataset of 57 dialogues: each loaded page as a row, with a label indicating whether it received a citation. 3,554 pages, 110 received citations—3.1%. ChatGPT reads about 600 pages to write a single answer and cites about 30. Almost everything gets read. The gap between reading and citing is where the work lies.
Three factors influencing citations
Position. ChatGPT groups results by domain, and your position within that group predicts almost everything. Below the top 2, citations are a rounding error. Being in the set isn’t a win if you’re ninth.
Cannibalization. Adding pages hurts. When multiple pages from the same domain appear in one group, per-page conversion drops sharply. Two closely related pages is optimal. More than six—you’re mostly competing with yourself. For a year, I’ve been telling clients to consolidate based on intuition. This is the first time I’ve seen it in data.
Relevance. Relevance qualifies but doesn’t select. I rated the cited page against all other pages retrieved for the same claim, based on how well its text matched the supported sentence. The cited page landed in the top 5% of the pool. But it was the single best match only 20% of the time, and its average overlap was significantly below the best available.
So, claim relevance shapes the shortlist, and something else picks the winner. Get into the top 10% for a specific claim—and you’re in the conversation. That part you control through text. The final selection involves things I can’t see.
Here’s what to do: take the questions your buyers ask and find all your pages answering the same question. Choose the page that best matches the intent, make it the answer, and consolidate or redirect the others to it. Ensure the sentence that actually answers the question is at the top of the page as plain HTML text with numbers.
Finding these overlaps manually on a real site is the most painful part. Cannibalization is usually assessed by keyword overlap, but that’s the wrong unit because ChatGPT groups by claims, not keywords. That’s exactly what Keyword Insights is built for: it clusters keywords by search intent, not string matching, so pages competing for one intent are visible as a group, even if they share no keywords. This grouping precisely matches what I see when ChatGPT compresses a domain to a single cited page. Full disclosure: it’s my company, so I know it handles this task.
The results divide AI visibility into two games that are often confused. If ChatGPT doesn’t associate your brand with your category, it won’t mention you in a query, and you have a 2% chance of being cited. A schema won’t fix this, nor will page speed. The llms.txt file has even less chance because your server isn’t contacted before the decision is made.
What seems to build the association is slow, unglamorous work: being written about, reviewed, compared, and debated across the open web for years until the association appears in training data. This is digital PR and category-defining content, which is inconvenient for those selling technical audits as an AI strategy.
The technical part is 3.1%, and it’s real: one precisely targeted page per intent, a proposition with a key claim at the top, facts and figures in plain HTML text, no cluster of near-duplicate pages competing with each other. Here’s the full sequence you can execute this week:
- Check if ChatGPT knows your brand: ask a category question five times and see if your brand appears in the search results.
- Check which pages are cited: use FanoutFox to track citations and view queries.
- Eliminate cannibalization: find pages answering the same question and merge them.
- Optimize content: ensure the key claim and figures are at the top of the page.
In my data, one brand was loaded 66 times and never cited. That’s not an awareness problem. The engine kept returning and decided there was nothing to cite. Step 4 exists to catch this.
Steps 1 and 4 are what I built FanoutFox for, because doing them manually for every response quickly becomes tedious. It’s a free Chrome extension; everything stays in your browser, and it reads your own

