Your competitor shows up in AI answers on thirty questions where you don't even exist — and those thirty questions match exactly the research phases of your typical customer. It's not a quality problem with your content: it's a coverage problem, and every gap is a sales opportunity you're giving away. Mapping those gaps turns your strategy from reactive to operational, with a precise plan on where to act over the coming months.
Your content covers 60 queries. Your competitor covers 90. The 30-query difference is your AI editorial plan for the next 6 months.
Put that way it sounds like a throwaway slide. But it’s the most honest way I’ve found to explain to a business owner why certain competitors always show up in ChatGPT and Perplexity answers, and he doesn’t. It’s not that they produce “better” content. It’s that they cover topic areas he’s never touched.
In the previous articles of this series I showed you how to measure share of voice in AI answers and how to benchmark against competitors. Now we go one level deeper: knowing how many times they cite you isn’t enough. You need to know on which types of question they cite you and on which they don’t. That’s where your editorial plan gets decided.
What I mean by gap analysis across query families
A query family is a grouping of questions that are homogeneous by intent. For an artisanal grappa producer in Bassano del Grappa, the typical families are five:
- Informational: “how Vespaiolo grappa is made”, “difference between grappa and brandy”
- Navigational: “historic distillery Bassano del Grappa”, “single-varietal grappa producers Veneto”
- Transactional: “buy aged grappa online”, “best grappa Christmas gift”
- Comparison (head-to-head): “barrel-aged grappa vs young grappa”, “Nardini or Poli, which to choose”
- Local: “distillery visits Bassano”, “grappa tasting weekend Vicenza”
When you measure your presence in AI answers, you have to do it family by family. Because the aggregate snapshot lies. You can have a good overall score and discover you’re at 70% on informational queries and 0% on transactional ones. Translated: the AI cites you when someone asks “how is it distilled”, and cites your competitor when someone asks “where do I buy it”.
The first is a learner, the second is a buyer.
Why the aggregate figure isn’t enough
I don’t have an academic paper that specifically measures coverage per query family in generative AI models. The field is too new. What I have is an adjacent principle, documented in information retrieval research for at least twenty years: search intents segment in non-overlapping ways, and a system that retrieves well on one intent can retrieve poorly on another.
From this it follows that average coverage is a misleading metric if you don’t disaggregate it by intent. It’s the same reason a shop that sells well on Saturday and nothing on Tuesday isn’t analyzed by looking at weekly revenue: you analyze it day by day.
The same rule applies to visibility in AI answers. You measure by intent, or you’re not measuring.
Three intents on one page become zero intents for the AI.
The test you can run in 40 minutes
This is an entry-level check. The real analysis requires professional tools and a dataset of hundreds of queries. But to figure out whether you have a structural gap problem, 40 minutes is enough.
Let me give you the example of an artisanal grappa distillery in Marostica.
First step: open Google Trends and your site’s Google Search Console. From Search Console, export the top 200 queries you receive impressions for. From Trends, pull the queries related to your sector over the last 12 months. Put them in a spreadsheet.
Second step: manually classify each query into one of the five families. Yes, by hand. It takes 30 minutes for 200 queries. Don’t trust automatic classifiers for this part: the margin of error is too high.
Third step: for each family, pick 8-10 representative queries and paste them into ChatGPT, Perplexity and Gemini. For each one, check: is your brand cited? Is your site linked? Are you in or are you out?
Fourth step: calculate coverage for each family as “queries where you appear / queries tested”. If a family is below 30%, you have a problem there. Below 10%, you’re practically absent. These two thresholds are empirical, based on what I see with clients, not laws of physics.
Identify the two families below 30%: they’re your editorial plan for the next 6 months.
The test I ran myself
I took a sample of 6 Italian artisanal grappa distilleries, three in Veneto (the Marostica and Bassano del Grappa area) and three in Lombardy (the Castiglione delle Stiviere area). For each one I built 40 target queries, 8 per intent family, and I ran them through ChatGPT and Perplexity.
The results I saw, and I’m giving them to you as an indicative pattern, not as a study:
- 4 out of 6 distilleries had coverage above 50% on informational queries
- 5 out of 6 were below 20% on transactional queries
- 6 out of 6 were below 15% on comparison queries
The pattern is clear: those who produce content produce almost all of it on informational queries (“how grappa is born”, “discontinuous bain-marie method”), because those come naturally to anyone with a blog. Comparisons (“Nardini vs Poli”, “barrel-aged vs young grappa”) nobody writes, because they feel awkward. Yet those are the ones that convert.
Limits of the test: small sample, six companies, two regions, two AI engines. Indicative, not statistical. But I see the pattern repeat with clients in other sectors, from extra-virgin olive oil producers to artisanal coffee roasters.
The mistakes I notice most
Mixing intents on the same page. A page that talks about “Vespaiolo grappa: how it’s made, where to buy it, comparison with others” doesn’t win on any intent. Three intents on one page become zero intents for the AI.
Confusing absence of traffic with absence of demand. If Search Console doesn’t show you impressions on transactional queries, it doesn’t mean they don’t exist. It means you’re not ranking. The demand is there; it’s your competitor who’s intercepting it.
Thinking that covering an intent means writing one article about it. Covering an intent means having 5-15 pieces of content on that family, each on a variant of the query, all linked to one another. An isolated article moves nothing.
Ignoring local queries. For anyone with a physical store, a tasting room, a showroom, the local family is worth as much as all the others put together. If you’re a distillery in Castiglione delle Stiviere and the AI doesn’t cite you when someone asks “distilleries to visit in Mantua province”, you’re losing real bookings.
What you can do this month
- Export your queries from Google Search Console and cross-reference them with Google Trends for your sector.
- Classify them by hand into five families: informational, navigational, transactional, comparison (head-to-head), local.
- Test 8-10 queries for each family on ChatGPT and Perplexity. Calculate the coverage.
- Identify the two families below 30%: they’re your editorial plan for the next 6 months.
- For each below-threshold family, define 5-10 pieces of content to produce, each on a specific query.
- Verify that your brand is recognized as an entity in AI engines: if the AI doesn’t understand who you are, no matter which family you cover, it won’t cite you.
- Check your Google Knowledge Graph entry: without an entity foothold, AI citations stay accidental.
From gap to editorial plan, and from visibility to revenue
Gap analysis by query family is the bridge between “measuring visibility in AI answers” and “deciding what to write”. Without disaggregation by intent, any editorial plan is a guess by eye. With disaggregation, it becomes a list of work items with priorities and thresholds.
It’s not a magic mechanism and it isn’t enough on its own: each piece of content then needs to be written in inverted-pyramid structure to actually get extracted by the models, and it takes the authority of whoever signs it to get cited. But the gap by intent tells you where to put the effort. Everything else comes after.
In the next articles of this series I’ll show you how to build a multi-engine share-of-voice matrix (ChatGPT, Perplexity, Gemini, Claude compared side by side) and how to turn AI visibility monitoring into a monthly report readable by someone who isn’t in the trade.