1. Purpose & Core Principle
The AEO (Answer Engine Optimization) tool measures whether a brand appears organically when real users ask AI assistants (ChatGPT, Gemini, Perplexity, etc.) discovery-style questions — exploring a category, comparing options, reading reviews, or searching locally. The governing constraint on the whole pipeline is that the brand name must never appear in a generated prompt. If it did, we would be testing whether the AI can recall a name we handed it, not whether the AI surfaces the brand unprompted. Every design choice below exists to protect that constraint while still keeping prompts realistic and category-correct.
2. Generation Pipeline
The pipeline runs the same way for every brand and location, which is what makes results comparable across the portfolio:
Figure 1 : Prompt generation pipeline (brand-level; location-level follows the same logic with a 40/60 local-to-broad split)
3. Methodology Detail
- Layer 1 — LLM-based enrichment: The brand’s homepage content, name, and URL are sent to an LLM that infers the business category and drafts natural-language, category-aware prompts covering comparison, review, alternative, purchase-intent, and local-intent phrasing. Brand-name exclusion is enforced at generation time, not just at filtering time.
- Layer 2 — Deterministic fallback: When LLM output is missing, too thin, or repetitive, rule-based category templates top up the set. This is a safety net, not the primary source — it only activates on shortfall, and it independently re-enforces brand-name exclusion and de-duplication.
- Merge & validate: Derived (LLM) prompts are prioritized first; empty items, duplicates, and any prompt containing the brand name are filtered out; fallback templates then top up the list until the enforced minimum (10 prompts) is reached.
- Location-level split: For a given location, the target is 10 prompts at roughly 40% local (e.g. “best [category] near [city]”) and 60% broader category prompts — 4 and 6 respectively. LLM generation with location context is attempted first, with local and brand templates topping up any shortfall independently.
- Custom prompts: Users can add brand- or location-specific prompts. These are stored alongside — never in place of the generated set. Brand reports combine generated + brand-custom prompts; location reports combine location-generated + location-custom + shared brand-custom prompts.
4. Quality Assurance Matrix
Each methodological requirement is mapped to a concrete enforcement mechanism, not just a stated intention:
|
Criterion |
Why It Matters |
How It’s Enforced |
|
Organic (not recall) measurement |
If the brand name appears in the prompt, we’re testing memory, not discoverability. |
Brand name is programmatically stripped from every generated prompt at both the LLM and template layers before storage. |
|
Realistic phrasing |
Keyword-style fragments don’t reflect how users actually query AI assistants. |
LLM is prompted specifically to produce natural-language, conversational queries; outputs are validated against this format before acceptance. |
|
Category relevance |
A generic prompt set understates or overstates visibility for niche categories. |
Category is inferred from live homepage content per brand, not assumed from a static list, so templates and LLM prompts stay category-aware. |
|
Intent coverage |
Visibility can vary sharply by intent (e.g. a brand may rank in reviews but not comparisons). |
Prompt generation is explicitly instructed to span comparison, review, alternative, transactional, and local intents. |
|
No single point of failure |
LLM calls can fail, time out, or return incomplete output. |
Deterministic templates automatically top up any shortfall so a minimum, valid prompt set is always produced. |
|
Stable sample size |
Variable prompt counts make period-over-period and brand-over-brand comparisons unreliable. |
A hard minimum (10 prompts per brand; 10 per location) is enforced after de-duplication and filtering. |
|
Reproducibility |
Ad-hoc or random prompts would make results impossible to audit or re-run. |
Final prompt sets are persisted in a prompt registry and reused across scoring runs rather than regenerated each time. |
