Key takeaways
- A citation is a free competitor analysis. Every time an AI engine cites someone else for a prompt you care about, you can see what it wanted and didn't get from you.
- Diagnose before you write. A page that is never retrieved needs different work than a page that is retrieved but never quoted.
- Match the content type to the prompt intent. In Promptwatch Data, product and landing pages make up about 39% of ChatGPT citations, but commercial, informational and branded prompts each favor different formats.
- Build a refresh date into every brief. Content decays in AI answers, and news decays fastest.
- Re-run the same prompts after publishing. Without that last step you have a content calendar, not a GEO workflow.
Why start from a citation
Most content briefs start from a keyword. That still works for Google, but AI answers are assembled differently. The engine breaks a question into sub-queries, pulls pages, and picks passages to quote. What you see at the end is a list of sources, and that list tells you exactly which pages won.
So the cheapest research you can do in 2026 is to read the citations on prompts where you should appear and don't. Each one is a worked example of what the engine considered a good answer.
The workflow below borrows its backbone from Indexable AI's citation-gap-to-brief template: find the gap, diagnose it, read the winners, write the brief, re-measure. I've added data on content types, decay and query fan-outs, because those decide what the brief should actually say.

A quick note on terms. You'll see GEO, AEO and AI search optimization used interchangeably. Google's own documentation treats them as third-party labels, not separate disciplines, and the work in this guide doesn't change whichever label you prefer.
Step 1: Find the gap
You need a fixed set of prompts to run across the AI engines. Pick 20 to 50 that a buyer would plausibly type, covering three kinds:
- Commercial prompts, like "best CRM for small businesses"
- Informational prompts, like "how does a CRM work"
- Branded prompts, like "is [your brand] good for startups"
Run them and list every prompt where a competitor or third-party page is cited and yours isn't. That list is your gap. Don't try to close all of it at once. Sort by business value and start with five.
Doing this by hand in a spreadsheet works for a first pass. After that it gets tedious fast, because answers change daily and differ by engine and country. A tracker that queries the real interfaces helps. Promptwatch does this with monitors of prompts running daily, plus prompt volumes and difficulty so you can rank the gap by value.

Other trackers in the same category include Otterly.AI, Peec AI and Profound, and the GEO software directory at bestgeosoftware.com lists many more. Most of them stop at showing you the gap. That is fine for step 1, but you'll want something else for steps 4 and 5.

Step 2: Diagnose why you lost
This is the step people skip, and it's where most wasted articles come from. For each gap prompt, ask one question: was my page ever among the sources?
| Symptom | Problem type | Typical fix |
|---|---|---|
| Your page never appears in the source list | Retrieval | Crawl access, indexing, ranking for the fan-out queries, missing page for the topic |
| Your page appears but isn't quoted or named | Extraction | Buried answer, claims that don't stand alone, no summary up top |
| Your brand is named but your domain isn't cited | Source gap | Publish the proof on your own site, or fix crawlability |
| Cited, but with a weak or wrong description | Reputation or accuracy | Update facts, fix third-party pages that AI relies on |
Retrieval problems are often technical. AI crawlers can be blocked by robots.txt, a CDN rule, or client-side rendering that hides the content. Check the crawler logs before you write a word. Promptwatch's crawler logs are IP-verified, so you can see whether GPTBot or OAI-SearchBot actually reached the page, and its AI Crawler URL Inspector is a free way to spot-check one URL. Screaming Frog and Google Search Console cover the traditional half of the picture.

Extraction problems are editorial. ToTheWeb's audits find the same few failures again and again: broken heading structure, no summary at the top, and no visible FAQs. Their rule of thumb is to open with a short summary naming the topic and who the page is for, then add evidence, then use headings that map to real questions.

