The Definitive 2027 Guide to AEO

What to build, what to fix, what to earn, what to measure, and when to stop

September 29, 2026 · Josh Grant, StackedGTM

01. Ten months is a long time

In November 2025 I published The Definitive 2026 Guide to AEO. It was written from inside Webflow. The core argument was interpretability: ranking alone doesn't tell you whether a model can use your page, and it says nothing about whether the answer represents you accurately or recommends you. The proof was a FAQ-plus-schema play that produced 331 new AI citations without publishing a new page, and AI traffic converting about 6x better than non-brand Google. That piece launched StackedGTM. It also aged faster than anything I've written.

Today I run AEO programs through StackedGTM for companies of every kind: software, developer tools, ecommerce, financial services, consumer brands, services firms. The core method adapts across those; the evidence in this guide comes mostly from software and ecommerce, because that's where the published data is, and I say so wherever a number is category-specific. What differs by category is which pages the model wants and which third-party sources it trusts, and the source-map exercise in Section 07 is how you find that out for yours instead of taking my word for it.

I'll say the other thing plainly. I have never seen more smoke and mirrors in a category than I see in AEO right now. Agencies selling SEO blog packages under a new name. Dashboards that report "AI impressions" nobody can define. Guaranteed citations, which nobody can guarantee. Reddit seeding sold as strategy in a month when Reddit was flagging about 25,000 spammy posts and comments a day. A widely repeated "70.6% of AI traffic is invisible" estimate that I couldn't verify the calculation behind, so I've excluded it from the benchmarks. Executives buying all of it because the fear is real and the work is hard to inspect. I sell in this market too, which is why Section 12 tells you how to inspect me. Wherever I could, I've replaced a claim with a check you can run yourself.

The principle from the 2026 guide holds. The mechanics underneath it have changed, and this is what moved between that piece and this one.

Ads showed up. OpenAI began testing ads in ChatGPT on February 9; by late September they're open to advertisers in more than 50 countries, and Graphite's State of ChatGPT Ads, published September 29 on Similarweb panel data, puts all-time U.S. click-through at 0.73%. The organic answer now sits above a paid slot.

Retrieval got rebuilt, twice. GPT-5.6 became the free default in August, and GPT-6 Sol and Luna shipped on September 22, with Luna rolling out to free users. Fan-out searches per prompt went from about 2 to about 8, the share of fan-outs using the site: operator went from roughly 0.3% to somewhere between 23% and 64%, depending on who measured, and ChatGPT now retrieves more pages and cites fewer domains (Nectiv, Peec AI). Section 04 has the numbers; all of them are already one model generation old.

Reddit's slot collapsed in ChatGPT. From 3.83% of citations to 0.52% in about a week in mid-August (Promptwatch, via Axios), with YouTube, TikTok and LinkedIn dropping in the same window. Google's surfaces barely moved and Perplexity still leans on Reddit, so Reddit still has a role (Section 07); building an AEO plan around it no longer does.

In-chat checkout died. OpenAI pulled Instant Checkout in March after only a handful of Shopify merchants went live (reports put it between a dozen and thirty) and repositioned toward discovery. Buyers discover in the assistant and buy on your site, so your site still has to close.

The buyer moved. G2's March survey of 1,076 B2B software buyers: 51% now start research in a chatbot more often than in Google, 69% chose a different vendor than planned because of one, one in three bought from a vendor they'd never heard of, and 41% run Deep Research reports for evaluations. A Deep Research run reads your pricing page whether you meant it to or not.

The work moved from hands to agents, and the vendor market exploded. Profound raised $180M to build what it calls an AI Marketer and counts 235,000 agents built on its platform; Bing now reports the grounding queries Copilot generates. Agency retainers run $3,000 to $40,000 a month, trackers $29 to $489, and most of what's sold as "AEO content" is SEO blog production with a new label.

What has not changed: AI referral traffic is still a small share of visits, and in the published datasets it converts better than search. Confirm that on your own site before you budget on it: same conversion event, same period, same landing-page cohort, with the counts published next to the rates. The numbers are in Section 03.

What this guide is. Tactical, for any company that gets asked about by name or by category. The mechanics in Sections 04 through 10 hold whether you sell software, run stores, manage money, publish, or serve a city, and where a category needs a different move (feeds for commerce, .gov routing for regulated topics, review platforms that differ by vertical) I say so at that point. I have tried to separate three things throughout: what I have watched happen in programs I run, what published research shows (linked every time), and what I would do. Where I give a number that isn't sourced, it is labeled as an illustrative assumption.

The pattern is the same in any business. The general rule comes first, with three examples under it:

ExampleThe fact pages the model wantsThe sources it routes opinion toThe business metric
Any businessThe pages that state what you sell, who it's for, what it costs, and what you don't doWherever your buyers already go for a second opinion: review sites, trade press, regulatorsThe one conversion you already report on
SoftwarePricing, integrations, security, comparisons, segment pagesG2, Capterra, trade press, docsQualified pipeline or signups
EcommerceProduct pages with variants, price, availability; the feedRetailer and marketplace reviews, Consumer Reports, YouTubeOrders and revenue per AI session
Local and service businessesLocation, service area, hours, licensing, bookingGoogle Business Profile, Yelp, Trustpilot, licensing bodies, .govCalls, bookings, form fills

The worked example in Section 11 is a software company. Read it with your own version of that first entry in mind.

How to read it. Read it straight through, or start where you are:

  • Short on time. Do the 30-minute check next. It tells you where to start. Section 02
  • Want the evidence first. Read the scoreboard, then Part 2, How it works. Section 03 · Part 2
  • Ready to do the work. Go to Part 3, then the 90-day plan. Part 3 · Section 14
  • Need the templates. Every paste-ready template, the risk table, the full source list, and the notes on apps, MCP, product feeds and agent buyers are in the companion. Companion

02. The 30-minute check: can AI engines see your site?

Run these ten checks now. They need a browser, a terminal and no tools you have to buy. Mark each one pass, fail, or doesn't apply. Don't add them up into a score. The point is to find the first thing to fix, and a company can pass nine of these while its most important page is unreachable.

#CheckHowYou pass ifIf you fail
1Are you in the consideration set?In a fresh ChatGPT session (free tier, no login), ask "best [your category] for [your core segment]" five times. Read the final answers.You're mentioned in at least 3 of 5, and recommended (not just listed) in at least 1.See who gets cited in your place
2Does the model search for you, and where?Same prompts with the Resoneo plugin or FanoutFox open; read the background queries and the site: targets.Your brand appears in the initial searches, and every site: aimed at you hits a domain you own.Check which domain the model is searching
3Can the extractor read your pricing?curl -s https://you.com/pricing | grep -i "[your price]", then open the response body.Your prices are in the raw HTML, not injected by a script.Put your prices in the page's HTML
4Are the answer bots allowed in?Open /robots.txt. Look for OAI-SearchBot, PerplexityBot, Claude-SearchBot. Then check your CDN's bot rules and a week of edge logs for verified crawler requests.None disallowed; verified answer-bot requests return 200 with the real page.Allow the answer bots in robots.txt and your firewall
5Does the model describe you correctly?Ask ChatGPT, Gemini, Perplexity and Claude: "What does [brand] do and who is it for?"All four match your approved one-liner on category, segment and what you don't do.Correct it where the model learned it
6Are your listings right?Open your listings on the review platforms your category routes to (G2 and Capterra for software; Trustpilot, Google Business Profile, Amazon or Yelp for consumer and local; Clutch for services).Category, pricing model and integrations match your site word for word; reviews from the last 12 months exist and have responses.Fix the listings to match your site
7Do the segments the model asks about have a page that answers?List the segments in your fan-outs (company size, industry, role).Each segment with different facts, pricing or criteria has a page that answers in the first screen. Segments with the same facts share one.Build a page for that segment
8Who is the source on you?Ask "[brand] vs [top competitor]" five times. Read the citations.Your own comparison page is cited at least as often as the competitor's page about you.Publish your own comparison page
9Can you see AI traffic?Open GA4. Look for a channel group or referrer report with chatgpt.com, perplexity.ai, gemini.google.com.You can state last month's AI-referred sessions and their conversion rate.Set up AI tracking in GA4
10Does anyone own the number?Name the person who reports AI visibility monthly.One named person; a team name doesn't count.Name one owner

What to fix first.

  1. The model can't read your pages. If the pricing check or the bot-access check failed, fix that before anything else. Nothing downstream registers until it can. Onsite fixes, Section 06
  2. The model describes you wrong. If it got your description or your comparison wrong, correct the sources before building new pages. When the model is wrong about you, Section 09
  3. You're accurate but absent. If you weren't mentioned or searched for, find out who gets cited in your place, and why. Offsite, Section 07
  4. You're visible but not converting. If AI traffic shows up and doesn't convert, look at landing pages and buyer fit before chasing more visibility. Measurement, Section 13

Keep the answers. They're your day-zero baseline for the 90-day plan.

03. AEO in twelve numbers

If you read nothing else, read these twelve, current as of September 2026. Every number is dated and linked. The line in bold is what I'd do about it. The number underneath is the evidence, with what was measured and who measured it.

NumberWhat it isSourceWhat it means for you
51%B2B software buyers who now start research in an AI chatbot more often than in Google, up from 29% eleven months earlierG2, March 2026The shortlist forms before your sales team hears about it
74%Participants in Kevin Indig's earlier Growth Memo research who chose the brand the answer mentioned mostKevin Indig, via SemrushI'd track recommendations separately from citations. Being used as a source and being picked as the vendor are different outcomes.
21%Share of a category's most-cited domains that were also its most-mentioned brandSemrush and Kevin Indig, 1,094 categories, Jan to Jun 2026The most-cited domain in a category usually isn't the most-recommended brand.
7.61Background searches per ChatGPT prompt on GPT-5.6 Sol through the API, up from 2.17 a year earlierNectivMore background searches haven't meant more citations. I'd report retrieval and citation as separate lines.
84%Share of site:-scoped fan-outs that target the brand's own domainPeec AI, July 2026When the model searches one site for a brand's facts, it's almost always the brand's own. I'd keep every fact it looks for there, dated.
68.9% vs 2.1%Share of brands that reached the answer when ChatGPT named them in its own searches, versus brands whose pages were only fetched (one Plus account, 57 conversations)Suganthan MohanadasanBrand is a retrieval input
3.83% to 0.52%Reddit's share of ChatGPT citations, before and after mid-AugustPromptwatch, August 2026Reddit's share of ChatGPT citations fell hard in August while Google's barely moved. I'd recheck its weight in my own prompts before spending on it.
38%AI Overview citations from pages ranking in Google's top 10, down from 76% in July 2025; Ahrefs says part of the drop is its own improved citation detectionAhrefs, March 2026Rank tracking no longer tells you whether you're in the answer
16 pointsShift in ChatGPT's recommended brand set when the model has persistent user contextPersonalization Gap study, Sept 2026A clean session is a baseline. What the model already knew about the user changed which brands it recommended (consumer categories, UK, synthetic personas).
97%Published llms.txt files that received zero requests in a monthAhrefs, via GeolyDon't pay for it
2.74xGrowth in AI-driven orders per day across 73 Shopify stores, with flat AI visitsShero, Sept 28, 2026Orders nearly tripled on flat AI visits. The data doesn't say why, so I'd test which landing pages AI visitors convert on.
0.73%All-time U.S. click-through on ChatGPT AdsGraphite, on Similarweb panel data, Sept 29, 2026The organic answer now sits above a paid slot that mostly doesn't get clicked

And one number that isn't there: I haven't found published fan-out or citation data on GPT-6 Sol and Luna, which shipped on September 22 and are still rolling out to free users. Everything above describes the model your buyers used last month.

AI referral traffic is small, it converts better than search in the published datasets, and some share of it arrives with no referrer; how much is unmeasured. Those three facts explain nearly every argument you will have about AEO budget this year, so here they are with sources and caveats.

MetricNumberSource and dateRead it carefully because
AI referrals as share of all site visits0.1% to 1.08% across broad samples; up to ~2.8% for IT and technology sites; ChatGPT sends 78% to 88% of itConductor 2026 benchmarks, SE Ranking, Ahrefs, SheroSample mix drives the range; Gemini is the fastest riser.
AI referral conversion vs. non-AI, U.S. retail42% better in March 2026, after being 38% worse a year earlierAdobe Analytics, April 2026Retail. Crossed parity around October 2025.
AI referral conversion, IT and MSP firms14.2% mean vs. 2.8% Google organic (312 firms, Jan 2025 to Jan 2026)OpolloLead-gen, services firms, single-vendor dataset.
Ecommerce AI conversion, 73 stores0.66% (Sept 2025) to 1.75% (Sept 2026); AI orders per day up 2.74x while AI visits stayed flatShero, Sept 28, 2026Product-page landings convert 1.62% vs. 1.06%.
ChatGPT Ads click-through, all-time, U.S.0.73% (Free and Go users, through Sept 16)Graphite, on Similarweb panel data, Sept 29, 2026Pooled across advertisers; your campaign will differ. Ads Manager reports seven metrics and no prompt-level data.

