Visibility Gaps report
A visibility gap is a prompt where one or more competitors are mentioned by the LLMs, but your brand is not. These are the most actionable opportunities in GeoBubbles: the AI engines are already serving an answer for that query β they're just not picking you.
Open the report from the left sidebar β Reports β Visibility Gaps (/app/reports/gaps).
How gaps are detected
A daily background job (runs at 04:30 UTC) compares the last completed measurement cycle for each site:
- For every prompt, list the brands mentioned in each LLM's answer.
- Mark the prompt as a gap if at least one tracked competitor appears and your brand does not.
- Group gaps by competitor, stage, city, and LLM provider for aggregation.
Only prompts classified as Healthy or Watch by the prompt-quality watchdog are included β low-quality and excluded prompts are skipped to avoid noise.
The report layout
Summary cards
At the top: total gaps, gaps by stage, top 3 competitors stealing visibility, and the LLM with the largest gap count.
Gap table
A sortable table of every individual gap with:
- The prompt text and city.
- The stage (ToFu / MoFu / BoFu / Post).
- Which LLM(s) the gap was detected on.
- The competitor(s) that appeared instead.
- A Deep Dive button to launch an AI investigation.
Filters
- Date (single cycle or rolling window).
- Stage.
- LLM provider.
- Competitor.
- City.
AI Deep Dive
Click Deep Dive on any gap row to launch an on-demand investigation. This runs a multi-step analysis:
- Audit β fetches your page that should rank for this prompt and scores it on entity coverage, schema, freshness, and local signals.
- SERP context β pulls the current Google SERP for the same query so you can see what the LLMs are likely citing.
- Content diff β compares your page to the top competitor's equivalent page and lists missing entities, sections, and FAQs.
- Recommendation β a prioritised action list (e.g. "add a 'price' section", "add LocalBusiness schema with openingHours", "add an FAQ block answering β¦").
The deep dive uses your account's AI credits. Results are saved to the gap row so you can revisit them without re-running.
Action hints
The Action Hints tab clusters gaps by recurring themes (e.g. "missing price information", "no city-specific landing page for Aarhus") so you can fix dozens of gaps with a single content change instead of working prompt-by-prompt.
Workflow we recommend
- Weekly: open the report, sort by competitor frequency, and read the top 5 clusters in Action Hints.
- Pick one cluster with the highest combined SOV impact.
- Run a Deep Dive on a representative prompt in that cluster.
- Ship the fix (content, schema, landing page).
- Wait one cycle and check whether the cluster shrinks.
Notes
- Gaps are recomputed every cycle. A gap that resolves naturally (you start appearing) drops off the list automatically.
- Suggested Competitors panel β suggestions are derived from brands that co-occur with yours in LLM answers, so the list reflects who the AI engines treat as your peers (not who ranks alongside you in Google).