A content gap analysis answers one question: which questions do your buyers ask that your competitors answer and you do not? The classic version compares keyword rankings. That still works for Google, but it misses the place many buyers now ask first, AI assistants, where the gap is not a ranking but a name that is missing from an answer.
This post gives you a method that covers both, a way to rank what you find, and a worked example from our own site, including what our product wrote to close the gaps it found.
What counts as a content gap?
There are three kinds, and they need different fixes.
- A missing page. Nothing on your site answers the question. Competitors have a page for it; you do not.
- A weak page. You have a page on the topic, but it does not answer the question directly, so it neither ranks nor gets quoted. This is the most common gap and the cheapest to close.
- An off-site gap. The answer is decided by pages other people wrote (roundups, review sites, threads) and those pages name competitors, not you. No page on your own site closes it on its own.
A keyword gap report only shows the first kind. The other two need you to read the results and the answers.
How do you run a content gap analysis, step by step?
Step 1: Pick the competitors buyers actually compare you with
Three to five. Not the biggest sites in your space, but the ones that show up next to you when a buyer asks. A quick way to find them is to ask AI assistants your category question a few times and note who is named. Those are the brands your buyer will hear about first.
Step 2: Build the question list
Collect the questions from four places:
- Your own Search Console queries, especially those with impressions but few clicks.
- A keyword tool's competitor comparison: keywords two or more competitors rank for and you do not.
- Sales and support: the questions prospects ask before they buy.
- AI prompts: how buyers phrase the question to an assistant, which is longer and more specific than a search query. "Best AI visibility tool for a seed-stage B2B startup" rather than "AI visibility tool".
Group duplicates into one question each. A list of 30 to 100 questions is plenty for a first pass.
Step 3: Check the Google side
For each question, look at who ranks on page one and what kind of page ranks: a guide, a comparison, a tool, a product page. Note whether you rank, and with which page. If you rank with the wrong page (a blog post where a product page should be), that is a weak-page gap.
Step 4: Check the AI side
Ask each question to the assistants your buyers use, several times over several days, because answers vary from run to run. For each question record two things: which brands the answer names, and which pages it cites. Do not expect the Google results to predict this: the pages AI answers cite overlap only partly with the pages that rank, as why brands go missing from AI answers shows with outside data.
Step 5: Find the page that decides each lost question
For every question where competitors are named and you are not, look at the cited pages. Some will be competitors' own pages, which you cannot get onto but can answer with a better owner page. Many will be third-party pages, which you can get onto. Note for each whether it names you.
Step 6: Classify and rank
Give each gap a type (missing, weak, off-site) and score it on two axes: how valuable the question is (closeness to a purchase, volume, how often it is asked) and how much effort closing it takes. Start with high-value, low-effort gaps, which are usually weak pages.
What does a content gap look like on a real site?
Here is our own. These numbers are read from the attensira.com workspace in our product over the Attensira MCP on 4 October 2026: 61 tracked questions on ChatGPT and Perplexity, 4,524 answers between 4 September and 4 October 2026, read on 24 of the 31 days.
| Brand | Answers that named it |
|---|---|
| Semrush | 1,621 |
| Profound | 1,420 |
| Ahrefs | 1,171 |
| Peec AI | 988 |
| Otterly AI | 967 |
| Attensira | 197 |
That is the gap in one table: in the answers to our own category's questions, five competitors are each named between 4.9 and 8.2 times as often as we are. And every answer that names us is an answer to a question with our name in it.
The answer at the top of this page is one of those losses, read word for word. Asked for "Otterly AI alternatives" on 4 October 2026, ChatGPT recommended Peec AI, Profound, Scrunch AI, Semrush, Ahrefs and Promptwatch-style platforms, and cited roundup pages. From 5 September to 4 October, neither engine named or cited us in any of the 63 answers to that question, while Otterly AI itself was named in 48. Questions like this one are where the gap is widest, because the buyer is already choosing.
Broken down by type, the gaps look like this:
- Weak page. For "what is generative engine optimization", ChatGPT cited one of our pages in 3 of 60 answers, and neither engine named us in any of 108. Wikipedia was cited in 81 of them. We have a page on the topic and the engine sometimes reads it; it does not give a definition worth lifting over Wikipedia's. That is a rewrite, not a new page.
- Missing page. For "how to measure share of voice in AI answers", the deciding pages were independent explainers and competitors' guides. We had no page that owned the question. Our product drafted the article, "How to measure share of voice in AI answers", and it is waiting in our inbox for approval.
- Off-site gap. For "AI visibility for SaaS companies", no brand was named in more than 2 of 112 answers, so nobody owns it yet. On Perplexity the answer was decided by guides from agencies and SaaS marketing blogs, none of which named us. A page on our site helps on ChatGPT; on Perplexity the work is getting onto the guides it already reads.
The fourth kind of finding is the honest one: some gaps are not worth closing. For "why am I not showing up in ChatGPT", OpenAI's own help centre carried 797 of 1,395 citations on ChatGPT. We will not out-rank OpenAI on OpenAI's product, so that question goes to the bottom of the list.

