AI Search
How to get cited by ChatGPT
ChatGPT does not search for what you typed. It writes its own searches first, then goes looking. You can read those searches in your browser, for free, in about fifteen minutes. Then you write for them.
9 steps · 17 checks · no tools beyond your browser
"Ultimately, the pages that get cited are the ones whose titles and content match the questions ChatGPT is asking behind the scenes, and that surface through the right retrieval channel."
The rest of that study is worth your time, but this one sentence is the whole job. Your page does not compete for the prompt a person typed. It competes for the sub-questions ChatGPT invented after reading that prompt, which nobody ever sees.
Except you can see them. They ship in the response payload of your own conversation, sitting in plain JSON, waiting for someone to open DevTools. So stop guessing at what the model wants and go read it.
of retrieved URLs get cited. The other half is read and discarded.
URLs pulled per prompt, on average, across every channel.
title-to-fanout-query similarity for cited pages, against 0.484 for the ones left out.
Your progress
Reading the queries, step by step
Do this in a normal Chrome window on chatgpt.com. Nothing here modifies the page or the account — you are reading a response your browser already downloaded.
- 1
Ask the question your buyer would ask
Open ChatGPT, make sure web search is on, and type the sentence a real customer would type. Not your keyword — their words. "Best email verification tool for Google Sheets" pulls different searches than "email verification".
If the answer comes back instantly with no source links, ChatGPT answered from memory and never searched. Nothing to read. Ask something it has to look up.
- 2
Copy the conversation ID out of the URL
Look at the address bar. It reads chatgpt.com/c/ followed by a long string. Copy everything after /c/. That string is the network request you are about to go find.
- 3
Open DevTools
Right-click anywhere on the page and pick Inspect. Keyboard works too: F12 on Windows, Cmd + Option + I on a Mac.
- 4
Go to Network and paste the ID into the filter
Click the Network tab, then the filter box in the top-left of that panel. Paste the conversation ID in. Everything unrelated drops out of the list.
Switch the request type to Fetch/XHR if the list is still noisy.
- 5
Refresh the page
Cmd + R or F5. The Network tab only records traffic while it is open, which is why the list was empty a second ago. The refresh replays the whole conversation load.
- 6
Click the conversation request
Usually one row survives the filter — the request whose name ends in your conversation ID, marked with the orange JSON brackets. Click it.
- 7
Open the Response tab and search for "queries"
With the request selected, open Response (Preview works too). Click once inside that pane so the browser searches the response rather than the page, then Ctrl + F or Cmd + F and type queries.
On some payloads the key is search_query instead. Try both.
- 8
Read what ChatGPT actually searched
There it is. A list of search strings the model wrote for itself before it wrote a word of the answer. These are the fanout queries, and they are almost never the prompt you typed.
- 9
Do it twenty more times
One conversation is an anecdote. Run the twenty prompts your buyers actually ask, dump every fanout query into the same sheet, then sort and count. The queries that repeat across different prompts are the ones worth a page.
Same prompt, run twice, can produce slightly different fanout queries. Volume is what makes the pattern readable.
You have the list
Now the part that actually moves citations: writing pages that match it.
Keep goingPart two
Now write for the queries, not the prompt
A spreadsheet of fanout queries is only a list until you change something because of it. Five things are worth changing.
Put the query in the title, nearly word for word
This is the single strongest lever in the Ahrefs data. Cited titles scored 0.656 similarity against the fanout query that retrieved them. Titles that got skipped scored 0.484. If a repeating query reads "email verification tool that works inside Google Sheets", your H1 and title tag should read close to that, and the clever version should go in the subhead.
One page per repeating query, not one page per topic
A single page trying to serve six fanout queries matches all of them at 0.5 and wins none of them. Split it. The hub-and-spoke habit that works for Google works here for a blunter reason: each spoke gets its own shot at a title match.
Answer in the first paragraph
Not after the origin story, not after the definition section. The model is scanning for the answer to a specific sub-question, and it is reading dozens of pages to find it. Give it something to quote in the first eighty words.
Write URLs in plain words
Pages with readable, natural-language slugs were cited 89.78% of the time versus 81.11% for the rest.
It is the cheapest fix on this page. /resources/how-to-get-cited-by-chatgpt
beats /resources/p?id=8842.
Get into the search channel, because the others barely count
Citation rate depends enormously on where a page surfaced from. Pages retrieved through search were cited 88.46% of the time. Reddit, which ChatGPT retrieves more aggressively than almost anything else, was cited 1.93% of the time.
| Channel | Cited | Retrieved | What that means |
|---|---|---|---|
| Search | 88.46% | 25.5M URLs | The channel that actually gets cited. |
| News | 12.01% | 3.9M URLs | Retrieved often, cited rarely, and only while fresh. |
| 1.93% | 16.1M URLs | Enormous retrieval, almost no credit. | |
| YouTube | 0.51% | 953K URLs | Reached for, then dropped. |
| Academia | 0.40% | 185K URLs | Reached for, then dropped. |
Reddit alone accounts for 67.8% of every URL ChatGPT retrieved and then refused to cite. Posting in threads still shapes what the model believes. It just will not put your link in the answer.
When it does not work
- The URL has no /c/ id
- The conversation has not been saved yet. Send one message and the id appears.
- Nothing shows up in the Network tab
- You filtered before refreshing, or DevTools was closed when the page loaded. Refresh again with the panel open.
- The filter kills every row
- Paste the id again without stray whitespace, or clear the filter and sort by Name until you find the row ending in your conversation id.
- No "queries" anywhere in the response
- Try search_query as the search term. If neither exists, the model never searched — ask a question it cannot answer from training data and run it again.
- The response is one enormous unreadable blob
- Use the Preview tab instead of Response. It renders the same payload as a collapsible tree.
- One warning
- That payload contains the full text of the conversation. Do not run this on a shared screen with a chat you would not want read out loud.
Questions
What are ChatGPT fanout queries?
Fanout queries are the search strings ChatGPT writes for itself after reading your prompt. Instead of searching your exact words, it breaks the prompt into sub-questions and searches those. They appear in the conversation response payload under a "queries" key, which is why you can read them in DevTools.
Why does ChatGPT cite some pages and ignore others?
Ahrefs studied 1.4 million ChatGPT prompts and found that roughly half of all retrieved URLs are never cited. The strongest signal in cited pages was semantic similarity between the page title and the fanout query that pulled it in: 0.656 cosine similarity for cited titles against the fanout query, versus 0.484 for non-cited titles against the prompt.
Does getting retrieved mean getting cited?
No, and Reddit is the clearest proof. Reddit accounted for 16.1 million retrieved URLs in the Ahrefs data and a 1.93% citation rate, which means 67.8% of everything ChatGPT retrieved and threw away came from Reddit. Pages pulled through the search channel were cited 88.46% of the time.
Do I need a paid tool to see the queries?
No. Everything on this page uses the DevTools panel already built into Chrome, Edge, Firefox, and Safari. The only cost is the fifteen minutes it takes to run a handful of prompts.
What if there is no "queries" key in the response?
The model answered without searching. Ask something it cannot answer from training data alone — a comparison, a current price, a "best X for Y in 2026" question — and the search step will fire.
How often should I redo this?
Quarterly is enough for most niches. Fanout queries shift when the model changes or when the topic itself moves, so treat the spreadsheet as something you re-run rather than something you build once.
Next
Brand SEO Framework Checklist
Owning your own name in search, which is the other half of being the page a model reaches for.
Keyword Monitoring Tools
Seven tools that watch Reddit, X, and forums for your keywords, with real pricing.
Method credit: an r/SaaS thread on the Ahrefs study, which is where the DevTools trick was first laid out plainly.
Want help turning that spreadsheet into pages?
We build the tools and the content behind them. Tell us what your buyers are asking and we will tell you what is missing.
Get in touch