What I've seen, separate from the table. The programs I run measure visibility on a fixed prompt set as the leading indicator, then one agreed conversion metric, then the correlation between the two. I'm not going to add my own clients' multiples to that table, because the table already shows how much the number swings by category, funnel and landing page, and because a vendor's selected results are the weakest evidence in the room. If you want one figure to plan against, use your own site's AI-referred conversion rate from the last 90 days, not anyone else's.

A note on the trend. Flat visits and rising orders, the Shero pattern above, is the shape I'd expect in 2027: modest visit counts, higher intent, and more visitors arriving after the model has already done the comparison for them.

04. How answer engines pick sources now

In the 2026 guide I said the job was making content models can use, not chasing rank. That still holds, with a correction: ranking feeds retrieval on every engine, and Google says outright that its AI features run on its core ranking systems. What ranking doesn't tell you is whether the answer represents or recommends you. What I didn't have was a picture of the retrieval step in between, because nobody had measured it. Several people have now, from different angles, and none of them can see inside the model; what follows is inferred from fan-out logs, network traffic and citation patterns. The findings converge. This section covers the research, and Sections 05 through 07 cover what to do about it.

The ChatGPT retrieval stack, as measured in mid-2026

When a prompt needs the web, ChatGPT breaks it into background searches (fan-outs), runs them in parallel against a search index plus its own index, pulls candidate pages, extracts passages, and cites a subset. Retrieval and citation are separate steps, and most retrieved pages are never cited.

[Diagram in the editor: five steps from prompt to citation, with the three routing rules on the right. Facts route to the official site; opinions route to reviews; health and legal route to .gov.]

What was measuredFindingWho measured it
Fan-out searches per prompt2.17 in 2025 to 7.61 on GPT-5.6 Sol; longest chain 4 to 29 searchesNectiv, ~4,000 prompts via API
Prompts with only one fan-out94.0% to 43.5% the day 5.6 became defaultPeec AI
Sources retrieved per prompt~12 to ~24Peec AI
Fan-outs scoped with site:23% (UI extraction, Peec) to 64% (API extraction, Nectiv)Both (Peec AI, Nectiv); the gap is collection method
Of those site: targets, share pointing at the brand's own domain84%Peec AI, July 2026
Top unigrams in fan-out queriessite:, "official", "gov"Nectiv
Page types retrievedProduct pages now 16.39% of retrievals, ahead of listicles; listicles, how-tos and comparison posts losing sharePeec AI
Unique domains cited per response19 to 15 after the 5.3 updateResoneo
Brand named in ChatGPT's own searches, then mentioned in the answer68.9% (of 119 brands)Suganthan Mohanadasan, one ChatGPT Plus account, July 24 to 25, 57 conversations, 3,554 pages
Brand only fetched, never named in a search, then mentioned in the answer2.1% (of 515 brands)Same
Retrieved pages that were cited3.1% (110 of 3,554)Same
Reddit pages retrieved, then discardedRoughly 99%Dan Petrovic
Share of ChatGPT weekly users on the free tierMore than 90%Resoneo, via Search Engine Land

The free-tier row in that table matters more than it looks. Whatever the free default model does when it searches is what most of the world gets. Nectiv measured GPT-5.6 Sol through the API and Peec measured the consumer product, which is one reason their numbers differ.

A dated caveat. Every number in that table was measured on GPT-5.6 or earlier. OpenAI released GPT-6 Astra to paid users on September 3 and GPT-6 Sol and Luna on September 22, and if the pattern from 5.6 holds, Luna becomes the free default. I haven't seen published fan-out data on GPT-6 yet. The direction (more searches, more site: scoping, fewer cited domains, official sources first) has held across three model generations; the percentages have moved with each one. Not every dataset agrees: one hotel-search replication found fan-outs flat and no site: searches after the same update. Re-run your own prompts and annotate September 22 on every chart (Section 13).

The routing rule

Suganthan's traffic analysis and Lily Ray's own testing land on the same routing logic, and it matches what I see when I read fan-outs for client prompts in Profound and the Resoneo plugin:

  • Facts route to official pages. Pricing, specs, integrations, security, support details. The model runs site:yourbrand.com and looks for a crawlable text version. If your pricing is in an image, a JS-only table or behind a form, it moves on.
  • Opinions route to reviews and communities. "Is X good", "X vs Y", "best X for Y" pull G2, Capterra, Clutch, Consumer Reports, Wirecutter, and specific subreddits.
  • Health, legal and money questions route to .gov and .org. In one batch of ~20 legal prompts, every citation was a .gov domain.
  • Specs and inventory route to the brand and to big retailers, even when the user didn't name the brand.
  • The model often decides before it searches. In 21 of 27 initial queries, the first fan-out already contained brand names the user never typed. In that sample, brands whose pages were fetched without being named in a search rarely made it into the answer.

Freshness and year-stamping

ChatGPT runs multi-year searches, often both "2026" and "2025" versions of the same query, and "reviews", "2026", "free", "features" and "comparison" are the words most likely to trigger web search at all. Date your pages. Put the year in the H1 where it is true. Keep a visible last-updated stamp, and only change it when the content changed.

The wrong-domain problem

Because the model constructs site: queries from what it already believes your domain is, it sometimes guesses wrong. Malte Landwehr found ChatGPT repeatedly searching site:census.com for the startup Census, whose site is getcensus.com; census.com was parked and for sale. A 2025 Netcraft study found about a third of brand login links generated by LLMs pointed at domains the brand didn't own. If you are a smaller brand or share a name with anything, this is a real exposure. The fix is in Section 06.

Google is running a partially separate track

Ahrefs' March 2026 study of 863,000 keywords found only 38% of AI Overview citations came from pages ranking in the top 10 for the same query, down from 76% in July 2025. Ahrefs says part of that drop is its own improved citation detection, so I'd read the two numbers as a direction. About 31% came from pages outside the top 100. Across assistants, Ahrefs put the overlap between cited URLs and Google's top 10 at 12% on average, 8% for ChatGPT. Ranking still feeds the fan-out, and I would not stop doing SEO, but rank tracking alone no longer tells you whether you're in the answer.

Two free reports worth checking weekly

Bing's AI Performance Report in Webmaster Tools now shows AI citations separately from search and lists the grounding queries Copilot generated. Lily Ray also found site: queries with hundreds of thousands of impressions and near-zero clicks showing up in Google Search Console, which reads like bot retrieval rather than humans. Both are free and both are worth checking weekly.

Engine by engine: the same prompt, seven different retrievals

Everything above is ChatGPT because ChatGPT is where most of the measurable behavior has been reverse-engineered and where 78% to 88% of AI referrals come from. But Google's AI surfaces reach more people, and they retrieve differently. Treat this comparison as the map; the sections that follow tell you what to do on each.

