# GEO Prompt Research: How to Build a 400-Prompt AI Visibility Map

**Author:** John Morabito (Founder, /winston)
**Published:** June 10, 2026
**Reading time:** 15 minutes
**Canonical:** https://www.winstondigitalmarketing.com/playbooks/geo-prompt-research/

Every GEO audit we run starts the same way. Before we touch a single page, we build a research set of 300 to 500 prompts that real buyers actually ask AI engines about the category, then we run all of them through ChatGPT, Gemini, Perplexity, and Google AI Overviews and measure who gets cited. This is exactly how we build that set.

## Why prompt research is the foundation of GEO

In traditional SEO, keyword research is the foundation. In GEO the unit is the prompt typed into an AI engine, and instead of measuring whether you rank, you measure whether you get cited.

The mistake most teams make is auditing AI visibility against ten or twenty obvious prompts. That sample is too small. The engines answer thousands of variations and your visibility is wildly uneven across them. You might own "best [category] for beginners" and be invisible for "best [category] under $50." A twenty-prompt audit never surfaces that. A four-hundred-prompt audit does.

The deliverable is a single CSV: 300 to 500 rows, each one a prompt, tagged by category, sub-theme, and search intent.

## Step 1: Map the categories

Crawl the brand's site. Pull it into clean markdown and read it for structure. You are looking for: product/service categories (each becomes a "keyword territory"), specific products within each category, named competitors per category, and brand values/differentiators. If you have an Ahrefs or SEMrush rankings export, parse it to weight the prompt count toward the categories that drive the business.

## Step 2: Generate prompts across seven sub-theme patterns

For every category, generate prompts across these seven patterns:

- **Comparisons:** [Brand] vs [Competitor], plus the "reddit" variant
- **Best-of / general:** Best [category] [year/use-case]
- **Branded:** [Brand] [product] review, is [Brand] good
- **Purchase / buy:** Where to buy [Brand], [Brand] near me
- **Use-case / occasion:** Best [category] for [occasion]
- **Values / mission:** Most sustainable [category], made in USA
- **Varieties:** Best [specific variant]

The comparison pattern matters most because it is where AI engines do the most damage. When a buyer asks "Brand A vs Brand B," the engine writes a verdict that ships to a buyer who never sees your site. Generate a comparison prompt against every named competitor, in both neutral and "reddit" variants.

## Step 3: Tag intent and territory

Every prompt gets a search-intent tag (informational, commercial, navigational, transactional) and a `territory > sub-theme` tag like `protein > vs`. Intent lets you slice the visibility map by funnel stage. The territory tag lets you aggregate into a per-category, per-pattern scorecard.

CSV format:

```
#,Keyword Territory,Sub-Theme,Tag,Prompt,Search Intent,Target Page
1,Protein Powder,Comparisons,protein > vs,Brand A protein vs Brand B,commercial,
2,Protein Powder,General,protein > best-of,Best protein powder 2026,informational,
```

## Step 4: Run the set across the AI engines

Run every prompt through ChatGPT, Gemini, Perplexity, Google AI Overview, and Google AI Mode. For 400 prompts across five engines that is 2,000 queries, so automate and shard it. For each query capture the brands mentioned in the answer and the sources cited (the raw material for the citation-gap analysis).

## Step 5: Score share of voice

Aggregate into the visibility map. The core metric is share of voice: for a given slice, what percentage of brand mentions were the client versus the competitive set. The slices that produce the "oh no" moments: share of voice by category, share of voice by engine, comparison-prompt win rate, and the citation gap (third-party domains the engines cite that never mention the client).

The visibility map is the diagnosis. The treatment is everything in the 8-signal citation playbook: fix chunking and schema on the weak-category pages, earn citations on the gap domains, and re-run the prompt set monthly.

## Why we publish this

The method is not the moat. The moat is running it every month, reading the results correctly, and doing the on-page and off-page work that moves the numbers.

Service: https://www.winstondigitalmarketing.com/services/generative-engine-optimization/
Audit: https://www.winstondigitalmarketing.com/contact/#audit
