Back to tools

01 / Tools

Query Fan-Out Gap Analyser

Pool fan-out queries from DevTools, QueryFan, Qforia, Perplexity, or DataForSEO. Cluster them by intent, score each cluster against your URLs, and export gaps and brief stubs. API keys stay in your browser. Nothing is stored on our servers.

Guide

How to use the Query Fan-Out Gap Analyser

AI search does not run one query per prompt. ChatGPT, Google AI Mode, and Gemini each generate hidden fan-out sub-queries (internal searches the user never sees) before they synthesise an answer. Keyword tools measure what people type. Fan-out queries come from what the model reasons it needs to answer properly.

That layer is largely invisible to traditional keyword research, yet research suggests a meaningful share of AI citations come from it. This tool helps you map that hidden layer against the content you already publish, so you can decide what to integrate, consolidate, or build, rather than guessing from a single target keyword.

For the full strategic context, read Reverse-Engineering AI Fan-Out Queries.

1. Add your API keys (Settings)

Why: The tool runs on a bring-your-own-key model. Your OpenAI key powers embedding-based clustering, gap scoring, and brief generation. Perplexity or DataForSEO keys are optional. You only need them if you want to generate fan-out programmatically from seed keywords rather than importing exports.

Keys are stored in your browser's localStorage and sent to our API routes only when you run an action. They are never saved on our servers. On a shared machine, clear keys in Settings when you are done.

2. Pool fan-out queries from multiple sources

Why: Fan-out is non-deterministic. The same seed prompt can return different sub-queries on each run. No single extraction method sees the full picture: DevTools, browser extensions, QueryFan, Qforia, Perplexity, and DataForSEO each capture a different slice.

Use the input tabs to build one combined pool:

  • Paste queries: one per line from ChatGPT DevTools (search_model_queries) or a browser extension.
  • Import file: QueryFan or Qforia CSV, JSON, XLSX, or XLS exports. You can drop multiple files; the tool detects the query column (e.g. "Web Search Query") and de-duplicates.
  • Single keyword or CSV batch: programmatic extraction via Perplexity or DataForSEO. Run important seeds 2 to 3 times and pool the results.

The goal is breadth, not perfection on the first pass. You are sampling the hidden query layer, not replacing volume-based keyword research.

3. Cluster queries into intent buckets

Why: A raw list of fifty fan-out sub-queries is hard to act on. Clustering groups semantically similar queries into intent facets: pricing, process, alternatives, local proof, and so on. That lets you think in content decisions rather than individual strings.

Click Cluster & analyse once your pool is ready. Each cluster gets a label, cohesion score, and distinctiveness signal versus neighbouring clusters (useful for spotting cannibalisation risk).

4. Nominate target URLs for each cluster

Why: A topic like "local SEO" rarely lives on one page. You might have a service page, several blog posts, and a tool. Each may cover part of the intent. Scoring only one URL often produces false gaps ("create new page") when the site already answers the cluster elsewhere.

Enter one URL per line in the cluster row. The first URL is your primary page, the URL you want to own that intent. Add supporting URLs below it (blog posts, case studies, tools). The tool scores both site-wide coverage (any nominated URL) and primary-page coverage separately.

5. Run gap analysis and read the recommendation

Why: Gap analysis checks whether each sub-question in a cluster is answered on your nominated pages. It embeds page passages and sub-queries, then scores topical overlap. This is a heuristic, not a citation guarantee. It estimates whether your content plausibly covers the fan-out layer, aligned with research suggesting pages that match sub-query language in headings perform better in AI retrieval.

Status bands:

  • Covered: most sub-questions answered across your nominated URLs.
  • Weak Match: partial coverage; usually an integrate/optimise play.
  • Gap: largely uncovered; may warrant a new focused page if the cluster is distinct and substantial enough.

Expand a cluster to see per-query results, which URL "won" each sub-question, and a URL breakdown. Recommendations also flag consolidation when coverage is fragmented across several pages with no clear owner.

Set Business intent (Commercial, Informational, Supporting) per cluster. This gates whether a gap should become a new page or a section on something existing.

6. Generate briefs and export

Why: Once you know the action (create, integrate, consolidate, or leave), you need a starting point for the writing. Brief stubs suggest an H1 and H2s mapped to the cluster's sub-queries. They are hypotheses to test, not finished content calendars.

Export CSV or JSON to share with a team, drop into a content workflow, or archive alongside your fan-out source files. Work is held in page memory; export before closing the tab if you need to keep results.

What this tool does not do

It does not predict AI citations, replace search-volume keyword research, or crawl your whole site automatically. You nominate URLs. You make the strategic call. It gives you a structured way to inspect the query layer your keyword tools cannot see, and to avoid building redundant pages when your site already covers an intent somewhere else.

Questions or edge cases? Get in touch. This tool is maintained in public and improves from real-world use.