The diagnosis changes the brief. A retrieval problem might produce a brief for a new page, or no brief at all, just a ticket for engineering. An extraction problem produces a rewrite brief for an existing page.
Step 3: Read the winners
Open every page cited for the gap prompt. For each one, write down what it gives the engine that yours doesn't. Keep the notes short and concrete:
- What type of page is it (product page, listicle, comparison, doc, review, news)?
- Does it answer the question in the first two sentences?
- Is there a table, a number, or a named source?
- How recent is it, and does it say so?
- Which sub-questions does it cover that you skip?
- Who is it, and does that matter (a marketplace, a government site, a forum, a vendor)?
The last question matters more than people expect. Source type shifts by vertical. In Promptwatch's software prompts report (Sep 28 to Oct 4, 2026), GitHub, Microsoft's docs and G2 lead, and documentation and help centers earn the largest share. In the automotive report for August 2026, marketplaces like Autotrader and Cars.com outrank every car brand. If the winners are third parties, your brief may be about earning a place on those sites, not publishing on your own.
Check the social angle
If the cited page is a Reddit thread or a YouTube video, treat it with care. Promptwatch's social media citations report shows ChatGPT drew only 0.46% of its citations from social platforms from Sep 28 to Oct 4, 2026, while Google AI Overviews drew 12.2%. And reddit.com's share of ChatGPT citations fell from about 4% to 0.5% on August 14, 2026. So a forum thread winning in AI Overviews is a different job than one winning in ChatGPT.
Step 4: Match the content type to the prompt
This is where the brief gets opinionated. Promptwatch's content type report (Sep 28 to Oct 4, 2026) breaks down what ChatGPT cites by prompt intent.
| Prompt intent | Top cited types | What it means for the brief |
|---|---|---|
| Commercial | Product pages 26.0%, landing pages 20.6%, listicles 15.0%, comparisons 7.9% | Make sure a product or landing page exists for the use case, then add a listicle or comparison |
| Informational | Product pages 19.1%, landing pages 13.9%, listicles 13.6%, how-tos 10.7%, docs 8.5% | Write a how-to or doc page, and keep it public and crawlable |
| Branded | Product pages 23.3%, landing pages 22.8%, reviews 5.6%, FAQ pages 4.8% | Add an FAQ, and collect reviews on trusted sites |
Overall, product pages take 22.4% of classified citations, landing pages 16.8%, listicles 13.6%, how-tos 8.7% and documentation 7.5%. The surprising part for content teams is how much of the citation surface is not blog content. If your gap prompts are commercial and you only have a blog post, the brief might be a landing page.
Derive the sub-questions from fan-outs
AI engines don't search your exact prompt. They generate queries from it. Promptwatch's ChatGPT query fanouts data shows average query length falling from about 117 characters in early December to about 53 from April, so the generated queries are short and keyword-like. Its guidance: content has to match one of the generated queries, not the user's prompt.
So list the likely sub-queries for each gap prompt ("X vs Y", pricing, alternatives, how-to) and give each a heading or its own page. Write headings that read like a search query, and put the entity and category up front. Prefer focused pages over one mega-page.
One caution: fan-out behavior moves. ChatGPT started using the site: operator at scale on August 8, 2026, jumping from about 0.4% to about 17% of fan-out queries. Re-check your heading-to-query mapping after big updates. Promptwatch's free ChatGPT Query Fan-Out Generator and the GEO Inspector Chrome extension help with this. AlsoAsked and AnswerThePublic are good for the question side.

Step 5: Write the brief
Now assemble the inputs. A good GEO brief is one page. This is the template I'd use, adapted from the Indexable AI structure:
BRIEF: [working title]
1. Goal and owner
Business outcome, target page URL (new or existing), owner, publish date
2. Diagnosis
Retrieval problem or extraction problem? Evidence (crawler log, source list)
3. Content type
Product page / landing page / listicle / comparison / how-to / doc / FAQ
Why: matches [commercial | informational | branded] intent
4. Prompt set
Gap prompts (exact wording), engines, countries, current cited sources
5. Questions and sections
One H2 per likely fan-out query. Each opens with a direct answer.
Sections to add vs what winners have that we lack
6. Facts, sources and entity rules
Claims we can prove, named sources, numbers with dates,
how we describe the brand and category, terms to avoid
7. Format requirements
Summary at the top, table where comparing, visible FAQ, crawlable HTML
8. Refresh and measurement
Review date, owner, prompts to re-run in 2 and 6 weeks
A few notes on the sections that matter most.
Section 5 is the heart of it. ToTheWeb's checklist asks every section to be easy to extract, and the Optimize GEO guide puts it as a test: read each paragraph and ask whether an AI could lift it and present it as a factual answer without needing the surrounding text. Put that test in the brief as a pre-publish check.
Section 6 stops writers from vague claims. Give them the numbers and the sources up front. Also say what you want the engine to learn about the brand, in one plain sentence, so that wording is consistent across your site.
Section 8 is the one most briefs lack. Promptwatch's half-life study tracked every page ChatGPT cited on July 6, 2026 for 90 days:
| Type | Still cited after 30 days | Still cited after 60 days |
|---|---|---|
| Landing pages | 78% | 69% |
| Docs | 76% | 67% |
| Comparisons | 72% | 63% |
| Listicles | n/a | 60% |
| Product pages | n/a | 55% |
| News | n/a | 41% |
Product pages, reviews and how-tos hit their half-life after 74 to 77 days. News is the outlier: almost a quarter of news pages were never cited again after day 0, and half were gone after 36 days. Landing pages, docs, comparisons and listicles only crossed 50% in the final week of the window, so their true half-life is probably close to or beyond 90 days. The takeaway for the brief is simple: set a refresh date, keep prices and specs current on product pages, and treat news and press as short bursts.
Tools that help with the writing side
Brief builders like Content Harmony, Dashword and MarketMuse are built around SERP analysis. They're useful for the Google half of the job but don't know which prompts you lost on or which sources AI cited, so you'll be pasting that context in yourself. Frase has moved toward GEO and publishes a good primer on the closed loop for citation decay.



