Generative engine optimization (GEO) is the practice of measuring what AI answer engines say about a company and repairing the sources those engines read. How it differs from search engine optimization is compared point by point on GEO vs SEO, and the plain-language definition, with AEO beside it, is on What is GEO?
Most writing about generative engine optimization starts with a prediction about the death of search. This does not. It starts with a smaller and more useful claim: you can find out what an AI engine says about your company today, you can write it down in a form that survives an argument, and you can change the sources it is reading. Everything else in GEO is downstream of those three things.
The reason this is worth doing now is not that clicks are disappearing. It is that a category of buyer behavior became invisible to every dashboard a marketing team owns, and the teams that cannot see it are making budget decisions with a hole in the middle of the map.
The problem, stated precisely
A buyer opens an assistant and asks which companies to consider. The assistant returns a short list, usually with a sentence of reasoning attached to each name. The buyer forms a shortlist and, days later, arrives at a website by typing the name directly.
Three things about that sequence break conventional measurement:
- No referrer. The visit that eventually happens looks like direct traffic. Nothing in analytics connects it to the conversation that caused it.
- No impression. If you were not named, nothing happened at all from your side. There is no lost-click metric, no ranking that slipped, no error state. Absence is silent.
- No stable result. Ask again tomorrow and the answer may differ. The same question put to a different engine will frequently produce a different list.
The consequence is that a company can be losing a category inside AI answers for a full quarter while every metric on the dashboard looks normal, or even improves. The failure does not surface until pipeline does, and by then the cause is a year of accumulated absence rather than a campaign you can point at.
What the engine is actually doing
It helps to be concrete about the mechanism, because most GEO advice is written as though answer engines were search engines with a nicer interface.
When a modern assistant answers a commercial question, it generally does some combination of three things: it draws on what it internalized during training, it runs a live retrieval against the web, and it synthesizes the retrieved material into prose. The retrieval step is the part you can influence in weeks. The training step is the part you influence over years, and only indirectly.
Two consequences follow, and they are the whole game.
Citation is not ranking. A ranked list is ordered and long. A cited set is unordered and very short, frequently a handful of sources. Being the eleventh best result on a search page was worth something small. Being the eighth source in a set of seven is worth nothing. Presence in an answer behaves like a threshold, not a curve, which means incremental improvement produces no incremental return until it produces all of it at once.
The engine cites sources, not brands. This is the distinction most programs get wrong. An answer about your category is assembled out of documents: a trade publication, a comparison post, a forum thread, a documentation page, sometimes your own site and frequently not. Your brand appears in the answer because it appeared in those documents. Rewriting your homepage does not touch most of them.
Primary references and boundaries
These are the primary documents used for crawler-role boundaries in this method. They explain how the providers separate search discovery, user-requested retrieval and model-development controls. Allowing a crawler makes access possible; it does not guarantee indexing, inclusion in an answer, a citation or a recommendation.
- Google Search Central: AI features and your website explains that normal Search eligibility and controls also govern Google's AI search features.
- OpenAI: publishers and developers FAQ distinguishes the OAI-SearchBot search crawler from the GPTBot model-development crawler.
- Anthropic: web crawler controls documents ClaudeBot, Claude-User and Claude-SearchBot.
- Perplexity: crawler documentation distinguishes PerplexityBot from Perplexity-User.
Measurement is the hard part, not optimization
Here is the uncomfortable structure of this work: the optimization is largely familiar. Clear entity definitions, specific checkable claims, machine-readable structure, credible third-party presence. Competent teams have been doing versions of that for two decades.
What is genuinely new is that the feedback signal is bad. It is non-deterministic, it varies by engine, it varies by how the user's session is configured, and it cannot be read out of any tool you already own. A measurement design that ignores those properties will produce numbers that feel authoritative and mean nothing.
Four failure modes are worth naming because they are common and expensive.
Single-run sampling. One run of one prompt on one engine is an anecdote. The same prompt an hour later can return a different set. Any program built on single-run readings will spend its life chasing noise and attributing it to work.
Single-engine generalization. Engines diverge, sometimes dramatically, because they retrieve differently and weight sources differently. A number from one engine is a number about that engine.
API-versus-product drift. Measuring through a model's API is not the same as measuring what a person sees in the product. The consumer surface can carry retrieval settings, memory, routing, and system instructions the API call does not. A tool that reports your visibility from API calls is reporting something real and something different from your buyer's experience.
Mention rate as the only headline metric. A mention rate collapses the entire answer into one number and throws away the part that usually matters: what was actually said. Being named with a wrong price, a wrong category, or a competitor's capability attributed to you is worse than absence, because the buyer leaves with a specific false belief rather than no belief.
How do you measure GEO without fooling yourself?
The design below is deliberately unglamorous. It is what we run.
Answer share means mention rate within a declared sample. Its numerator is successfully captured answers that name the brand; its denominator is all successfully captured answers in that same sample. It does not measure market share. Count citations (a linked source), recommendations (an affirmative suggestion), and factual accuracy separately; a mention can be present while all three are absent.
A usable report states the exact prompt set, engine and model when known, consumer product or API surface, locale, account/session conditions, capture dates, and number of repeated runs. Report failed, blocked, or missing captures separately from completed answers that omit the brand. Show counts as well as percentages for each engine. If results are combined, disclose the prompt and engine weights and keep them fixed across comparisons; an aggregate must not hide an engine-level decline.
A before-and-after difference is an observation, not proof that the repair caused it. Prompt selection, engine updates, retrieval changes, and sampling variation can also change the result. The written engagement scope defines its KPIs. These definitions do not guarantee rankings, citations, or uplift.
- Start from real buyer questions, not keywords. Write the questions a buyer actually types, with the context they actually include. "Best malware protection" is a keyword. "I run security at a mid-size casino, which malware protection vendors should I look at and why" is a buyer prompt. The second one is what gets asked, and it retrieves a completely different set of sources.
- Fix the prompt set and keep it fixed. The value is in the delta over time. Changing the prompts between runs destroys the only comparison that matters.
- Repeat every prompt across engines and across days. Repetition converts a non-deterministic system into a distribution you can reason about. Two passes can expose variability; they do not establish a stable estimate. Choose and disclose repeat counts appropriate to the question, and treat small samples as exploratory.
- Capture, do not summarize. Screenshots with timestamps, raw answers kept on disk. A score is a claim; a capture is evidence. When somebody disputes the finding in six months, and they will, the capture is what settles it.
- Score presence and accuracy separately. Two columns: were you named, and was what was said about you correct. They fail independently and they need different repairs. The accuracy column, what was said and whether it matches the source of record, is the whole subject of AEO services.
- Record the sources, not just the outcome. The citation list is the actionable output of the whole exercise. It tells you which documents are constructing the answer in your category, which is where the repair work goes.
- Count engine failures as engine failures. An empty or errored response is not a miss. Mixing the two inflates or deflates the number depending on which way the engine was flaky that day.
- Disclose the sample size honestly. Small studies are useful and should be labeled small. Most published GEO research is demonstration scale, including ours.
What order should GEO repairs go in?
Order matters here more than completeness. Programs fail by starting at step four.
- Crawl access. Check what robots.txt, the CDN, and the bot-management rules currently allow. Blocking the wrong crawler removes you from the answers as well as from the training corpus, and those two decisions are usually made by different people in different meetings, often without either knowing the other happened. Every measurement downstream of a blocked path is meaningless. This is the first thing to check and the most commonly skipped. The check at optimize.suedeai.ai reports whether AI crawlers can read your site in about ten seconds, free, with no email.
- Entity clarity. The engine has to be able to say what you are in one sentence without hedging. If your own pages describe the company in positioning language rather than category language, you are asking a synthesis system to guess, and it will resolve the ambiguity by naming somebody less ambiguous.
- The sources the engine actually cites. This is where most of the budget should go and almost none of it does. Your citation list from the measurement step names the documents constructing your category's answer. Some are earnable through ordinary work: documentation, comparison pages, credible third-party records, active presence where practitioners actually discuss the category. Some are not earnable and should be treated as terrain rather than targets. Earning the ones that are is the AI PR agency lane.
- Machine-readable structure on your own surface. Schema and JSON-LD that match what the page actually says. An llms.txt that is maintained rather than generated once. Answer-shaped blocks that state a claim and then support it. This is real work with real returns, and it is fourth on the list, not first.
- Specific checkable claims. The strongest predictor we see of a page being cited is that it makes a claim a summary cannot flatten. Templated mid-funnel content summarizes perfectly, which is precisely why it stops earning anything. A page that says something specific, with a number or a mechanism attached, gives a synthesis engine a reason to quote rather than absorb.
What this does not do
Honesty about limits is part of the method, so:
- Engines change without notice. Retrieval behavior shifts without changelogs, so anyone promising a citation rate is quoting a number they do not control.
- Every report is point-in-time. A capture is evidence of what an engine said on a date. It is not a stable property of your brand.
- Small samples stay small. Demonstration-scale studies inform direction. They do not settle market questions, ours included.
- This is not a substitute for having something worth citing. The measurement finds the gap. It does not manufacture the substance that fills it.
How to start
You do not need a vendor to begin. Write ten questions your buyers actually ask, with real context in them. Run each one twice, on two different days, across whichever engines your buyers use. Screenshot every answer. Build two columns: were you named, and was it correct. Then list every source cited across all the answers and sort by frequency. If you would rather not set that up yet, the free AI citation check takes a first reading on four buyer questions.
That list is your roadmap. Most teams find it points somewhere they have never spent a dollar. The monthly version of that routine, written for a founder running it without a vendor, is Chapter 11, Measure Like an Operator, in the free book. If you would rather hand the routine and the repairs to a practice, the generative engine optimization agency page sets out what that engagement covers.
The short version
Generative engine optimization is the practice of measuring what AI answer engines say about a company and repairing the sources those engines read. It differs from search engine optimization in three ways: answers cite a very short set of sources rather than ranking a long list, so presence behaves as a threshold rather than a curve; the cited sources are frequently third-party documents rather than the company's own pages; and the measurement is non-deterministic, requiring repeated runs across engines with dated captures rather than a single reading. A working method fixes a set of real buyer prompts, runs them repeatedly across engines, captures raw answers with timestamps, scores presence and accuracy as separate columns, and records which sources were cited. Repair proceeds in order: crawl access, entity clarity, third-party sources, machine-readable structure, and specific checkable claims.
Jason Colapietro is the founder of Suede AI, which runs the SEO, AEO and GEO practice at seo.suedeai.ai. Every AI answer is a point-in-time capture of a third-party engine, and engine output changes without notice.