# How to Reverse-Engineer a Competitor's GEO

**Author:** John Morabito (Founder, /winston)
**Published:** June 14, 2026
**Reading time:** 12 minutes
**Canonical:** https://www.winstondigitalmarketing.com/playbooks/reverse-engineering-competitor-geo/

If a competitor keeps getting named in ChatGPT and Perplexity answers while you do not, the reason is knowable. Run the same prompts they win, follow the citations the engines actually pull, read the pages and the entity signals behind them, and the gap list writes itself. Here is the repeatable method.

To reverse-engineer a competitor's GEO, run the same buyer prompt set through ChatGPT, Perplexity, and Google AI Mode, log who gets cited or named in each answer, then open the cited sources for every answer the competitor wins and record the exact URLs the engines pull. Read those winning pages for structure, schema, and entity signals, compare them to yours, and the citation gaps become a prioritized plan.

## Why this works at all

AI engines do not rank ten blue links. They assemble an answer and cite the sources they used to build it. That is the whole opening: unlike classic search, where you have to guess at a ranking algorithm, the engines show their work. Perplexity and Google AI Mode list their sources inline. ChatGPT names brands and, with browsing, links them. When a competitor wins an answer, the engine is telling you which pages and which third-party sources earned that win. Reverse-engineering GEO is mostly the discipline of reading that trail carefully and writing down what you see.

The mental model matters here. You are not trying to copy a competitor's article. You are trying to understand why the engine trusts their sources, because trust is what you have to match or beat. This is the same reason GEO is not SEO: the work that earns a citation is structural and entity-level, not a keyword you sprinkle in. https://www.winstondigitalmarketing.com/playbooks/geo-is-not-seo/

## Step 1: build the prompt set they are winning

Everything starts with the prompts. You need the real questions your buyers ask an AI engine at each stage: the category questions ("best X for Y"), the comparison questions ("X vs competitor"), the "is X any good" reputation questions, and the how-to questions your product answers. Thirty to fifty prompts is enough for a first pass; a few hundred is a program. If you already have a tracking prompt set, reuse it. If you do not, the full method for generating one is in keyword and prompt research for GEO. https://www.winstondigitalmarketing.com/playbooks/keyword-and-prompt-research-for-geo/

Two rules keep this honest. First, write the prompts the way a buyer actually types them, not the way a marketer wishes they would. Second, include the prompts where you already suspect the competitor wins. Confirming a hunch is fine; the point is to find out precisely why.

## Step 2: run the prompts and log who wins each answer

Run every prompt through at least ChatGPT, Perplexity, and Google AI Mode. Add Gemini and Google AI Overviews if the category warrants it. For each answer, log one row in a sheet: the prompt, the engine, whether your brand was named, whether the competitor was named, and which brand the answer effectively recommended. That last column is the one that stings and the one that matters.

A few practical notes. Run each prompt in a fresh session so a previous answer does not contaminate the next. Answers vary run to run, so a prompt the competitor wins twice out of three times still counts as a loss for you. And capture the raw answer text, not just the verdict, because you will need it in the next step. This win-logging is the same instrument behind citation share, the metric that replaced rankings: across your prompt set, how often are you the cited source versus the competitor. https://www.winstondigitalmarketing.com/playbooks/citation-share-replaces-rankings/

## Step 3: follow the citations to the exact source pages

Now the reverse-engineering proper. For every answer the competitor wins, open the sources the engine cited and record the exact URLs. Perplexity and AI Mode make this easy; for ChatGPT, ask it directly which sources support the claim. You are looking for the three source types engines lean on:

- **The competitor's own pages.** Which specific URL got pulled: a product page, a comparison page, a blog post, a pricing page. Note the page type, because the pattern repeats.
- **Reddit threads.** Engines cite Reddit constantly for comparison and reputation queries. Log the exact thread and what was said, because a thread where the competitor is praised is a very different situation from a neutral one you can also join.
- **Third-party listicles and roundups.** The "best X" articles on industry and review sites. Note which domains they are and whether the competitor is on a list you are absent from.

By the end of this step you have a source map: for each lost prompt, the URLs that beat you. This is the raw material for everything downstream. If you are building this at any scale, the pipeline for capturing citations across engines and pulling the Reddit and listicle sources is written up in how to build an AI visibility dashboard. https://www.winstondigitalmarketing.com/playbooks/how-to-build-an-ai-visibility-dashboard/

## Step 4: read the winning pages for structure and answer format

Open the competitor pages the engines cited and read them the way an engine does. You are looking for why this page was liftable:

- **Answer-first structure.** Does each section answer one question completely in a tight, self-contained chunk the engine can lift whole? Cited pages almost always do.
- **Direct claims and specifics.** Published numbers, ranges, named comparisons, and concrete steps get cited; vague brochure copy does not.
- **Question-shaped headings.** H2s that match the buyer's actual question map cleanly onto the engine's answer.

Put your equivalent page next to theirs and the format gap is usually obvious. Often the competitor is not a better writer; they simply structured the page so an engine could quote it. The rubric for what makes a page liftable is in how to get cited by ChatGPT in 2026. https://www.winstondigitalmarketing.com/playbooks/how-to-get-cited-by-chatgpt-in-2026/

## Step 5: read their schema and entity footprint

