AI Competitor Gap Analysis: Finding Prompts Where Competitors Appear and You Don't
99Visibility Research · Updated October 21, 2026 · 8 min read
An AI competitor gap analysis lists the buyer prompts where AI answers name a competitor but not you. For each gap, record which engine answered, whether it searched the web, and which sources it cited. Then check whether your own pages cover the topic and can be reached by that engine's crawler. Treat every gap as a question to investigate. Brand size explains many gaps, and no fix guarantees a mention.
What a prompt gap is, and what it is not
A prompt gap is a specific observation: for this buyer question, on this engine, on this date, the answer named a competitor and did not name you. It is not a verdict that the engine dislikes your brand. It is a starting point for checking why.
Three facts shape how you read a gap:
- Retrieval is per query and discretionary. ChatGPT decides when to search, and OpenAI's help page says it rewrites your question into one or more targeted queries before sending them to search providers. You never see the exact query that produced the answer.
- Some answers come from memory, not the web. If an answer shows no citations, it may come from the model's training data, which you cannot change this quarter.
- Engines differ. One engine can name a competitor while another names you. A gap on one engine says nothing about the others.
So the goal is not to close every gap. It is to find the gaps that point to something you can fix: a missing page, a blocked crawler, or an absence from the sites the engine trusts for that topic. If you need context on the common causes first, read why ChatGPT recommends competitors but never mentions your brand.
Build the gap table
Run this once properly and you have a baseline you can repeat.
- Write 20 to 40 buyer prompts. Use the questions buyers actually ask: "best CRM for a 10-person agency", "alternatives to [category leader]", "how much does [service] cost in [city]". The prompt research method covers how to source them.
- List 3 to 5 competitors. Pick the ones buyers actually compare you with, not only the biggest names in your category.
- Fix your settings. Run each prompt logged out, with memory off, on the same engines each time. OpenAI says ChatGPT may use saved memories when rewriting a search query, so logged-in results are not reproducible. The ChatGPT prompt tracking method explains how to keep runs comparable.
- Run each prompt on each engine and record the answer. Save the full text and every cited URL. If you use APIs, the Perplexity Agent API method shows how to turn web search on, since it is opt-in there.
- Mark who was named. One column per brand: named, not named.
- Flag the gaps. A gap is any row where at least one competitor is named and you are not.
A simple layout works. Here is a hypothetical row for a dental clinic in Austin:
| Prompt | Engine | Searched web? | You | Competitor A | Competitor B | Cited sources |
|---|---|---|---|---|---|---|
| best emergency dentist in Austin | ChatGPT | Yes | No | Yes | Yes | two local directories, one news article |
The "Searched web?" column matters most. A gap with citations is something you can investigate. A gap without citations mostly reflects the model's training data.
Check the sources the engine cited
For every gap that came with citations, open each cited URL and ask one question: does this page name the competitor, and does it name you?
This is where most actionable gaps live. When engines cite other sites instead of yours, being named on those sites is the route into the answer. The evidence shows a strong association here, not a guaranteed effect. Group the cited sources by type:
- Directories and review sites. Are you listed? Is your listing complete and correct?
- Comparison and "best of" articles. Are you included? Is the information about you current?
- Forums and community threads. Is your brand discussed at all?
- Competitor-owned pages. These are hard to influence. Note them and move on.
Keep in mind that citation is not the same as use. OpenAI's API returns the full list of sources the model consulted separately from the ones it cited, and the consulted list is often longer. A cited page shows influence, but other pages may have shaped the answer too.
The balance between your own pages and other sites is covered in owned site versus third-party mentions. The next move from this step is usually outreach or listing fixes, not edits to your own site.
Check your own topical coverage and access
Next, check whether you gave the engine anything to retrieve. Research on what gets cited, including a 252,000-trial study (arXiv 2605.25517), found that topical relevance and position in the candidate list drive citation most. You control topical relevance. You do not control list position.
For each gap prompt, check:
- Is there a page that answers this question? Not a page that mentions the keyword: a page about that topic. If the prompt asks about emergency appointments and your site never mentions them, that is a coverage gap.
- Does the page state the specific facts? Prices, locations, hours, a one-line description of what you do. Stating a specific fact on a fetchable page gives the engine a sentence it can quote.
- Is that content in the raw HTML? Most AI crawlers do not run JavaScript. Content that only appears after scripts run may be invisible to them.
- Can the engine's search crawler reach you? OpenAI's crawler documentation says sites that opt out of OAI-SearchBot will not be shown in ChatGPT search answers. Blocking GPTBot only affects training. A firewall or CDN can still block a crawler that robots.txt allows. The AI Crawler Checker requests a page as each AI crawler and shows which ones get turned away.
Do not respond to a gap by rewriting pages in an "AI-friendly" style. C-SEO Bench found most conversational SEO rewriting methods ineffective and often harmful, and those tests ran on content already in the model's context.
Account for brand size before you act
Brand size is the biggest confounder in any competitor comparison. A study of AI search citation patterns (arXiv 2507.05301) found that the top 20 news sources accounted for 67.3% of citations for OpenAI models. Attention concentrates on what is already well known.
If your gaps are all against the category leader, that tells you mostly about the category leader. It does not tell you what you did wrong. A fairer test compares you with competitors of similar size, reach and age. The method is in benchmarking against like-sized competitors.
Sort your gaps into two groups:
- Size gaps: only much larger brands are named. Low priority. Few on-site fixes change these.
- Peer gaps: a competitor your size is named and you are not. High priority. Something specific usually differs, such as a directory listing, a comparison article, or a page you lack.
One more check: if an answer says something odd about you or a rival, look at the cited pages for hidden instructions or manipulated text. Injected content is a known risk, covered in whether a competitor can manipulate AI answers about you. Report it. Never copy the tactic.
Gap investigation checklist
Run through this for each priority gap:
- The prompt is a real buyer question, not a branded query you wrote to test yourself.
- The run was logged out, memory off, with settings recorded.
- You noted whether the answer searched the web and saved every cited URL.
- The named competitor is roughly your size, or you have tagged the gap as a size gap.
- You opened each cited source and recorded whether it names you.
- You have a page covering the prompt's topic.
- That page states the key facts in plain text in the raw HTML.
- robots.txt allows the engine's search crawler (OAI-SearchBot, PerplexityBot, Claude-SearchBot).
- Your firewall or CDN does not return a 403 or challenge to that crawler.
- The page is not marked noindex or nosnippet by accident.
- You checked cited pages for anything that looks like injected or hidden text.
- You wrote down one next action, or marked the gap as outside your control.
What good and bad results look like
A good analysis ends with a short list of specific actions. A bad one ends with a score.
Good results
- Most gaps are sorted into size gaps, peer gaps, and no-citation gaps.
- Each peer gap has a named cause to test: "not listed on the directory cited in four of six answers", or "no page about emergency appointments".
- Access problems are found and fixed first, because they block everything else.
- You expect some gaps to stay open and say so.
Bad results
- A single blended number across engines. Otterly's 2026 experiment saw one engine cite a site thousands of times while others barely cited it. A blend would have hidden that.
- Gaps treated as proof of a problem without checking citations or brand size.
- A to-do list of schema, llms.txt or rewrites. None of these has evidence behind it as a route into AI answers.
- Results from logged-in sessions that nobody can reproduce.
How often to repeat it
Repeat the full analysis monthly with the same prompts, competitors, engines and settings. Models, defaults and retrieval behavior change often, as of October 2026, and a fixed method is the only way to tell an engine change from a change in your setup.
Re-run a single gap sooner after you ship a fix, such as a new page, a corrected listing or an unblocked crawler. Expect noise between runs: retrieval is discretionary, so the same prompt can produce different answers on different days. Look for a pattern across several runs before you call a gap closed.
For a quick first snapshot before you build the full table, the free checker on this site shows whether AI names you for up to three buyer questions. It is a one-time check, not continuous tracking.
Should I include prompts that mention competitors by name? Yes, some. Prompts like "alternatives to [competitor]" are real buyer questions and often show which sources engines trust for comparisons. Keep them as a separate group, because they bias answers toward the named brand. Most of your set should be unbranded category questions. More detail is in [whether to track competitor-name prompts](/questions/track-competitor-name-prompts).
How many prompts do I need for a useful gap analysis? Twenty to forty buyer prompts across your main engines is enough to see patterns. The evidence base gives no ideal number. What matters more is consistency: the same prompts, the same settings and the same engines every run. A small, stable set beats a large set that changes each month, because you can compare results over time.
What if the answer has no citations? Then it may come from the model's training data rather than a live search. Nothing you publish this quarter changes that answer directly. Record it as a no-citation gap and focus on gaps where the engine searched. Retrieval-off answers are bounded by each model's knowledge cutoff, which differs between models even within one product.
Will closing a gap guarantee my brand gets mentioned? No. You control access, your own pages and your listings on other sites. You do not control how the engine rewrites the query, which sources it retrieves or what the model chooses to say. Fixing a cause removes a block. It does not promise a mention, a citation or a ranking.
Do I need to check every engine separately? Yes. Each engine draws on different indexes and crawlers. ChatGPT search depends on OAI-SearchBot access, Google's AI features depend on Google's index, and Copilot grounds on Bing. A gap on one engine can have a different cause from a gap on another, so record the engine on every row.
Sources
This page is AI-assisted. It was written from a verified evidence base and checked against our editorial policy. Engine behaviour changes often; facts are as of October 21, 2026.