ChatGPT doesn't search for what your customer typed
When someone asks ChatGPT for a recommendation, it rarely searches for their exact words. Before it runs a web search, the model rewrites the question into its own set of search queries, then reads whatever ranks for those. The page it ends up citing is the page that matches its search, not the one your customer typed.
That rewrite step has a name: query fan-out. A single prompt fans out into several distinct searches, each with its own wording and its own set of results.
What query fan-out looks like
Say a buyer asks ChatGPT, "best CRM for startups." Under the hood, the model may never search that phrase at all. It might run something like this instead:
Customer asked
best CRM for startups
ChatGPT searched
- best CRM for startups 2026 reviews
- CRM pricing comparison small business
- hubspot vs pipedrive vs salesforce
- best CRM free trial for startups
One question became four searches. Each one pulls its own sources, and none of them is the phrase your customer actually typed.
Why it decides whether you get cited
Here is the uncomfortable part. You can rank #1 for "best CRM for startups" and still never get mentioned, because ChatGPT went looking for "best CRM for startups 2026 reviews" and a competitor owns that phrase. The model cites the page that matches its search, not yours.
So the keywords that decide your AI visibility are not the ones you picked. They are the ones ChatGPT generates on the fly, every time it answers. If you cannot see them, you are optimizing blind.
You are not competing for the question your customer asked. You are competing for the question ChatGPT asked on their behalf.
How to see your fan-out in Geonimo
Until recently, the only way to read these hidden searches was to open your browser's developer tools, find the right network request, and dig through raw JSON one conversation at a time. Geonimo's Query Fan-out tab captures them for you automatically.
For every prompt you track, it records the exact searches ChatGPT issued to the web and shows them two ways:
- By query. Each unique search, how many times it was issued, how many of your prompts triggered it, and the sources it surfaced.
- By prompt. Every prompt grouped with the full set of searches the model ran to answer it.
Today this is captured for ChatGPT, which is where the fan-out is exposed in the response. It is the same data the manual developer-tools trick gives you, except across every prompt you track and without the digging.
What to do with it
Once you can see the real searches, the play is simple. Take the phrases that show up most often and put them where ChatGPT will find them: your titles, your URL slugs, your H2s, your first sentence. Near the top of the page, not the bottom.
That is the whole loop. Read the terms ChatGPT uses to look you up, then use those exact terms before it comes looking.