This is the layer most competitive audits skip, and it is often the real reason a competitor wins. AI engines cite entities they can verify. View the source of the competitor's winning pages and look at their structured data: is there a connected Organization and Person graph with stable @id references, FAQPage markup on the answer pages, sameAs links to the profiles the engines already trust. Then look off their site: what does their Wikipedia, LinkedIn, Crunchbase, and industry-directory presence look like, and how consistent is their name, category, and description across all of it.

A competitor with a clean, connected entity graph and a consistent off-site footprint is verifiable in a way a competitor with floating schema fragments is not. That verifiability is a citation advantage you can read directly and then close on your own site.

| What you observe | What it tells you | The gap to take |
| --- | --- | --- |
| Competitor's own page cited, and it is thin | Easy to out-answer | Publish a better-structured, more specific page |
| Reddit thread cited | Community trust, not their page | Contribute honestly to the conversation |
| Third-party listicle cited | Earned placement you lack | Pitch for a spot or earn the mention |
| Connected schema and clean entity graph | They are verifiable, you may not be | Close your schema and off-site gaps |
| Old high-authority domain cited | Slow, expensive to displace | Deprioritize; win the reachable prompts first |

## Step 6: turn the gaps into a prioritized plan

You now have, per lost prompt, why the competitor won and which source did it. Score each gap on two axes: buyer value (how much does winning this prompt matter to revenue) and reachability (how easily can you match or beat the winning source). A high-value prompt where the engine cites a weak competitor page is the top of your list. A high-value prompt where the engine cites a fifteen-year-old authority domain is a real but slower play. Low-value prompts, whoever wins them, wait.

The plan that falls out tends to sort into three workstreams: pages to build or restructure so they out-answer the cited competitor page, entity and schema fixes so you become as verifiable as they are, and off-site work to earn presence on the Reddit threads and listicles the engines already pull. Sequence by the score. Re-run the prompt set on a schedule so you can watch your citation share move on the exact prompts you targeted.

The honest limit: nobody controls what an AI engine names at inference time. Reverse-engineering tells you why a competitor is winning and gives you a real, prioritized set of levers, but it is not a guarantee of a specific citation. Treat the output as a ranked bet list, measure the movement, and keep the prompts you have not cracked yet on the board. This is the same discipline behind our [generative engine optimization service](https://www.winstondigitalmarketing.com/services/generative-engine-optimization/), which opens with exactly this competitive read.

## Where this fits

Reverse-engineering a competitor is the competitive-intelligence front of a larger GEO program. The measurement instrument it feeds is citation share, the way to visualize the whole answer space for a client is the AI visibility dashboard, and if you are evaluating who should run this work, the buyer's checklist is how to choose a GEO agency.

- Citation share: https://www.winstondigitalmarketing.com/playbooks/citation-share-replaces-rankings/
- AI visibility dashboard: https://www.winstondigitalmarketing.com/playbooks/how-to-build-an-ai-visibility-dashboard/
- How to choose a GEO agency: https://www.winstondigitalmarketing.com/playbooks/how-to-choose-a-geo-agency/

## Frequently asked questions

**How do you reverse-engineer a competitor's GEO?**
Run the same buyer prompt set your competitor is winning through ChatGPT, Perplexity, and Google AI Mode, and log who gets cited or named in each answer. For every answer the competitor wins, open the cited sources and record the exact URLs the engines pull: their own pages, Reddit threads, and third-party listicles. Then analyze those winning pages for structure, schema, and entity signals, compare them to yours, and write down the gaps. The gaps are the plan.

**What tools do you need to reverse-engineer competitor AI citations?**
At minimum you need the AI engines themselves (ChatGPT, Perplexity, Google AI Mode and AI Overviews) and a spreadsheet to log who wins each prompt and which URLs get cited. Perplexity and AI Mode show their sources directly, which makes the citation trail easy to capture. To scale past a few dozen prompts, a tracking platform that polls the engines on a schedule saves the manual runs, and a schema validator plus a crawler help you read the competitor's entity footprint. The method works with nothing but the engines and a sheet; the tools just make it faster.

**How do you find a citation gap you can actually take?**
A takeable gap is a prompt where the competitor is cited from a source you can match or beat: a thin page you can out-answer, a Reddit thread you can legitimately contribute to, or a third-party listicle you can earn a spot on. Score each losing prompt by buyer value and by how reachable the winning source is. A high-value prompt where the engine cites a weak competitor page is the easiest win. A prompt where the engine cites a fifteen-year-old authority domain is a slower, lower-priority play.

**Is reverse-engineering a competitor's GEO the same as copying their content?**
No. You are studying why the engines trust their sources, not duplicating their pages. Copying a competitor's article gives the engine a second, later, weaker version of a source it already cites. The work that actually moves your citation share is structural: match the answer format the engine rewards, close the schema and entity gaps that make the competitor verifiable, and earn presence on the third-party sources the engine already pulls. You are reverse-engineering the trust signals, not the prose.

**How long does it take to reverse-engineer a competitor's GEO?**
A focused pass on 30 to 50 buyer prompts across three engines takes a day or two: a few hours to run the prompts and log winners, a few hours to open the cited sources and read the winning pages, and a few hours to write the gap list. Scaling to a few hundred prompts is more of an engineering job and benefits from automation. Most of the value shows up in the first pass, because the pattern of why a competitor wins tends to repeat across their whole prompt set.

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