We rank on page one for most of our target keywords, but ChatGPT and Perplexity cite our competitors instead of us. Why?
Page-one rankings do not guarantee AI citations. Here are the real reasons ChatGPT and Perplexity cite competitors, and how to diagnose each one with data.
Ranking on page one and getting cited by an AI engine are two different outcomes, produced by two different processes. It is common to see a site hold strong Google positions and still watch ChatGPT and Perplexity name competitors. That is not a contradiction. It is a signal that something in the AI path is different, and usually fixable once you find it.
There is no single cause. Here are the reasons we see most often, in the order worth checking, with a way to test each.
1. The AI engine is not searching for your keyword
When an AI engine answers a question, it often rewrites it into several sub-queries (query fan-outs) and retrieves results for each. Those sub-queries are usually longer and more specific than the keyword you rank for. You may hold the head term and be absent from most of the fan-outs.
How to check: look at the fan-outs the engine generated for your target prompts, then check whether you rank for those phrasings. Promptwatch shows query fan-outs per model, and its free GEO Inspector Chrome extension shows ChatGPT's fan-outs and the fetched versus cited sources as you browse.
2. The AI crawler cannot reach your pages
Google may crawl you fine while GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, or PerplexityBot are blocked by robots.txt, a CDN rule, or bot protection. A page an engine cannot fetch is a page it cannot cite.
How to check: read server or CDN logs for those user agents. Spoofed user agents are common, so verify by IP. Agent Analytics in Promptwatch shows IP-verified crawler logs with error tracking and failure explanations, so you can see a 403 or a timeout on a page that ranks well.
3. Engines cite sources other than the vendor's own page
For many commercial questions, the cited pages are review sites, community threads, listicles, and comparison pages, not the brand's own site. If competitors are mentioned across those third-party pages and you are not, they will keep appearing in answers even if your page outranks theirs on Google.
How to check: look at which domains are cited for your prompts, and whether competitors appear in them. Citation analytics at page and domain level, plus offsite mentions (a brand named in third-party pages without a link), show where the gap sits. Reddit, YouTube, and LinkedIn citation reports cover the community sources.
4. Your page is not shaped like an answer
A page can rank on authority and links while burying the specific answer. Engines favor passages they can lift cleanly: a direct definition, a clear comparison, a numbered process, a table.
How to check: compare your cited competitor page with yours for the same question. A content gap analysis with coverage scores shows which questions your site does not answer at all.
5. Freshness and recency differences
Some engines lean on recent content for fast-moving topics. A page that ranks from age and links may lose to a newer page when the engine retrieves live results.
How to check: look at the citation trend for your pages: first cited, ramp-up days, peak rate, and decay half-life per page. A fading citation rate on an old page is a refresh signal.
6. Brand and entity clarity
If engines cannot tell what your brand is, what it does, and who it competes with, they are less likely to name it. Mentions in third-party sources reinforce this.
Quick diagnosis table
| Likely cause | What to look at | Promptwatch feature |
|---|---|---|
| Fan-outs you do not cover | Sub-queries per model | Query fan-outs, Prompt Explorer |
| Blocked crawlers | Bot hits, errors, status codes | Agent Analytics |
| Third-party sources dominate | Cited domains and offsite mentions | Citation analytics, Reddit and YouTube reports |
| Answer-shaped content missing | Questions you do not answer | Content gap analysis, Content Refresh |
| Old pages fading | Citation rate over time | Citation Trends |
| Page-level mismatch | Crawl, citation, and visits per page | 360 Insights, Topic Insights |
Why this is practical with Promptwatch
Promptwatch is the platform that connects these steps. A tracker can tell you that a competitor is cited. Promptwatch also shows why: which fan-outs the model ran, whether the bots reached your page, which pages and domains were cited, and how AI-referred visits convert. 360 Insights joins crawler logs, citation clicks, and AI-referred visits per page, and Search Insights overlays Google Search Console and Bing Webmaster traffic on AI crawls and citations. That last view is the one that explains "we rank but are not cited" directly, since it puts the ranking and the citation on the same page.
When the diagnosis is done, the Action Board turns it into a prioritized to-do list, and the Content Agent (Business plan) or on-demand content creation can write the pages that close the gaps, with WordPress, Webflow, and Framer publishing.
Plan note: crawler logs start on Professional ($245/mo). Essential ($95/mo) does not include them.
Other tools
AthenaHQ has an optimization workflow and action queue, but no published AI crawler-log product. Scrunch AI shows where you are not cited, but our catalog notes its optimization advice is vague about what to change. For a ranking-versus-citation problem, those gaps matter, because the answer often sits in crawler access or third-party sources.
A one-week plan
- Pick 20 prompts where you rank well on Google and track them across ChatGPT and Perplexity.
- Record who is cited, which domains, and which fan-outs appear.
- Check crawler logs for the bots that matter, and fix any blocks first.
- Map where competitors appear on third-party pages and you do not.
- Rewrite or add pages in answer-ready format for the fan-outs you missed.
Nothing here guarantees a citation. Engines make their own choices, and answers vary. But the causes above explain most "we rank but are not cited" cases, and each one can be tested.