Promptwatch takes a different route. You can turn a citation's prompts straight into a content brief, and the Content Agent can write the draft and publish to WordPress, Webflow or Framer using your Brand Book and Knowledge Base. Content Refresh gives git-diff-style edits for existing pages, which fits the extraction-problem case well. The Content Agent is on Business and Enterprise plans; check promptwatch.com/pricing for current limits.
Step 6: Publish so it can be read
Two checks before you hit publish. First, the answer is in crawlable HTML, not behind scripts or tabs. Second, the page can actually be fetched by the AI bots you care about.
You don't need a special file format. Promptwatch's markdown report found markdown files make up only 0.05% of AI search citations, because markdown serves AI agents, not AI search. Normal, well-structured HTML pages are what get cited.
Also think about how many sources the engine is pulling. Almost half of ChatGPT responses cite 10 or more unique domains (Sep 28 to Oct 4, 2026). That is good news for a smaller site: there is usually room for more than one winner, and you don't need to beat the biggest brand outright. Promptwatch's domain rank data points the same way: sites with DR 46 to 75 earned almost half of ChatGPT citations in August 2026, while DR 91 to 100 fell to about 3%.
Step 7: Re-measure with the same prompts
This closes the loop. Two weeks after publishing, re-run the exact gap prompts from Step 1. Then check again at six weeks. For each page, you want to know:
- Was it crawled by the AI bots?
- Was it retrieved (does it show in the source list)?
- Was it quoted or named?
- Did it send any traffic?
Those four questions map back onto the diagnosis from Step 2. If it wasn't crawled, the problem is technical. If it was crawled but not retrieved, the page doesn't match the fan-out queries. If it was retrieved but not quoted, rewrite the opening and the key paragraphs. If it was quoted but there's no traffic, that's a click-through question, not a content one.
Promptwatch's visitor analytics and page-level tracking cover the traffic and crawl side, and underperforming pages show up as actions on the Action Board. Crisp used this loop to scale to 5 to 10 articles per day and reported 2x higher conversion rates from AI traffic than from traditional channels. You can build a manual version with Search Console, server logs and a spreadsheet, but it takes real discipline to keep running.
A worked example
Say you sell project management software and the prompt "best project management tool for small agencies" cites three listicles and a G2 page, and not you.
- Gap: commercial prompt, you're absent.
- Diagnosis: you have a product page, but it never appears. Crawler logs show OAI-SearchBot gets a 403 from your CDN. That's retrieval, and the first fix is a firewall rule, not content.
- Winners: the listicles each have a comparison table with prices and a stated verdict. G2 has recent reviews.
- Content type: commercial intent, so landing page plus a comparison. The brief calls for an agency-specific landing page and a "X vs Y for agencies" page.
- Sub-queries: "best project management for agencies 2026", "[you] pricing", "[you] alternatives". Each gets an H2 with a two-sentence answer.
- Facts: your actual pricing, a named customer result, the review count on G2.
- Refresh: price check monthly, full review in 60 days.
- Re-measure: same prompt, two and six weeks later.
Notice that the single most valuable fix in that example never touched the content calendar.
Common mistakes
- Copying the winners. If three listicles win, a fourth identical one adds nothing. Find what they all omit.
- Writing for the prompt, not the fan-out. Headings should resemble the short queries the engine generates.
- Ignoring page type. A blog post can't do the job of a product page when the engine wants a product page.
- Skipping the refresh date. Citations decay, and 50% of content cited in AI answers is under 13 weeks old according to a Seer Interactive study cited by Frase.
- Using stale stats. Date every number in the brief. Promptwatch's own figures change month to month, and so will yours.
Where to go next
If you're new to this, run steps 1 and 2 on five prompts this week and stop there. Don't write anything until you know whether you have a retrieval problem or an extraction problem. If you want more tools to compare, the AI rank tracking directory at ai-rank-tools.com is a good place to start, and Promptwatch's data hub has the underlying reports for checking your vertical.
One last thing. If you'd rather have a team run this loop for you, agencies like 1001 SEO Media handle the technical SEO, content and GEO measurement together, which is the combination this workflow needs.