EngineReachRetrieves fromWhat the data says gets you citedWhat's different about the work
ChatGPT Free tier; measured on GPT-5.6, GPT-6 Luna rolling out since Sept 22~900M weekly users; 78% to 88% of AI referralsIts own index plus a Bing-backed search layer, scoped with site:; multi-year queriesBeing named in the model's own searches (68.9% reached the answer); official fact pages; G2 and review platforms for opinion; product pages over listiclesEverything in Sections 06 and 07. Reddit retrieved but rarely cited since August.
Google AI Overviews~2B monthly users; shows on roughly half of tracked queries in some datasetsGoogle's index with fan-out; leans on ranking more than any other surfaceRanking still helps most here, but only 38% of citations came from top-10 pages in March 2026, down from 76%; 31% came from outside the top 100. Heavy YouTube citer.Keep doing SEO. Add video. Cover the sub-questions (fan-outs) on the same page, because AIO pulls deeper pages from domains it already ranks.
Google AI Mode~1B monthly users (May 2026)Same index, deeper fan-out, more conversationalOverlap with top 10 is far lower than AIO (one SE Ranking read puts it near 14%); Reddit citations fell 31% in AugustTreat it like ChatGPT with Google's index behind it. Conversational prompts from AI Mode now appear as queries in Search Console; read them.
Gemini app~900M monthly users; fastest-growing referral source (BrightEdge had it at 13.2% of AI referrals by April)Google's index plus Google's own propertiesCites Reddit almost never (0.1% in Tinuiti's January data); favors official pages, docs and Medium among social sourcesYour docs and long-form explainers matter more here than community presence. Watch it monthly; it's the surface most likely to change your mix in 2027.
PerplexitySmaller but high-intent; ~780M queries a month in mid-2025Its own crawler plus Google's resultsFollows Google most closely: 65% of cited URLs rank in Google's top 10; heaviest citer of Reddit and YouTube; best crawl-to-refer ratio of the AI companiesIf you rank, you're mostly there. Video and community presence pay off here more than anywhere. Instant Buy exists for commerce.
Microsoft CopilotSmall share of referralsBing's indexBing ranking plus the grounding queries Copilot generatesThe only engine that shows you its fan-outs: the AI Performance Report in Bing Webmaster Tools. Use it as a proxy for the others.
Claude~3% of AI chatbot traffic; enterprise-heavy usersIts own search layer (Claude-SearchBot)Official pages and docs; light on communityAllow the bot. Otherwise the ChatGPT playbook covers it. Enterprise buyers running Deep Research here read the same fact pages.

Two cautions. Reach numbers are self-reported by the platforms and dated where I could date them. And the overlap figures come from different studies with different methods; the direction is more reliable than any single percentage: every study that has measured top-10 overlap twice has found it lower the second time.

What I'd do with this. Run the prompt set on all of them (Section 05), but report ChatGPT and the Google surfaces separately, because the fixes differ. If your Google surfaces lag ChatGPT, the answer is usually ranking and video. If ChatGPT lags Google, the answer is usually the site: problem, review platforms, or that you aren't a name the model reaches for, which is the next subsection.

Brand as a retrieval input

The most important number in this section is the 68.9%: in Suganthan's sample, brands the model named in its own background searches made it into the answer about two-thirds of the time, and brands whose pages were only fetched made it 2.1% of the time. Small sample, one Plus account, two days in July; the direction is what matters. Where does the first query come from? Not from your site. It comes from what the model already associates with the category, which is training data plus whatever system logic OpenAI layers on top; nobody outside OpenAI knows the mix. The observable part is simple: some brands get searched for by name and most don't, and that is as close to a machine-readable measure of brand as we have.

This is the part of AEO that most resembles old-fashioned marketing, and the part most vendors skip because it can't be shipped as a deliverable. What moves it, in the order I'd work:

  1. One name, one category, everywhere. Pick the category phrase buyers use (not the one your board likes) and use it identically on your site, G2, Crunchbase, LinkedIn, press boilerplate and partner listings. Models resolve entities by co-occurrence. If you're "revenue intelligence" on your homepage and "sales analytics" on G2, you're harder to resolve as one entity in one category, and every source that describes you differently dilutes the signal.
  2. Co-mention with the incumbents. The model reaches for a set of names together. Get into that set by appearing next to them: honest "[Incumbent] alternatives" pages on your own site, third-party comparisons that list you alongside them, analyst and publication roundups. Appearing sixth in a list of six this year is usually what precedes appearing third next year.
  3. Original data the category cites. The fastest way into a publication's roundup and a model's memory is a number nobody else has. A benchmark from your own usage data, a buyer survey, a pricing index for your category. Ahrefs and G2 appear throughout this guide because they publish data nobody else has, and the same logic applies at your scale.
  4. Publications the model already trusts. The source map (Section 07) will show you the three to eight domains that appear on most of your prompts. Coverage there is a citation today and, plausibly, part of what the next model learns about your category; I can't observe the second part, so I'd treat it as a bonus.
  5. Consistent presence over time. Training data is assembled on model release cadences, not sprint cadences. The GPT-5 family shipped through 2026 on an August 2025 knowledge cutoff. What you do this quarter shows up in retrieval now; whether and when it shows up in a future model's priors isn't observable from outside. Budget for the first and treat the second as upside.

How to tell if it's working. Suganthan's test, which I'd make a standing weekly check: run your top 20 comparison prompts five times each and record whether your brand appears in the model's initial searches, not just in the answer. Where a tool exposes the background searches, "brand included in the initial search" is its own metric, separate from being mentioned or recommended in the answer (Section 13). If you never appear in the search, technical fixes alone won't get you there; the work above will, and it takes quarters.

What I'd avoid. Buying placements in listicles on domains the model doesn't cite, seeding communities, and any "entity building" service that amounts to publishing the same boilerplate on 50 directories. Those produce co-occurrence on sources the model has learned to discount.

Why this matters more than citations. Semrush and Kevin Indig tracked 1,094 U.S. categories in ChatGPT from January to June 2026 and found that only 21% of the most-cited domains in a category were also the most-mentioned brand, and the two measures correlate slightly negatively. The same study found a clear brand owner in only 15.2% of categories, so most are still open. In Kevin Indig's earlier Growth Memo research, cited in the same Semrush piece, 74% of participants chose the top-mentioned brand. The practical rule: track recommendations separately from citations. Being used as a source and being selected as a vendor are different outcomes, and most of the vendor market reports the first while implying the second.

Context changes the answer. A September 2026 study of 8,609 responses (six personas, three consumer categories, 30 prompts, four platforms, UK-based testing) found ChatGPT's recommended brand set shifted by 16 percentage points when the model had persistent user context, after netting out ordinary run-to-run variation. A separate log analysis found about 95% of ChatGPT's memory entries are extracted automatically rather than added by the user. Read the 16 points within that scope: consumer categories, synthetic personas, one country. What it supports is that clean-session measurements are a baseline, and that supplied context can move which brands get recommended. A specific descriptor for your product is a reasonable response; how the model matches brands to a user's history isn't observable, so I'd treat that as a hypothesis to test with the cohorts in Section 05.

05. Building the prompt set

Every number in this guide that matters is a share of a prompt set. If the set is wrong, every measurement is wrong, every prioritization is wrong, and the agents in Section 10 run the wrong loop. Most teams write 30 prompts off the top of their head in an afternoon. This is how I'd build one that holds up.

Where the prompts come from

A brainstorm is the wrong source. Pull them from where buyers already say what they want:

  • Sales call transcripts. Search for "we looked at", "we're comparing", "does it", "can it", "how much". Each one is a prompt in the buyer's words.
  • Support and onboarding tickets. Validation prompts ("does X support Y") come from here almost verbatim.
  • G2 and Capterra reviews, yours and competitors'. The "what do you dislike" fields are the objections the model will be asked about.
  • Prompt volume data if you have a platform that provides it (Profound's Prompt Volumes is the one I use). This is the closest thing to keyword volume that exists for AI, and it stops you from optimizing for prompts nobody types.
  • The fan-outs themselves. Once you're running, the sub-queries the model generates are the best source of new prompts. If ChatGPT keeps searching "[category] SOC 2" on your prompts, that's a prompt.
  • Search Console and Bing's AI report. Conversational queries from AI Mode and Copilot's grounding queries.

The five classes, and the split that matters

The examples use Northwind, an invented payroll company that serves as the worked example throughout this guide; Section 11 has the full walkthrough.

ClassBrand scopeShare of setExampleWhat it measures
DiscoveryUnbranded20%"best contractor payroll software for a 40-person startup"Are you in the consideration set at all?
DiscoveryCompetitor-branded25%"alternatives to Deel for international contractors"Do you enter the set when a buyer starts from a competitor?
ComparisonOwn-brand20%"Northwind vs Deel for international contractors"Given the buyer already knows you, does the answer recommend you, and on what evidence?
ValidationOwn-brand25%"does Northwind support employer of record"; "Northwind pricing per contractor"Can the model read your facts, and are they right?
Category educationUnbranded10%"how does contractor payroll differ from EOR"Are you cited as an authority, not just a vendor?

The split that matters for reporting is brand scope. Shortlist inclusion (mentioned, recommended) is measured on unbranded and competitor-branded prompts only. Recommendation quality and factual accuracy are measured on own-brand prompts, where a mention is guaranteed and means nothing. A prompt that names you can never improve your discovery number.

The percentages are a starting point; shift toward discovery for consumer and commerce, toward validation for enterprise and regulated categories, toward competitor-branded for crowded ones.

Variants

Each base prompt gets variants, because the fan-out changes with them:

  • Segment: company size ("for a 10-person team" / "for 500 employees"), industry, region.
  • Role: "as a CFO" / "as a founder" produces different sources.
  • Constraint: "under $500 a month", "with HIPAA", "that integrates with QuickBooks".
  • Year: with and without "2026". The year triggers web search more reliably.

A 60-prompt set is usually 15 base prompts times four variants. A 200-prompt set is the same 15 with more segments and constraints. Don't write 200 unrelated prompts.

Multi-turn sequences

Buyers don't ask one question. G2's data says comparison is the top use case and 41% run Deep Research. So a fifth of the set should be sequences:

  1. "best [category] for [segment]"
  2. "which of those is cheapest for [constraint]"
  3. "does [the one it picked] do [validation]"

Record who wins turn three. That's the shortlist. Also keep five Deep Research prompts per quarter ("evaluate [category] vendors for [segment] with [three constraints] and recommend one") and read the full report; it shows you every fact page and third-party source the model used.

Running it cleanly

  • Fresh session, logged-out or a clean test account, free tier. ChatGPT personalizes from history and it will skew your results.
  • Five runs per prompt per engine; report the average and the range. A prompt you win 2 of 5 is within ordinary variation and shouldn't be reported as a win.
  • Version the set. Adding prompts is fine and expected. Editing or removing one resets its history; note it.
  • Store answers in full, not just citations. You'll need the text for the accuracy check (Section 09).

Add persona cohorts once the baseline is stable

Fresh sessions tell you what the model says with no context, which most real buyers don't have. Keep three to five test accounts, each seeded with the history a segment might plausibly have (a founder evaluating tools, a finance lead at a mid-size company, a procurement analyst), and run the core prompts through them monthly. Report cohort results beside the clean baseline and never merge them. What this tests is the model's sensitivity to supplied context. Synthetic personas don't reproduce your actual customers' histories, so a divergence from the baseline tells you the answer is context-sensitive for that kind of prompt; it doesn't tell you what any real buyer's assistant knows.

How many answers a rate needs

Paired runs of the same prompt minutes apart repeat only about 40% of their cited domains, so a single run tells you almost nothing. For a proportion near 50%, 300 independent observations give roughly plus or minus 5.7 points at 95% confidence and about 385 give plus or minus 5; repeated answers to related prompts are correlated, so treating every response as independent overstates precision. Report completed runs, distinct prompts and collection dates alongside every rate. Repeated runs measure answer variability within the tracked set; they don't make that set representative of all buyer questions. The 3-of-5 rule is an operational review threshold for one prompt in one week, not a statistical definition of winning.

Two things that decide whether the numbers mean anything

First, report by prompt class, never as one blended score. "Does Northwind support SSO?" all but guarantees a Northwind mention; if it sits in the same average as "best payroll for a 40-person startup," your discovery performance looks better than it is. Discovery and comparison prompts get their own line. Second, hold the environment constant: same engine, same tier, same locale, same collection method. An API response with web search is not the same thing as the consumer product's free-tier answer, and a tool that collects through the API is measuring a different environment than the one your buyers use. Ask any vendor which one they collect from; if they can't say, the numbers aren't comparable to anyone else's.

The workload, so the budget is honest

60 to 200 prompts, five runs each, four engines is 1,200 to 4,000 responses per full measurement. Daily, that is 36,000 to 120,000 responses a month, which requires a platform contract rather than a script. What I'd run: the full set weekly, a core subset of 20 to 30 comparison and validation prompts daily, and the description-accuracy check weekly. A missing response is a collection failure and gets logged as one; it is never counted as lost visibility.

The CSV schema

This is what the Claude skill in Section 14 reads. Keep it this simple.

prompt_id,class,brand_scope,base_prompt,variant_type,variant_value,segment,engine_scope,added_on,retired_on,notes
P001,comparison,own-brand,"Northwind vs Deel for international contractors",none,,startup,all,2026-10-01,,from sales call 9/22
P002,validation,own-brand,"Northwind pricing per international contractor",year,2026,all,all,2026-10-01,,
P003,discovery,unbranded,"best contractor payroll for a 40-person startup",segment,40-person,startup,all,2026-10-01,,Prompt Volumes: high
P004,discovery,competitor-branded,"alternatives to Deel for international contractors",none,,startup,all,2026-10-01,,

Each run appends a row to a second file:

run_id, prompt_id, engine, tier, locale, collection_method (ui/api), run_number, timestamp, in_initial_search (0/1/unknown), mentioned (0/1), recommended (0/1), cited_owned_domain (0/1), cited_url, competitor_names, answer_text, fanout_queries, status (ok/failed)

Everything in Sections 08, 09 and 13 is a query on those two files.

06. Onsite: exactly what to build and fix

The onsite job in 2027 is narrower and more demanding than it was: be the official source the model scopes to, and make every fact it comes looking for findable in plain HTML in the first screen. I'd work in this order. Most items have a check you can run yourself.

A. Own your identity so the model scopes to the right domain

  1. Lock the domain. Register the obvious variants of your brand name (.com, .io, .ai, brand-without-prefix). If you are getbrand.com, find out who owns brand.com. If it is parked, buy it or at minimum monitor it. Check: run your top 20 prompts through ChatGPT five times each and read the fan-outs (Profound, Peec, or the free Resoneo plugin). Note every site: target. If it isn't yours, that is your first fix.
  2. Say "Official" where it's true. Homepage title tag and meta description. Organization schema with sameAs pointing at your LinkedIn, Crunchbase, G2, GitHub, Wikipedia/Wikidata and app store listings. Consistent legal name, product names and one-line description everywhere. This is old SEO advice; with site: scoping it's the cheapest insurance against the model guessing the wrong domain for you.
  3. Get the entity right on the sources the model trusts. A Wikidata item, if you meet its notability rules and no item exists already; it needs references to independent sources, so check both before you create one. Wikipedia only if you meet notability. Crunchbase, G2 and Capterra profiles complete and matching your site word for word on category, pricing model and integrations.

B. Build the fact pages the fan-out hits

The model runs site:you.com plus a fact word. Ship a dedicated, crawlable, dated page for each of these, or make sure the existing one answers in the first 150 words.

PageWhat the model is looking forWhat breaks it
PricingPlan names, price per unit, what's included, limits, billing terms, in a plain HTML tablePricing in images, JS-rendered toggles with no server-rendered fallback, "contact us" only
IntegrationsFull list, one line each, category groupedLogo walls with no text
Security and complianceSOC 2, ISO, GDPR, HIPAA, data residency, subprocessors, with datesA PDF behind a form
Comparison, You vs XHonest side-by-side on the 8 to 12 criteria buyers useMarketing tables where you win every row
Segment pages, X for [company size / industry / role]Which plan, which features, which limits apply to that segmentGeneric landing page copy
Changelog / release notesDated entries, plain language, one feature per entryA Notion page you never link to
DocsTask-level how-tos with exact steps and error messagesDocs blocked from crawlers, or docs on a subdomain with no links from the main site
FAQ blocks on product pages30 to 60 word answers to the questions in your sales calls and support ticketsAnswers that only appear after a click or a script

The segment and comparison rows are where the biggest documented wins came from. Ramp's move from 3.2% to 22.2% AI visibility in accounts payable came primarily from two pages, Accounts Payable Software for Small Businesses and for Large Businesses, plus a small set of comparison and "AI in AP" pages, which together earned 300+ citations. That is the pattern I'd copy: a page for each segment the model is asked about, wherever that segment has different facts, pricing or decision criteria. Segments that share the same facts share one page, and keywords on their own don't earn one.

C. Page anatomy that survives passage extraction

ChatGPT chunks pages and pulls the passage that answers the sub-query, and in the data I've seen a large share of citations come from the first section. Google says plainly that it has no ideal page length and no chunking requirement. So treat these as editorial defaults that make extraction easier; the engines don't enforce them:

  • First 150 words answer the page's question directly, with the number, the date and the entity names in it, and nothing before it.
  • H2s are the questions buyers ask, in their words. Pull them from sales calls, support tickets, G2 reviews and the fan-outs you logged in step A.
  • One claim per paragraph, three sentences max. Tables for anything with more than three attributes.
  • Year in the title where it's true, last-updated date visible, author with a real name and role.
  • Name competitors and adjacent tools explicitly. The model builds its entity graph from named mentions, and "leading platforms" gives it nothing to build on.
  • Product-deep examples with decision logic: "If you have more than 50 users and need SSO, choose Plan B; here's why."

Check: paste the page into any model with search off and ask it to answer your target prompt from the page alone. If it hedges or invents, the page isn't doing its job.

D. Technical: let the answer bots in, decide separately about training bots

Cloudflare's network data shows publishers now block GPTBot about 2.3 times for every allow but allow OAI-SearchBot outright. That split is right: GPTBot is the training crawler, OAI-SearchBot is what ChatGPT search retrieves with. Blocking the second one takes you out of answers. Also make sure your firewall lets through the user-triggered fetchers (ChatGPT-User, Perplexity-User, Claude-User), which load a page when someone asks the assistant about it directly. robots.txt may not govern those; your firewall does.

User-agent: OAI-SearchBot
Allow: /

User-agent: ChatGPT-User
Allow: /

User-agent: PerplexityBot
Allow: /

User-agent: Perplexity-User
Allow: /

User-agent: Claude-SearchBot
Allow: /

User-agent: Claude-User
Allow: /

User-agent: Google-Extended
Allow: /

# Training crawlers: your call. Blocking these does not affect search
# retrieval. Uncomment the next two lines to block OpenAI's training
# crawler.
# User-agent: GPTBot
# Disallow: /

That template takes no position on training bots. Some companies want to be in the next model's weights; that is a legal and brand decision, not an AEO one.

What I would insist on:

  • server-rendered HTML for every fact page (run curl on your pricing page and make sure the prices are in the response body)
  • IndexNow submitted on every update so Bing and the other participating engines are notified (it doesn't guarantee a crawl or a re-index, but it removes the waiting)
  • no fact content behind forms or in PDFs

One clarification: Google's AI Overviews and AI Mode use Googlebot, so Google-Extended only governs Gemini grounding and training. Blocking it doesn't remove you from Google's AI answers.

The WAF problem, which robots.txt won't show you. Since July 2025 Cloudflare has blocked AI crawlers by default on new domains, and bot-fight and managed-challenge settings on existing ones often challenge every non-browser user agent, answer bots included. Akamai, Imperva and AWS WAF have equivalent rules. robots.txt can say Allow while the edge returns a 403 or a JavaScript challenge that OAI-SearchBot can't solve. This is the most common silent failure I'd expect in enterprise and the reason a company with perfect content can have zero citations.

How to check, in five minutes:

curl -s -o /dev/null -w "%{http_code}\n" -A "OAI-SearchBot" https://you.com/pricing
curl -s -o /dev/null -w "%{http_code}\n" -A "PerplexityBot" https://you.com/pricing
curl -s -o /dev/null -w "%{http_code}\n" -A "Claude-SearchBot" https://you.com/pricing

Treat this as a first check that can rule problems in but can't rule them out. A spoofed user agent doesn't get the same treatment as a verified crawler (Cloudflare verifies bots by IP and signature, not the string), a redirect can be normal, and a 200 can be a challenge page rather than your content. So open the response body and confirm the facts are in it, then pull a week of edge logs filtered to verified requests from those crawlers and look at the status-code mix. A 200 on the homepage and 403s on /pricing and /docs is a common pattern from path-level rules. In Cloudflare, the settings live under Security, then Bots; allow the verified answer bots explicitly rather than relying on the default. Do the same in whichever WAF you run, and add the check to the weekly agent run so a security team's well-meant change doesn't take you out of answers for a month.

On llms.txt. Ship it if it's cheap. Do not expect anything. Ahrefs found 97% of published llms.txt files received zero requests in a month, and a 515-million-event log analysis found 408 requests for the file in 90 days. It is a fine deliverable for a docs site and a bad thing to pay an agency for.

On schema. In the 2026 guide I leaned hard on FAQ and HowTo schema, and the Webflow numbers were real. I still ship schema on every fact page. But I'd describe it now as plumbing that helps Google's rich results and entity resolution, not the lever that gets you cited in ChatGPT. The lever is the plain HTML the passage extractor reads. Schema sold as the whole AEO strategy is two years out of date.

E. Refresh cadence

Fact pages decay. Prices change, integrations ship, a competitor launches. What I'd run:

  • Pricing, integrations, security, comparison pages: reviewed every 30 days, updated-date bumped only when something changed.
  • Segment pages: every 60 days against the fan-outs you're seeing.
  • Everything else: when your visibility on its prompts drops for two consecutive weeks.

F. What to stop doing

The page types losing retrieval share are listicles, how-to roundups and self-serving comparison posts, which are exactly what most "AEO content" vendors produce. If you have 40 "Best [category] tools in 2026" posts where you rank yourself first, they are not helping and they may be hurting your domain's trust with both Google's scaled-content policy and ChatGPT's source scoping. Before you consolidate, check each one for traffic, conversions, links and whether it answers a distinct question; keep the ones that do. Consolidate the rest into one honest comparison hub, redirect them, and put the effort into the fact pages above.

G. International

ChatGPT runs a large share of its fan-outs in English even when the prompt is in another language, because that's where the pool of sources it can evaluate is deepest. Two consequences. First, your English fact pages are doing work in every market, so they need to state which markets you serve, in which currencies, under which compliance regimes. Second, local-language pages still matter for the local answer, especially on Google's surfaces and Gemini, which retrieve in-language more consistently.

What I'd do:

  • one English fact page per market-relevant fact with explicit country coverage
  • localized versions of the segment and pricing pages for your top three markets, with hreflang and the same first-150-words discipline, not machine translations of marketing copy
  • presence on the regional review platforms the source map surfaces (Capterra's country editions, OMR Reviews in DACH, G2's regional pages)
  • a prompt-set variant per market, run in the local language and in English, reported separately

If you sell in Japan, Korea, Brazil or Mexico, note that ChatGPT ad click-through in those markets ran roughly double the English-market rate in Graphite's data, which is worth a separate look at whether your citations there click through at a similar premium. I don't have data on that yet, so it's an open question.

A reasonable team can complete A through D in 30 days, mostly by fixing pages you already have.

07. Offsite: where citations come from and how to earn them

Most of the labor in the AEO programs I run is offsite. That surprises people who read the 2026 guide, which was almost entirely about your own pages. The reason is in Section 04: for anything that isn't a plain fact about you, the model routes to sources it already trusts, and you don't own them. The onsite work is what the site: retrieval finds; the offsite work is what gets you named in the first query.

Step 1: build your source map before you do anything else

This is the exercise I'd run in week one, and it's the one most agencies skip because it produces a to-do list they can't outsource to a content mill.

  1. Start from the prompt set in Section 05 (60 to 200 prompts across discovery, comparison, validation and category education). If you haven't built it yet, 50 real buyer prompts weighted to comparison and validation will do for the first map.
  2. Run each prompt five times across ChatGPT (free tier, since that's 90%+ of users), Perplexity, Google AI Mode and Gemini. Log every cited URL and, where the tool exposes them, every fan-out query.
  3. Group cited domains by the routing type in Section 04: official, review platform, community, publication, video, reference (Wikipedia, docs), government.
  4. For each domain, record three things: how many prompts it appeared in, whether you exist there at all, and whether what it says about you is accurate and current.

You now have a table that looks like this (illustrative rows, not real data):

DomainTypeCited in N of 60 promptsYou present?Accurate?Action
g2.comReview38YesCategory wrong, 14 reviewsFix category, review drive to 50+
reddit.com/r/[category]Community22Non/aMonitor, answer real threads, no seeding
[tradepub].comPublication19Non/aPitch two data stories
youtube.comVideo111 video, 2023StaleTwo current walkthroughs
en.wikipedia.orgReference9Non/aNot notable yet; fix Wikidata instead
competitor.com/vs/youOfficial (theirs)7Yes, on their termsNoPublish your own comparison, correct theirs via PR

How to work one row

One row, worked down to the URL. A domain in the map tells you where to look, not what to change. A review profile, a category page, a comparison page and an editorial article on the same domain need different actions. So each row that gets worked expands to this (illustrative):

FieldEntry
Cited URLg2.com/categories/hr-software (the category page, not Northwind's profile)
Passage the model usedThe category grid, which lists Northwind under "HR software" with 9 reviews and no pricing
What's missing or wrongNorthwind belongs in "Payroll"; pricing field empty; last review 11 months old
OwnerHead of customer success (reviews); marketing engineer (listing fields)
Proposed changeCategory change request to G2; pricing and integrations fields completed to match northwind.com; review ask added to onboarding week two
Evidence suppliedScreenshot of the current grid, link to northwind.com/pricing, the three ChatGPT runs that cited this page
Follow-up dateCategory change confirmed by [date +14]; re-run the 5 prompts that cited this URL by [date +21]

Each worked row carries a URL, a passage, a change, a person and a date, and twenty rows like this is roughly a quarter's program.

What you can do on each source type. The action depends on who controls the page, and pretending otherwise is where offsite programs turn into spam.

Source typeWhat you controlThe actionWhat you can't do
Owned profile (G2 profile, Crunchbase, partner directory entry)The fieldsFill and correct every field to match your site; set a maintenance owner and a quarterly checkChoose how the platform ranks you
Platform category page (G2 category grid, Capterra list)Which category you're in, and your review volumeRequest correct categorization with evidence; earn the reviews that move your positionDictate placement
Editorial comparison or roundupNothingSend a verifiable correction (exact sentence, exact replacement, source URL) or genuinely new evidence the writer can useBuy or demand inclusion
Customer reviewWhether you askAsk real customers for an honest account at a natural moment; respond publicly to negative onesPrescribe the conclusion, incentivize the rating
Community discussionYour own participationAnswer relevant questions with your affiliation disclosed; stop thereSeed, vote, or run unlabeled accounts
Partner listingThe product facts, jointlyAgree the description and pricing with the partner; name a maintenance owner on each sideControl their copy beyond the agreed facts

An example of the editorial version. This is the shape of a correction request I'd send; the specifics are illustrative.

Subject: Correction to "Best contractor payroll tools" (Northwind pricing)

Hi [name], in your roundup updated [date], the Northwind entry says "$25 per contractor, no U.S. payroll." As of [date], the Startup plan is $15 per international contractor per month and includes U.S. W-2 payroll; the current pricing page is [URL], and the plan table is server-rendered so it'll match what you see. If it's useful, we publish settlement times by country from our own data [URL], which no other tool in the roundup reports. Happy to answer anything; no need to add us anywhere, just to get the two facts right.

How I judge whether it worked: the sentence changes within 30 days (logged in the source map), the prompts that cited that URL are re-run at day 21, and the description-accuracy check stops showing the old price. If none of the three move, the row goes back to the queue with a lower score; a second, louder email rarely helps.

Before Step 2, two things: how to work a single row, and where citations are coming from right now. The order in Step 2 is the one I see most often across categories; your map decides your order. If video shows up on 30 of your prompts and publications on 4, work video first.

Where citations come from, as of late September 2026

Before the surfaces, the current picture, because it moved this quarter and most published advice predates the move. Direction is more reliable than any single percentage; every figure is dated and linked.

Source typeChatGPTGoogle AI Overviews and AI ModePerplexityGeminiWhat that means for the work
Your official site (pricing, docs, product pages)Rising. Product pages 16.4% of retrievals; 84% of site: targets are the brand's own domain (Peec, July)Steady; depends on ranking more than elsewhereSteadyRising; favors official pages and docsSection 06 is the highest-return work on every engine
Review platforms (G2, Capterra, Clutch, Consumer Reports)Rising as opinion routing narrows to sources it trustsPresentPresentPresentFix listings first; run the review program
RedditFell from 3.83% to 0.52% of citations in mid-August (Promptwatch); Elmo measured the UI at 0.38%, the same level the API already returned; total citations rose 10% in the same window (Elmo, Sept 11). OpenAI says it still cites Reddit.Barely moved: AIO 2.37% to 2.10%; AI Mode down 31%Still the heaviest citer; Reddit was ~24% of Perplexity citations in January, down from a ~47% peakNear zero (0.1% in Tinuiti's January data)Presence for understanding and for Perplexity; not a ChatGPT citation play
YouTubeDown 88% in ChatGPT in the same August window (Petra Labs); ChatGPT was never a heavy YouTube citer (4.4% of YouTube citations)Heavy: AIO alone accounts for 36.6% of YouTube citations across engines (Otterly)Heavy: 38.7% of YouTube citationsNear zero (0.2%)Video is a Google and Perplexity play
Publications and trade pressSteady among the surviving citations (Forbes, Consumer Reports, Healthline in Ahrefs' most-cited list)SteadySteadySteadyThe source map tells you which three to eight matter
Wikipedia and referenceSteady; Wikipedia remains among ChatGPT's most-cited domainsSteadySteadySteadyWikidata if you meet its notability rules; Wikipedia only if you meet its stricter ones
Docs and developer documentationRising; one tracker's read is that docs absorbed part of the share Reddit lost (Something Inc, single vendor)SteadySteadyRisingMake docs crawlable, dated, linked
LinkedIn, TikTok, XSmall and falling in ChatGPT (LinkedIn down 36%, TikTok down 72% in August per Petra Labs); X effectively absentSmallSmallSmallNot a citation channel; still a brand channel

Two caveats that matter. Promptwatch says it can't fully rule out a data-collection artifact, so treat the exact size of the Reddit drop as provisional even though three trackers saw it. And this has happened before: Semrush's own 230,000-prompt study saw ChatGPT's Reddit citations fall from about 60% of responses to about 10% in August and September 2025, then recover, with Kevin Indig attributing that one to a Google search-parameter change rather than anything OpenAI did. My read is that this source is volatile. Build for the sources that have held across every model change: your own fact pages, the review platforms, and the publications the model already trusts.

Step 2: the surfaces, in the order most source maps put them

Review platforms first. G2 buyers said a citation from a review site is the single most confidence-inspiring signal in an AI answer (45%), and review sites were the second-biggest shortlist influence after chatbots themselves. The model routes opinion queries here. Complete the profile so it matches your site exactly on category, pricing model, integrations and segment. Then run a real review program: a standing ask in onboarding and QBRs, not a one-time blast. Target: enough recent reviews that your listing shows up in the platform's own category pages, because that is what the site:g2.com fan-out lands on.

Do the same on whichever platforms your source map surfaces: Capterra and Gartner Peer Insights for software, Clutch for services, Trustpilot and Google Business Profile for consumer and local, Amazon and retailer reviews for products, and the regulated-category equivalents (NMLS, state licensing boards, hospital ratings) where the model routes there.

Publications the model cites, second. Your source map will show three to eight publications that keep appearing. Pitch those, not a press list. What they take: original data (your usage numbers, a survey you ran, a benchmark you built), a named expert with a point of view, and a story that names competitors honestly.

Ahrefs' most-cited-domain data for ChatGPT still includes Forbes, Consumer Reports and Healthline alongside Reddit and Wikipedia; in most categories it's the trade press for that category plus a handful of specialist sites, and the map will name them. One placement in a domain that gets cited on 20 of your 60 prompts touches a third of your tracked set.

Video, third, and know which engine you're doing it for. When a model cites YouTube, it cites a specific video 85% of the time, not a channel (Profound). Google AI Overviews and Perplexity account for three-quarters of all YouTube citations across engines; ChatGPT accounts for 4.4%, and its YouTube citations fell further in August (Otterly). So video is a Google and Perplexity play, and in most categories that's still most of the reach.

What to make: a current, plainly titled walkthrough for each core use case and each major comparison ("You vs X: pricing, setup, limits, 2026"), with a full transcript in the description and the same claims as your site. Prioritize demonstrations that answer the buyer questions you track over brand films.

Reference sources, fourth. Wikidata if you qualify; Wikipedia only if you meet notability, and never written by you. Public docs matter more than they did: after the August change, one tracker's read is that documentation took the share Reddit lost in ChatGPT. That's one vendor's observation, but it lines up with product pages rising in the retrieval mix. Make your docs crawlable, dated and linked from the main site.

Reddit and communities, last and carefully. In ChatGPT, Reddit went from one of the largest single cited domains to a rounding error in about a week in August, and the total number of citations went up while it happened; the model kept citing at the same rate and stopped citing Reddit. In Google's surfaces it barely moved, and in Perplexity it's still a primary source. So the right posture is engine-specific. Reddit is still retrieved constantly by ChatGPT and still shapes how the model understands your category, even though it rarely credits those threads now.

What I'd do: monitor the subreddits in your source map, answer real questions from a labeled company account with real answers, and stop there. Reddit is flagging about 25,000 spammy posts and comments a day using its own models, and Reddit's CCO told Axios that brands treating it as an AI hack "risk frustrating your consumers here with no guarantees of a positive result elsewhere." I agree with him.

If your buyers use Perplexity, your Reddit presence matters more; if they use ChatGPT, treat it as a place the model learns about your category rather than a place it cites. And because this exact collapse happened once before and reversed, keep the monitoring on. An agency selling "Reddit seeding" as an AEO deliverable in 2027 is putting your accounts at risk either way.

Step 3: partner and marketplace pages

This one is underused and it's cheap. Every integration partner has a marketplace listing and a partner page, and those are official pages on trusted domains. Get listed, get described accurately, and get a link back to the fact page on your site. When the model runs site:partner.com [your category], you want to be in the result. Co-marketing with partners (a joint comparison, a joint webinar with a transcript) puts your name on their domain in the model's opinion routing.

Step 4: the weekly loop

  • Monday: agents re-run the prompt set, diff citations against last week, flag new domains and lost citations (Section 10).
  • Tuesday: read the diff. Every new domain that appears twice gets a row in the source map and an owner.
  • Wednesday and Thursday: outreach, review asks, partner updates, one publication pitch.
  • Friday: update the source map, log what shipped, note which prompts moved.

In practice it's PR and partnerships work with a measurement layer on top, run by someone who reads fan-outs. In-house that is usually a marketing engineer plus whoever owns partnerships. If you buy it from an agency, Section 12 tells you what to ask for.

08. Prioritization: what to do first

By now you have 60 to 200 prompts, a list of fact pages, and a source map with 20 rows. Nobody can work all of it. I'd score it like this, and there's a worked ranking below.

The score

For every candidate action (a page to build or fix, a source-map row to work), score four things from 1 to 3:

Factor123
Volume: how many of your prompts does this touch?1 to 3 prompts4 to 1011+ (or high in Prompt Volumes)
Intent: what class are those prompts?Category educationDiscoveryComparison or validation
Gap: how far behind are you on them?Mentioned but not citedMentioned but a competitor is recommendedAbsent entirely
Feasibility: can you ship it in 30 days?Needs a partner or publication to actNeeds product marketing and engineeringYour team alone, this sprint

Multiply. Range is 1 to 81. Work top-down. The multiplication matters: a high-volume, high-intent action you can't ship for a quarter scores below a mid-volume one you can ship Monday, which is usually the right call in the first 90 days.

Worked ranking, using Northwind (illustrative)

ActionVolumeIntentGapFeasibilityScore
Server-render the pricing table3 (14 prompts hit pricing)33381
Segment page: startups with international contractors333254
Fix G2 category, start review program332354
Own comparison page vs. the incumbent232336
Pitch the trade publication with settlement-time data223112
Correct the 2024 Reddit thread12112

The pricing fix is a day of engineering that touches 14 prompts. It outscores the publication pitch by a factor of seven even though the pitch is more glamorous. The Reddit thread scores 2 and never gets done, which is the right outcome.

Three rules that override the score

  1. The site: target and the WAF check come before everything, regardless of score. If the model can't reach you, nothing else registers.
  2. Description accuracy comes second. If the model says you don't do something you do, every citation you earn carries the error (Section 09).
  3. Never work more than three source-map rows at once. Offsite work is relationship work; spread thin it produces nothing.

Re-score monthly against the new diff. Actions that drop out of the top ten because you shipped them are the report.

Every tactic in this guide, and the evidence behind it

Before you spend, know what kind of evidence sits behind each move, because the kinds are not interchangeable. Five types: official documentation (the engine or platform says so), observational study (someone measured behavior at scale, without isolating any intervention), reported case (a company or vendor's account of its own result), practitioner judgment (what I and others see consistently, with no public dataset), and proposed experiment (nobody has measured it; here is how you would). Each tactic lists what the evidence shows and where it stops.

TacticEvidence typeWhat the evidence showsLimitation
Server-rendered fact pages (pricing, security, integrations)Observational study + reported case84% of site: fan-outs target the brand's domain (Peec); product pages 16.4% of retrievals; Airbyte's rewrite of retrieved-not-cited pagesShows where the model looks, not the incremental effect of rendering; cases are vendor-reported
Segment pages where facts differReported caseRamp 3.2% to 22.2% attributed mainly to two pagesSingle vendor case; other changes in the same window; effect not isolated
Own comparison pages, honestPractitioner judgmentCompetitor comparison pages are routinely the model's source on you; an own page displaces it in programs I've runNo public dataset; "honest" is not measured separately from "present"
Review-platform listings and review programsObservational study + surveyOpinion routing to G2/Capterra in fan-out logs; 45% of buyers call a review-site citation the top confidence signal (G2)Routing is observed; the review volume needed to move a category position is unmeasured and category-specific
Being named in the model's initial search (brand work)Observational study68.9% vs 2.1% (Suganthan, 57 conversations); 74% picked the top-mentioned brand (Indig, via Semrush)Small sample; no intervention measured; lag to effect unknown
Publication coverage in cited domainsPractitioner judgmentSource maps show 3 to 8 recurring publications per category; Ahrefs most-cited listsNo study links placement to citation; publications change with model updates
Video with transcriptsObservational study, engine-specificAIO and Perplexity account for ~75% of YouTube citations (Otterly); ChatGPT 4.4% and fallingCitation shares don't show the incremental effect of adding transcripts; near zero on ChatGPT and Gemini
Docs, crawlable and datedPractitioner judgment + one trackerDocs share rose after August per one tracker; Gemini favors docsSingle-vendor observation; no intervention data
Reddit participation, labeledObservational study, engine-specific~24% of Perplexity citations (aggregator); 0.5% in ChatGPT; 0.1% in GeminiPresence is not measured against outcomes; aggregator-sourced figures
Partner and marketplace listingsPractitioner judgmentOfficial pages on trusted domains match the observed routing ruleNo public measurement
Answer-first page anatomy, dated, H2 questionsPractitioner judgmentPassage extraction appears to favor early, atomic claims in practitioner dataGoogle states no chunking or length rules; no controlled comparison
FAQ blocks with schemaReported case (2025)331 citations at Webflow from six pages (my data)One company, one year ago; retrieval mix has since moved toward product pages
Schema markup generallyOfficial documentation (Google)Helps Google rich results and entity resolutionNo evidence it drives ChatGPT citations
llms.txtObservational study97% of files get zero requests (Ahrefs); 408 requests in 515M events (Limy)Shows non-use, not harm; costs nothing to ship
Wikidata / WikipediaPractitioner judgmentEntity consistency; Wikipedia among most-cited domainsEligibility rules; no measured lift from a Wikidata item alone
IndexNow on every updateOfficial documentation (Microsoft)Notifies Bing, which feeds ChatGPT's search layerNo guarantee of crawl or re-index; no citation data
Allowing answer bots; WAF checksOfficial documentation + observationalCloudflare data on GPTBot vs OAI-SearchBot treatment; default blocks since July 2025Confirms access, which is necessary, not sufficient
Persona-cohort measurementObservational study, new16-point shift with supplied context (one study, consumer categories, UK)One study; synthetic personas; no B2B replication yet
Paid ChatGPT AdsObservational study0.73% pooled CTR; top advertisers churn weekly (Graphite)No prompt-level reporting; conversion data thin; pooled figure
Listicle placement on unfamiliar sitesObservational studyListicles losing retrieval share (Peec); cited domains concentratingOccasionally still cited on Perplexity; placement effect itself unmeasured
Community seedingOfficial documentation (Reddit) + observationalReddit flags ~25,000 posts a day; ChatGPT citation share collapsedAccount risk is stated by the platform; the citation collapse has reversed once before
Sequenced rollout to isolate one tacticProposed experimentI haven't identified a published controlled testCostly; most programs ship changes together, and should say so

If a vendor proposes something not on this list, ask which group it belongs in and what its limitation is.

09. When the model is wrong about you

Visibility gets you into the answer. Accuracy decides what the answer does to your pipeline. A model that names you and then says you don't support SSO, cost twice what you cost, or are "best for enterprise" when you sell to startups does more damage than one that leaves you out, because the buyer believes it and never checks. In the 2026 guide I called this comprehension. This section is how I'd run it week to week.

Measure it

Weekly, for each engine, fresh session: "What does [brand] do, who is it for, and what are its limitations?" Score the answer against a one-page approved fact sheet: category, primary segment, three things you do, three things you don't, pricing model, compliance. Log every mismatch with the source the engine cited for it. This is the description-accuracy row in the Section 13 report, and it's the check the WHOOP team turned into what Profound calls a correction engine.

The correction playbook

When you find an error, arguing with the model does nothing. Find where it picked the error up and fix it there.

  1. Trace the source. The citation is a lead; it doesn't prove where the model learned the fact. If there's no citation, run the validation prompt with search on and read the fan-out; often the wrong fact sits on a page the model retrieved, but it can also come from stale training data or from the model inferring something no source says. If no retrieved page carries the error, the fix is publishing the correct fact explicitly (step 3) and waiting for retrieval to pick it up.

    The usual suspects:

    • a competitor's comparison page
    • a stale G2 or Capterra listing
    • an old pricing page still indexed
    • a 2023 review
    • a Wikipedia line someone else wrote
  2. Fix it at the source. Update your own pages first, with a visible date. Correct the listing. Ask the publication or partner for a correction with the exact sentence and the exact replacement; make it easy and many will. Competitors' pages usually won't change; the fix there is your own comparison page, which becomes the higher-authority source on you.

  3. Publish the fact explicitly. For every recurring error, put the correct fact on the relevant fact page in plain language, including the negative ("Northwind does not offer employer-of-record services"). A clear negative gives the model something to cite in place of the wrong claim.

  4. Re-index. Submit the changed URLs through IndexNow and Search Console. Bing's index feeds ChatGPT; don't wait for a natural recrawl.

  5. Check that the citation supports the claim. A link under a sentence is not evidence the linked page says that. For every citation on your own-brand prompts, open the cited URL and record supports / partial / contradicts / unrelated. Unsupported citations are their own error class; the usual cause is a fact page ambiguous enough that the model paraphrased around it.

  6. Re-test weekly until it holds across three consecutive runs. Then move it to the monthly check.

Sentiment, briefly

The engines increasingly summarize what reviewers think, not just what you say. If the model's summary of you includes "users report slow support", that came from reviews, and the fix is support, then reviews, then time. What you can do faster: make sure the review platforms carry your responses to negative reviews, because the model reads those too, and make sure recent reviews outnumber old ones. Review volume and recency feed accuracy as much as they feed visibility.

What not to do

  • Don't publish pages that say "ChatGPT is wrong about us."
  • Don't stuff a fact page with the phrase the model got wrong in the hope of overriding it.
  • Don't hide corrective text for bots.

I wouldn't do any of the three: the first gets ignored, the second is noise, and the third is the kind of thing that gets noticed and then discounted (see the risk table in the companion document).

10. From manual to agent-driven: the operating system

Almost two years ago, at Webflow, I built an AEO audit tool in Gumloop in one night. It scraped a few thousand sources plus your site, scored it, and spat out on-site fixes. It went viral because nobody had automated even that much. Today that tool would take an afternoon in Claude Code, and it would be the simplest agent in the stack.

The shift in 2026 is that the loop from the 2026 guide (discover, build, measure, refresh) is now something agents run and people supervise. Profound's platform numbers say 235,000 agents built and 120,000 hours saved; their customer stories put MongoDB at 30% time saved and Plaid at 300% growth in answer-engine referral traffic. Those are vendor-published figures, so read them for direction rather than as benchmarks. The direction matches what I see: the teams pulling ahead run the same prompt set on a fixed cadence, weekly at least, not every quarter, and the diff is what drives the week.

What to automate, what to keep human

JobAutomate?What the agent doesWhere a person stays in the loop
Prompt set executionYes: full set weekly, 20 to 30 prompt core dailyRuns the set across ChatGPT, Perplexity, AI Mode, Gemini on a fixed tier, locale and collection method; captures answers, citations, fan-outs where exposedOwns the prompt set; adds prompts from new sales calls monthly
Citation diff and alertingYesDiffs this week vs. last; flags lost citations, new competitor citations, new domainsReads the diff Tuesday morning
Fan-out capture and clusteringYesAggregates fan-out queries, clusters into topics, ranks by frequencyDecides which clusters get a fact page
Description accuracy checkYesAsks each engine "what is [brand]" weekly; flags drift vs. your approved one-linerApproves the corrected copy; owns the PR fix
Fact-page freshnessYesCrawls your pricing, integrations, security pages; compares to CRM/product data; drafts the diffApproves and publishes
Refresh draftsYesDrafts updated sections against fan-out clusters and competitor depthEdits, adds real examples, ships
Schema generation and validationYesGenerates and validates on every changeNobody, unless it breaks
GA4 / CRM attribution joinYesTags AI referrers, joins to CRM, reports conversion by engineSets the one business metric
Source map upkeepPartlyAdds new cited domains as rows; checks your presenceDecides outreach priority
Review asksPartlyTriggers the ask at the right lifecycle momentThe ask comes from a human
Publication pitchesNoCan draft; should not sendRelationships are the asset
Positioning and claimsNoThis is the job
Reddit and community answersNoLabeled human, or don't

The rule I use: automate observation and drafting, keep judgment and relationships human. An agent that sends outreach or posts to communities on your behalf creates risk faster than it creates reach.

[Diagram in the editor: the weekly loop. Run the prompt set, diff and flag, read and score, ship the top three, re-index and draft next. Three steps are agent work; the two shaded ones are a person's, and they take about a morning.]

The contract for one workflow, so it's buildable

The board above says what to automate. This is what one workflow, the citation diff, has to specify before anyone writes it. Every other job on it follows the same shape.

PartWhat it must say
InputThe runs.csv export from Section 05. Required: prompt_id, engine, tier, locale, collection_method, run_number, timestamp, mentioned, recommended, cited_owned_domain, status. Optional: in_initial_search (only some tools expose it; leave it unknown and the diff still runs), cited_url, competitor_names, answer_text, fanout_queries.
Comparison ruleSame prompt, same engine, same tier, same locale, same collection method, this week's five runs against last week's five. Anything that differs on those five keys is a new series, not a change.
ThresholdsA prompt is "mentioned" this week when the brand appears in at least 3 of 5 runs. A prompt that crosses the threshold in either direction is a review flag, not a result: 2 of 5 to 3 of 5 is inside ordinary run-to-run variation, so the flag carries the raw counts (this week 3/5, last week 2/5, runs completed 5/5) and only becomes a task if it holds for two consecutive weeks. A new cited domain on 2+ prompts is flagged the first week it appears, with the same counts attached.
Failure handlingRows with status=failed, or a prompt with fewer than 5 completed runs, are excluded from the diff and listed at the bottom as collection failures. They are never counted as lost visibility.
OutputOne task per flagged change: the prompt, the engine, the evidence (the run rows and the answer text), the cited URL if any, the proposed change (which fact page, which listing, which source-map row), and an owner from a fixed list. Delivered to Slack and appended to a tasks file.
ApprovalA named person checks the proposed change against the approved fact sheet before anything is published or sent. The agent never publishes.
RetestEvery task carries a retest date 14 days after the change ships; the workflow re-runs those prompts and reports whether the flag cleared across three consecutive weeks.

What the workflow does when data is missing. The optional fields are optional for the mention comparison, not for everything. Each absence removes a capability rather than breaking the run, and the output says which:

  • No answer_text: the diff still reports mention and recommendation counts, but produces no accuracy classification and no auditable recommendation, and says so.
  • No cited_url: no source-level citation comparison; the diff reports owned-domain citation counts only.
  • No fanout_queries: initial-search inclusion stays "unknown" and is excluded from the report rather than reported as zero.
  • Fewer than 5 completed runs on a prompt: the prompt is listed under coverage with its count and excluded from every comparison.

The Tuesday message opens with coverage (requested, completed, failed) so nobody reads a suppressed comparison as a flat result.

If a vendor or an internal tool can't fill in every row of that table for its own workflow, I'd treat it as a demo. The Claude skill in Section 14 is this table, written out.

Three ways to build it, by budget

TierRough costStackWho runs itWho it's for
1. Observation layer$500 to $2,000/mo in toolsSelf-serve tracker with per-prompt citation export; scheduled script pulls the export; Claude Code or n8n diffs it and posts to Slack; GA4 AI channel; source-map sheetOne marketing engineer, part-time. I build this kind of thing in Lovable and Claude Code in a day.Anyone. Covers most of what you need to see.
2. Platform plus agents$2,000 to $8,000/moA platform with prompt volumes, fan-out exposure and agents (Profound; or AirOps if content velocity is the bottleneck) wired to CMS and CRM; refresh-draft and freshness agents onOne full-time marketing engineer plus a human offsite ownerMost mid-market teams in 2027
3. EnterprisePlatform contract plus peopleSame, with agents inside approval workflows, multi-region prompt sets, PR reading the diffA named owner of the number, or it failsCompanies where the constraint is ownership, not tooling

The one role that makes it work

The programs that work have one person who can read a fan-out log, write a SQL join, edit a pricing page and get a partner to update a listing. That person is a marketing engineer, whatever their title says. If you don't have one, hiring one is the best AEO decision you can make in 2027, ahead of any tool or agency.

11. Who is winning, and why

Below are documented results with a source you can read. Most come from vendor case studies, which means they were selected for publication; I've left out anything without a number and anything I couldn't trace to a named company. My own client results aren't here because they aren't mine to publish. Two limits on these cases: three come from one vendor's customer stories, and the measurement windows and denominators are whatever that vendor reported, which in several cases is a visibility score whose construction isn't public. Read each "what they did" as the companies' account and the "pattern" below as mine.

CompanyResultWhat they didSource
RampAI visibility in accounts payable 3.2% to 22.2% in about a month; 300+ citations from a handful of pages; fintech rank 19th to 8thTwo segment pages (AP software for small business, for large business), a comparison page, an "AI in AP" pageProfound
AirbyteTripled ChatGPT visibility in one week; +16% across platforms; a $100K deal attributed to ChatGPT in July 2025Analyzed 500+ prompts by topic and country, rewrote the pages that were being retrieved but not citedProfound
PlaidAnswer-engine referral traffic +300%Agents running the observation loop, with a human owner; the team calls the platform its daily workbenchProfound
Ahrefs0.5% of visitors from AI drove 12.1% of signupsPLG product, deep docs, constant original research that gets citedAhrefs internal analysis, via AuthorityTech (secondary source)
ABI ResearchAI referral traffic (excluding Google AI surfaces) +70% June to Sept 2025, +126% June 2025 to March 2026; cited in 765 AI Overviews per SemrushSmall in-house team, four months of restructuring existing technology pages plus prompt tracking; first-party account, no vendorABI Research blog
Plausible Analytics~2,200% growth in referral traffic from ChatGPT, Perplexity, Claude and Phind in 2024, from a base in the hundredsThey say they applied no specific AI search techniques; plain, dated, opinionated docs and comparison pages. A counterexample: it shows growth can happen without a program. It doesn't show what caused it. Their top AI entry page was the homepage, which cuts against the landing-page advice below.Plausible blog
73 Shopify storesAI orders per day up 2.74x with flat AI visits; stores landing AI traffic on product pages convert 1.62% vs. 1.06%Product-page-first landing; feeds shared with ChatGPT after the March discovery pivotShero, Sept 2026
Webflow~1.2% CMS market share, ~60% of AI answers in category; +331 citations from six FAQ-plus-schema pages; LLM signups +129% YoYStructured FAQ answers on core feature pages, weekly refresh loopMy 2026 guide

The pattern

Read the "what they did" lines again. These are the companies' and vendors' own accounts of what changed, and none of them isolate the effect of publishing volume; what they have in common is specific changes to specific pages and workflows. The explanations below are mine:

  1. Pages per segment, not per keyword. Ramp's two AP pages are the cleanest example. The model gets asked "AP software for a 20-person company" and "for a 2,000-person company" as different fan-outs, and it wants a different page for each.
  2. Fixing pages that were retrieved and not cited. Airbyte's week-one win came from finding pages the model already fetched and rewriting the first screen so the passage extractor had something to take. That is the 3.1% gap from Section 04, worked from the inside.
  3. Landing AI visitors on the page that answers. The Shopify product-page finding (1.62% vs. 1.06%) is the cleanest evidence; Ramp's segment pages are the software version of the same thing. AI visitors arrive mid-decision. In the cases above, sending them to pricing, a segment page or the product converted better than a marketing hero; Plausible's homepage was its leading AI entry page. The practical question is whether the destination answers the visitor's question and supports the next step. Compare performance before deciding which page should receive the traffic.
  4. Being the source of record for validation prompts. Ahrefs in SEO data, Plausible in analytics docs, ABI in technology research. The model routes "is X compliant" and "what does the data say" to whoever publishes the answer with dates.
  5. Running the loop on a fixed cadence. Plaid and MongoDB are stories about agents running the loop. The advantage is that the diff drives the week, every week.

What these cases can't tell you

Every case is a vendor's or a company's own account of its own result, mine included, and none of them isolate a single change. I'd use them for the pattern and wouldn't benchmark against them. If you have a permissioned before-and-after with prompts, dates, page copy and counts, send it; the next version of this guide will carry the ones that meet the Section 13 standard, with the failures alongside the wins.

One company, end to end

Everything above is a fragment from a different company. This is the whole loop on one company. The company, the copy and every number in this walkthrough are invented and labeled as such. I've built it from the mechanics in Sections 04 through 10, not from a client. If you want the real version, it's the homework at the end.

The company. Northwind, a payroll product for startups with contractors in several countries. Roughly 40 customers, strong docs, decent Google rankings for "contractor payroll", almost no AI visibility.

Buyer question. "Best payroll software for a 40-person startup with contractors in three countries."

What the model did. Run five times on free-tier ChatGPT. Fan-outs captured through the Resoneo plugin. The first query already contained three brand names the buyer never typed. Northwind was not one of them. Subsequent fan-outs:

  • site:g2.com contractor payroll startup
  • site:[incumbent].com pricing international contractors
  • contractor payroll comparison 2026
  • site:reddit.com r/startups payroll contractors

The answer named three incumbents, cited G2 twice, one incumbent's own comparison page, one trade publication, and a Reddit thread. Northwind: mentioned in zero of five runs.

Diagnosed gaps, from the source map.

DomainTypeCited in N of 5 runsNorthwind present?Accurate?Gap
g2.comReview5Yes, 9 reviewsListed under "HR software", not "Payroll"Wrong category, thin reviews
[incumbent].com/vs/northwindOfficial (theirs)3Yes, on their termsPricing two plans out of dateCompetitor is the model's source on Northwind
[tradepub].comPublication2Non/aNot in the roundup
reddit.com/r/startupsCommunity2One 2024 threadStaleMonitor only
northwind.com/pricingOfficial0JS-rendered table, no server fallbackUnreadable to the extractorThe site: query would fail here

Onsite change, before and after. Northwind had no segment page. It had a generic homepage and a pricing page the extractor couldn't read. It shipped northwind.com/payroll-for-startups-with-international-contractors and a server-rendered pricing table.

Before (homepage hero, the only thing the model could find):

Payroll that grows with you. Modern teams choose Northwind to pay everyone, everywhere, with confidence. Book a demo.

After (first 120 words of the new segment page):

Northwind for startups with 20 to 100 employees and contractors in multiple countries. Northwind runs W-2 payroll in the U.S. and pays contractors in 38 countries from one account. Pricing is $8 per employee and $15 per international contractor per month on the Startup plan, with no platform fee; the Growth plan at $12 per employee adds multi-entity support. Contractor payments settle in local currency in 1 to 3 business days. Northwind is SOC 2 Type II (report dated March 2026) and does not offer employer-of-record services; if you need to employ full-time staff abroad, pair it with an EOR. Last updated September 2026.

The second version names the segment, the prices, the limits, the compliance date, and what the product doesn't do. That last sentence is deliberate: the model routes "does X do EOR" as a validation query and a clear no gets cited as readily as a yes.

Offsite changes. G2 category corrected to Payroll; a standing review ask added to onboarding week two (illustrative target: 9 reviews to 40 in 90 days). A correction request sent to the incumbent's comparison page with the new pricing URL; the page was not changed, so Northwind's own northwind.com/vs/[incumbent] page went live with an honest table. One pitch to the trade publication with Northwind's own data on contractor payment settlement times by country; accepted into the next roundup update.

Agent workflow. Weekly run of the 60-prompt set on ChatGPT free, Perplexity and AI Mode, plus a daily core of 24 competitor-branded and own-brand prompts, exported and diffed by a Claude Code script; Tuesday diff to Slack. Weekly description-accuracy check. Fact-page freshness check against the pricing table in the billing system.

Measured result at day 90, all illustrative assumptions.

MetricDay 0Day 90Denominator and rule
Discovery prompts where Northwind is mentioned, ChatGPT free tier3 of 3921 of 39The 39 discovery prompts in the 60-prompt set (15 unbranded and 24 competitor-branded); a prompt counts when Northwind appears in at least 3 of 5 runs
Same prompts where Northwind is recommended (the answer picks it, not just lists it)0 of 394 of 39Same rule
Prompts where the initial background search included "Northwind"0 of 399 of 39Read from the Resoneo plugin; ChatGPT only, UI collection
Prompts where northwind.com is cited1 of 6017 of 60All 60 prompts, same 3-of-5 rule; 14 of the 17 cite the segment or pricing page
Description accuracy (approved one-liner match)Wrong on EOR in 3 of 4 enginesCorrect in 4 of 4Weekly check, fresh session
AI-referred demo requests per month4 from 84 sessions (GA4) / 7 (self-reported)11 from 208 sessions (GA4) / 19 (self-reported)Both reported; not divided; sessions are GA4 AI-channel sessions
Demo conversion, AI-referred vs. site average4.8% (4 of 84) vs. 2.1%5.3% (11 of 208) vs. 2.2%Sessions landing on the segment or pricing page

The inventory behind the denominators: 60 prompts, of which 15 unbranded discovery, 24 competitor-branded discovery (the 39 above), 12 own-brand comparison and 9 own-brand validation. The 21 own-brand prompts are reported separately on recommendation quality and accuracy, not on mentions, because a prompt that names Northwind will mention Northwind.

What I'd say about why, and what I wouldn't. The pricing fix, the segment page, the G2 correction, the review program, the comparison page and the trade roundup all shipped inside the same 90 days. The results show improvement during the program; they do not isolate the contribution of any one change, and a write-up that ranks them "by effect" is guessing.

What the data does support: at day 90, northwind.com appeared in at least three of five runs on 17 of the 60 tracked prompts, versus one at baseline, and 14 of those 17 prompts cited the segment page or the pricing page, so the onsite work is at least where the citations landed; the model started including Northwind in its own searches in the same window the roundup and the G2 category went live, which is consistent with the brand mechanism in Section 04 without proving it; and the Reddit thread never changed and the results moved anyway.

If you want to know which change did what, ship them in sequence next time and hold the others. Most programs can't afford to, and should say so in the report.

That's the full loop, from the buyer's question to the denominator.

Who is losing, and why

This part is what I've observed. There's no published dataset behind it.

  • Companies whose pricing is a JavaScript widget or a "talk to sales" button. They get site: retrieved and then skipped, and a competitor's comparison page describes their pricing for them.
  • Companies that block OAI-SearchBot by accident because someone copied a robots.txt that blocked "all AI bots" in 2024.
  • Content-mill listicle sites and the brands that bought placements on them. Listicles are losing retrieval share, and after the August scoping change they lose the citation slot to the brand's own page and the review platform.
  • Anyone whose Reddit strategy was the strategy. See Section 07.
  • Big brands with strong SEO who assumed it carried over. Strong organic and low AI visibility is the most common starting position I see, and Section 04's 8% ChatGPT overlap is why. The companies in the cases above are the ones that noticed and moved.

12. In-house or agency, and how to inspect a vendor

I sell fully managed AEO programs through StackedGTM and I advise in-house teams running their own. So I'm not neutral, and you should apply everything below to me.

What the market looks like right now

Retainers for specialist AEO and GEO programs run roughly $3,000 to $12,000 a month for most mid-market scopes and $25,000 to $40,000+ at the enterprise tier. Self-serve trackers run $29 to $489 a month. A whole category of agency appeared in about eighteen months, and a lot of it is staffed by people who were doing SEO content in 2024.

None of that is a criticism of SEO; Section 04 says ranking still feeds the fan-out. The criticism is of relabeling. This is what "AEO content" usually turns out to be when you open the deliverables folder:

What they call itWhat it usually isWhat it's worth for AI visibility in 2027
"AI-optimized blog program"8 to 20 keyword-targeted posts a month, listicles and how-tosLow. Those are the page types losing retrieval share.
"Schema and structured data package"FAQ, HowTo, Article schema on existing pagesPlumbing: worth doing once, rarely worth a retainer.
"llms.txt implementation"A text fileNear zero. 97% of them get no requests.
"Reddit seeding" or "community amplification"Accounts posting about youNegative. Reddit flags ~25,000 spammy posts and comments a day.
"Listicle placement"Paid inclusion in "Top 10 X tools" posts on sites you've never heard ofWas marginal; now usually skipped for the brand's own page or G2.
"AI visibility dashboard"A white-labeled tracker you could license for $99Fine to have. Don't pay agency margin on it.
"Guaranteed citations in 90 days"A promise nobody can keepWalk away.

What the real work looks like, so you can recognize it

  • A baseline across at least four engines on 60+ prompts before kickoff, with raw exports you own.
  • Fan-out logs for your top prompts, read by a human, turned into a fact-page list.
  • The onsite fixes in Section 06, done to your actual pricing, security and comparison pages, which means access to your CMS and your product marketing.
  • A source map (Section 07) with named third-party domains and an outreach log you can read.
  • Reporting at the prompt level: for each tracked prompt, which engines cite you, which page, which competitor, and the week-over-week change.
  • One business metric agreed at kickoff and reported next to visibility every month.
  • An offsite share of the work that matches your source map. If your baseline shows most citations on your prompts going to third-party domains, and in most categories it will, a scope that ends at your own domain is working the smaller part of the problem.

Questions I'd ask any vendor, including me

  1. Show me the fan-out queries for three of my prompts and tell me what you'd change on my site because of them.
  2. What share of the retainer is offsite work, and who does the outreach?
  3. What's your source-map process, and can I see one from another client with the names redacted?
  4. Which engines do you track, on which tier, and how do you handle a model change like August's?
  5. What's the one business metric you'll report next to visibility, and where does it come from?
  6. Can I export every prompt, answer and citation you collect?
  7. What happens to the program when the engagement ends? Who owns the prompt set, the agents and the docs?
  8. Have you ever told a client that AEO wasn't the right spend for them?

A good answer to the last one exists. Some categories are dominated by .gov sources or by two incumbents the model names before it searches, and the right advice is to fix the fact pages, get on the review platforms, and put the rest of the money into brand.

The decision rule

Go in-house if you have, or can hire, one marketing engineer (Section 10), you have a product marketer who will maintain the fact pages, and you have someone in partnerships or PR who will work the source map. Buy a platform and run the program yourselves. Revenue doesn't decide this; what decides it is whether those three people exist and whether one of them will own the number.

Bring in outside help if you need the baseline and the source map built fast and don't have the person yet, or you need a surge of offsite work that your team can't staff, or you want a second opinion on positioning because the model keeps describing you wrong and your own team can't see it. Scope it with a transfer: the vendor leaves and your team runs the loop.

Don't buy anything in the line-item list above without a written explanation of how it produces a citation on a named prompt.

13. Measurement: what to track, what to ignore

The model I run has three parts. Visibility on a fixed prompt set is the leading indicator. One business metric, agreed at kickoff, is the outcome. The correlation between the two, reported monthly, is what earns the budget. Everything else is diagnostics.

The leading indicator, done properly

  • A fixed prompt set, 60 to 200 prompts, split across the five classes in Section 05, versioned. Adding prompts is fine; changing existing ones resets the baseline, so don't.

  • Put completed runs, distinct prompts and collection dates on every rate. Mention rate on 39 prompts from five runs is 195 answers; at that size the week-over-week noise is larger than most moves you'll see. Report the counts with the rate, keep an interval on the chart, and let the persona cohorts (Section 05) sit as separate lines rather than folding them in.

  • Run the full set weekly and a 20 to 30 prompt core daily, on the free tier of each engine, because that's what most buyers use, with the same locale and collection method every time; add the paid reasoning tier monthly so you see where the free tier is heading.

  • Report five separate things per engine, by prompt class, because they are different events:

    1. whether your brand appears in the initial background search (only where a tool exposes it; this is the 68.9% finding's own metric)
    2. mention rate on unbranded discovery and comparison prompts (are you in the consideration set)
    3. recommendation rate on the same prompts (does the answer pick you)
    4. owned-domain citation rate (does your site supply the evidence)
    5. description accuracy (is what it says correct)

    Never blend branded validation prompts into the discovery numbers.

  • Annotate model changes. GPT-5.6 Luna becoming the free default on August 8 moved everyone's numbers, and GPT-6 Sol and Luna shipped on September 22. If your chart doesn't have vertical lines on both dates, the trend is unreadable.

  • Track description accuracy separately. Once a week, ask each engine what your company does and who it's for, and score it against your approved one-liner. In the programs I've run, drift here has preceded conversion problems; I can't prove the lag, so I'd treat it as something to watch.

The business metric

Pick one. Signups, demo requests, qualified pipeline, or orders. Then make sure you can see AI-referred versions of it:

  • GA4: a custom channel group for AI referrers (chatgpt.com, chat.openai.com, perplexity.ai, copilot.microsoft.com, gemini.google.com, claude.ai, and whatever else shows up in your referrer report). Treat the result as a floor, because some AI-influenced visits arrive as Direct and no single measure recovers them all.

  • Self-reported attribution on the signup or demo form, with "ChatGPT / AI assistant" as an option. Self-reported attribution can identify AI influence among responding leads that referral tracking missed. Report it alongside identifiable AI referrals; neither captures the entire journey.

    They measure different things, a recorded referrer and a remembered influence, so dividing one by the other produces a number with no meaning. Where you can, reconcile at the lead level: which self-reported AI leads also carry an AI referrer, which don't, and what those visits looked like. The size of the unexplained gap is itself the finding.

  • CRM field for AI-influenced, set from either source, so pipeline and revenue can be cut by it.

  • Conversion rate of AI-referred sessions vs. site average, by landing page. This is where the Section 11 landing-page lesson becomes a number you can act on.

The free diagnostics you should already be reading

  • Bing Webmaster Tools, AI Performance Report: AI citations separated from search, plus the grounding queries Copilot generates. The closest thing to a fan-out console that exists.
  • Google Search Console: filter queries containing site: and watch impressions with near-zero clicks. Also watch for conversational prompts from AI Mode appearing as queries.
  • Server logs: OAI-SearchBot, PerplexityBot and Claude-SearchBot hits by URL, weekly (ClaudeBot and GPTBot are the training crawlers; log them separately). A request proves access, not retrieval for a buyer's question; use the log to confirm bots can reach the pages you care about, and the table below to keep the two apart.

What each observation proves. These get blurred in every AEO report I read, including my own early ones. Which pages you prioritize and what you claim your work achieved both depend on keeping them apart.

ObservationWhat you can concludeWhat you can't
A verified crawler requested a URL (server or edge logs)The crawler accessed that URLThat it was retrieved for any buyer's question, or used
A collection tool listed the URL among retrieved sourcesThat tool observed retrieval in that measured run, in that environmentThat it happens for real users, or that the page was read past the first passage
The answer linked to the URLThe URL was cited in that answerThat the cited passage supports the claim it's attached to (check it; Section 09)
A prospect arrived with an identifiable AI referrerAn attributable visit occurredHow many arrived without one
A customer says AI influenced the purchaseReported influence, subject to recallThat the influence was the answer rather than a colleague who used the answer

A report that says "ChatGPT retrieved our pricing page 400 times" from bot logs is reporting the first row and implying the third, and I'd send it back.

ChatGPT Ads, if you're running them

Ads Manager reports seven aggregate metrics and no prompt-level data, targeting is by context hints rather than keywords, and a share of clicks lands in GA4 as Direct. Set up the conversions API, use unique landing paths per campaign, and don't compare the CTR to search. Graphite's pooled 0.73% U.S. figure describes the market; your campaign will differ from it.

What to ignore

  • Raw citation counts with no prompt denominator.
  • "AI impressions" from any tool that won't show you the prompts behind them.
  • llms.txt requests. If they show up at all, they're not from the bots that cite you.
  • Share-of-voice changes across a model version boundary reported as if nothing happened.
  • Any conversion multiple from another company's category. Use your own 90-day number.

The monthly report, one page

  1. Visibility on the prompt set, by engine, with model-change annotations.
  2. Mention rate and recommendation rate on unbranded comparison prompts, vs. the top two competitors; initial-search inclusion where a tool exposes it.
  3. Description accuracy score.
  4. AI-referred business metric, GA4 floor and self-reported side by side, with the lead-level reconciliation note.
  5. AI-referred conversion rate vs. site average, by landing page.
  6. What shipped onsite, what moved offsite (source-map rows changed), what's next.

In my experience that is the amount of detail a CMO needs to fund the work and a CFO needs to trust the number.

14. The 90-day plan, and a skill you can run tonight

If you do nothing else from this guide, do the first 30 days. They cost no new tools, but they do cost time: figure a few days of engineering for the pricing and bot fixes, a week of product marketing for the fact pages, and an operator for the baseline and the listings. In the programs I've run, that is where the earliest gains come from.

Days 1 to 30: identity, facts, baseline

  • Write the prompt set (60+, split across the five classes in Section 05). Run it five times per engine. Log citations and fan-outs. This is your baseline; keep the export.
  • Read the site: targets in your fan-outs. Fix the domain problem if you have one. Add "Official" where it's true. Ship Organization schema with sameAs. Create or correct Wikidata if you qualify.
  • Audit robots.txt. Make sure OAI-SearchBot, PerplexityBot and Claude-SearchBot are allowed. Decide separately on GPTBot.
  • Run curl on your pricing, integrations and security pages. If the facts aren't in the HTML response, fix that before anything else.
  • Rewrite the first 150 words of every fact page in Section 06's table so it answers the question with numbers and dates.
  • Set up GA4 AI channel grouping, the self-reported attribution field, and the CRM flag. Pick the one business metric.
  • Build the source map from the baseline export. Complete and correct your review-platform profiles to match your site word for word.

Days 31 to 60: segment pages, comparisons, the loop

  • Ship a segment page for each segment in your fan-outs whose facts, pricing or criteria differ; segments with the same facts share one page. Ship one honest comparison page per top competitor.
  • Review each self-serving listicle for traffic, conversions, links and distinct intent; consolidate the ones that fail into one comparison hub and redirect them.
  • Stand up the weekly full run, the daily core run and the citation diff (Tier 1 in Section 10 is fine). Put the diff in Slack.
  • Start the review program with a standing ask in onboarding and QBRs.
  • Two current YouTube walkthroughs with full transcripts.
  • First publication pitch, to a domain that appears on 10+ of your prompts.
  • Turn on Bing's AI Performance Report and check it weekly.

Days 61 to 90: offsite, agents, the report

  • Work the source map every week: partner listings, review velocity, one pitch a week.
  • Add the description-accuracy check and fact-page freshness agent.
  • Re-run the full baseline. Compare against day one on mention rate, recommendation rate and owned-domain citation rate by prompt class and engine, with the August 8 and September 22 model changes annotated if your baseline predates them.
  • Produce the one-page report from Section 13. Take it to whoever owns budget with the AI-referred conversion rate next to the site average.
  • Decide in-house or outside help for 2027 using Section 12's rule, now that you know what the work is.

The 90-day decision: continue, change, or stop

I sell this work, so the question "when should we stop spending on it" is one I'd rather answer here than have you infer. At day 90, find the row below that matches your results and let that row, rather than the trend line, drive the decision.

What you see at day 90What it usually meansNext decision
Visibility up on the prompt set, no qualified business activityEither the prompts aren't the ones your buyers ask, the landing pages don't close, or your sales cycle is longer than 90 daysCheck demand (Prompt Volumes, sales-call language), buyer fit, landing pages and cycle length before expanding. Continue for one more measurement window only if you can name the specific unresolved hypothesis, the person accountable for testing it, and why the expected result justifies the cost.
Business activity up, visibility flatYou're being found on prompts you don't track, or attribution is catching a different channelAdd the untracked prompts (read the fan-outs and the self-reported field), fix attribution; don't force a causal story to justify the budget
No observable improvement despite verified execution (bots allowed, pages readable, listings fixed, source map worked)The category may be one where the model reaches for two incumbents before it searches, or the surfaces your buyers use aren't the ones you measuredAsk whether the bet still makes sense and what else the money could do. This is the box where I'd tell a client to cut the program to maintenance and put the money into brand or product.
Repeated gains on commercially relevant prompts, business metric moving with themEncouraging, and still correlation; the two moving together doesn't isolate causeExpand to adjacent prompts and segments with the same measurement discipline; don't expand the tool budget faster than the prompt set
  • Continue: both moving, as long as you keep reporting counts and don't claim the program caused the business result. Or visible with no business result, if you've diagnosed a fixable cause and named an owner.
  • Change direction: business up with visibility flat, or no improvement, once you have a specific finding.
  • Reduce spend: no improvement after a second verified 90 days, or any outcome where the person who owns the number has left and nobody replaced them.

This week, by role

The 90-day plan assumes someone is coordinating. If nobody is yet, this is what each person can do this week without waiting for anyone else.

RoleThis weekThe output
Marketing engineerRun the ten checks in Section 02; run the three curl commands from Section 06, part D against pricing, docs and security; export a week of edge logs filtered to OAI-SearchBot, PerplexityBot and Claude-SearchBot; set up the GA4 AI channel group from template C6 in the companionA one-page access report: which fact pages verified answer bots can and can't reach
Product marketerWrite the approved fact sheet from Section 09 (category, segment, three things you do, three you don't, pricing model, compliance); ask ChatGPT, Gemini, Perplexity and Claude what the company does and score the four answers against itThe fact sheet, and a list of every mismatch with the source each engine cited
Content or web leadTake the pricing page and the top segment page; rewrite the first 150 words to templates C1 and C2 in the companion; confirm the pricing table is server-renderedTwo pages the passage extractor can read, dated
Partnerships or PRPull 50 real buyer prompts from sales calls; run them five times in a fresh ChatGPT session; log every cited domain into the Section 07 source-map tableThe first source map, with a "you present?" column filled in
Customer successOpen the G2, Capterra or equivalent listings; fix category, pricing model and integrations to match the site word for word; add the review ask to onboarding week twoCorrected listings and a standing review process
Security or sales opsCheck the WAF for bot-challenge rules affecting answer bots; put the security and compliance facts (SOC 2 date, data residency, subprocessors) on a crawlable HTML page instead of a PDF behind a formOne page an agent buyer can verify
Whoever owns the numberPick the one business metric from Section 13; add "ChatGPT or another AI assistant" to the how-did-you-hear field; book the Tuesday diff review as a recurring meetingThe metric, the field, the meeting

None of those requires a tool purchase or an agency. Together they are most of the first 30 days.

The Claude skill

Most of the observation layer in Section 10 is a set of instructions, not a product: how to structure the prompt set, how to run it, how to diff citations, how to cluster fan-outs, how to keep the source map current, and what the weekly diff should say. That is exactly what a Claude skill is for, and it ships with this guide as a tested folder (SKILL.md, the diff script, sample prompt and run files, an example of its output, and version 0.1 of an open measurement spec so your numbers can be compared with anyone else's who uses it). Download the folder for Claude Code from the skill page: drop it in, point it at your prompt set and your tracker export, and it runs the loop and writes the Tuesday diff. It's free. If you improve it, send it back and I'll fold the improvements in.

Homework

Run the source map in Section 07 and send me the table at josh.grant@stackedgtm.ai with your domain names redacted if you like. I'll compile what the cited-domain mix looks like across categories and publish it. The 2026 guide was written from one company's data; I'd like the next version to draw on many more.

What you leave with

Every major section has a working file behind it, in the companion document and the resource kit that ships with this guide.

InstructionWhat you get
Build your prompt set (05)prompts-template.csv (blank), prompts-example.csv (Northwind, filled), and the inclusion and retirement rules
Find citation opportunities (07)source-map-example.csv and the URL-level row format, with prioritization scores from Section 08 in the workbook
Fix a fact page (06)The Northwind before-and-after in Section 11 and templates C1 to C3
Measure progress (13)AEO-measurement-workbook.xlsx: prompts, runs, weekly summary with the 3-of-5 rule, review flags, rates with cell sizes, business metric beside visibility; formulas, not pasted numbers
Hire an agency (12)Scope of work with acceptance criteria per workstream, the eight questions, and vendor-evaluation-scoresheet.xlsx
Run the weekly review (10)The Claude skill: SKILL.md, the diff script, sample inputs, expected output, troubleshooting, and the open measurement spec v0.1

The test for all of it is whether you can use it without booking a call. The pricing, segment and comparison page templates, the robots.txt and GA4 setups, the weekly diff format, the risk table, the notes on apps, MCP, product feeds and agent buyers, and every source cited above are in the companion document.