Skip to content
ConsultEvo

How to Run an AEO Competitor Analysis: A Measurement Guide

An AEO competitor analysis is a repeatable review of which brands, publishers, review sites, community sources, and other domains appear in answers to a defined set of prompts across specified answer products and modes. The practical method is to select representative questions, run each engine separately, preserve responses and cited URLs, distinguish mentions from citations, define every metric’s denominator, and investigate gaps before changing content.

The result is evidence about sampled answers. It is not a direct measure of buyer exposure, website visits, pipeline, or sales. A useful analysis begins with a decision, such as identifying comparison prompts without a first-party citation or finding third-party domains that recur across a topic cluster.

This guide treats AEO analysis as an auditable measurement workflow. It shows how to build a prompt set, capture engine-specific evidence, model the data, calculate defensible metrics, assess cited pages, and connect qualified observations to business reporting without claiming unsupported attribution.

What an AEO competitor analysis should tell you

Start with the operational question, not a visibility score. For example, you might ask which high-priority prompts produce no first-party citation, which sources recur across a product category, or whether a content change is associated with a later change in sampled answers.

AI answer products may synthesize information from retrieved sources and may display citations or supporting links. Retrieval and presentation vary by product, mode, query, locale, and date. Google describes query fan-out for AI Overviews and AI Mode and notes that responses and links can vary. OpenAI says ChatGPT Search may rewrite a prompt into targeted queries and cautions that citations can be incomplete, outdated, or incorrect.

Use citation analysis alongside traditional search analysis, not as a replacement for it. The observed competitor set may include direct rivals, publishers, review platforms, analyst sites, and community sources. Determine that set from the sampled answers rather than assuming it matches an SEO competitor list.

Build a prompt set that represents real customer questions

Collect candidate questions from keyword research, sales conversations, support requests, product documentation, and relevant search results. Group them by topic and intent, including category education, use-case fit, comparisons, pricing, support, and local or market-specific questions. Review customer-derived material for personal, confidential, or sensitive information before using it in an external answer product.

A small pilot can begin with a manageable set of priority prompts, but it is a diagnostic sample rather than a representative market estimate. Select prompts because they support a decision, then keep their exact wording stable when comparing periods.

  • Prompt identity: assign a stable prompt ID and version, and save the exact wording.
  • Context: record topic cluster, intent, market, language, locale, and the reason the prompt matters.
  • Approval: have a marketing or research owner approve the set. A privacy or data owner should review prompts derived from customer records.
  • Change control: record additions, removals, and wording changes as a new prompt-set version.

HubSpot’s AEO setup guide documents brand setup, name variants, competitor configuration, and prompt use in its product. Suggested competitors should be reviewed against the market and answers being studied.

Run engine-specific tests and preserve the evidence

Run each prompt separately in each selected product and mode. Save the exact prompt, timestamp and timezone, engine, model or mode when visible, locale, search or browsing state, raw response, and every cited URL. Record brands named without links separately from domains represented by cited URLs.

Classify citations as first-party, competitor-owned, publisher-owned, community-generated, or unknown using maintained domain rules where possible. Preserve failed runs, empty answers, and responses with no citations as distinct outcomes. Silently excluding them can distort a rate.

For Google AI features, eligibility still depends on being indexed and eligible to appear in Google Search with a snippet. Google says special schema for AI Overviews or AI Mode is not required. This technical eligibility check is separate from whether an answer product cites a page.

01Approve the prompt versionThe research owner records the prompt ID, exact wording, topic, intent, market, language, and locale. The active prompt-set version becomes the comparison boundary.
02Run and label each engineRun the prompt separately and record engine, model or mode, search state, timestamp, timezone, locale, and run status. Mark errors and no-citation answers explicitly.
03Preserve observations at their own grainSave the raw response, entity mentions, and citations as separate records. Retain original URLs as well as normalized URLs.
04Validate and route exceptionsApply deterministic checks for required fields, URL format, prompt membership, known domains, and duplicates. Route unknown entities, ambiguous citations, and extraction errors to the research owner.

Model the data before calculating visibility

Keep the measurement grain explicit:

  • One prompt definition is one versioned question.
  • One run is one execution of that prompt in a particular engine, model, mode, locale, and time.
  • One response is the answer returned for that run.
  • One mention is an entity occurrence in a response.
  • One citation is a cited URL occurrence in a response.
  • One reporting-period aggregate is a derived record, not another run or citation.

For an auditable internal design, use stable identifiers such as prompt_version_id, run_id, response_id, citation_id, and reporting_period_id. Keep raw runs, responses, mentions, and citations in a database or warehouse. Build dashboards from derived aggregates.

The following is a proposed internal schema, not a vendor export format. The run object identifies one execution. The citation object identifies one cited URL occurrence within one response.

{
  "run_record": {
    "run_id": "run_20261011_001",
    "prompt_version_id": "pv_014_v1",
    "engine": "ChatGPT Search",
    "model": "visible model label or null",
    "mode": "search enabled",
    "locale": "en-US",
    "timestamp": "2026-10-11T14:30:00Z",
    "response_id": "resp_001",
    "run_status": "success"
  },
  "citation_record": {
    "citation_id": "cit_001",
    "response_id": "resp_001",
    "original_url": "https://example.org/review",
    "normalized_url": "https://example.org/review",
    "citation_position": 1,
    "occurrence_index": 1,
    "domain_class": "publisher-owned"
  }
}

Do not deduplicate citations by URL alone. The same page cited in different responses, runs, positions, or surrounding claims represents different observations. A proposed citation uniqueness key is response_id + normalized_url + citation_position. If position is unstable, use an occurrence index. A run key should include the prompt version, engine, model when available, mode, locale, and timestamp. Aggregates should include reporting period, engine or model scope, topic cluster, and entity.

When concurrent processes can write records, enforce uniqueness in the database and use a transactional upsert or equivalent conflict handling. A lookup followed by an insert is not race-safe. Repeated daily runs can measure persistence, but they should not automatically be described as independent citation opportunities.

Define each metric’s numerator and denominator

Use successful eligible responses as the denominator for response-based rates, and state the prompt set, engine, mode, locale, period, and treatment of failures. A successful response with no citation remains eligible for mention rate and counts as not cited for a citation rate. An execution error is not a successful response and should be reported separately.

Metric Numerator Denominator Question answered
Mention rate Eligible responses naming the brand Successful eligible responses How often is the brand named?
First-party citation rate Eligible responses citing the brand’s domain Successful eligible responses How often is the brand site cited?
Citation share Brand citation records All citation records in scope What portion of observed citations belongs to the brand?
Cited-run rate Successful runs with a brand-domain citation Successful runs How often does a run produce that citation?

Answer share is not a universal formula. It might mean brand citations divided by all citations, responses mentioning the brand divided by all responses, or responses citing the brand domain divided by all responses. Name the definition in every report. HubSpot describes visibility and competitor share-of-voice reporting in its AEO product overview, but product-defined metrics are not industry standards.

Denominator check

A URL cited in ten responses creates ten citation observations but only one unique URL. Report citation records, unique sources, successful responses, and persistence across days as separate measures. Do not let repeated appearances masquerade as broad source coverage.

For repeated runs, useful persistence measures include cited days divided by eligible days, cited runs divided by successful runs, and unique cited URLs divided by successful runs. Report these separately by engine and model where possible.

Compare monitoring patterns without inventing integrations

Different collection methods answer different questions. The following compact design table describes an operating pattern, not a claim that the named products expose every field or workflow shown.

Trigger Bounded job Validation Destination or fallback
Priority question needs a benchmark Run the approved prompt manually and preserve response, mentions, and citations. Require prompt version, engine context, timestamp, locale, raw response, and run status. Auditable observation store and analysis sheet. Rerun incomplete captures.
Approved prompt set needs recurring checks Use HubSpot AEO’s vendor-described monitoring for selected prompts across ChatGPT, Perplexity, and Gemini. Review variants, suggested competitors, prompt coverage, and scope changes. HubSpot reporting where available. Verify exports, APIs, plan conditions, and raw evidence before designing a pipeline.
Leadership needs a one-time baseline Use HubSpot AI Search Grader as a snapshot of its reported dimensions. Record current platform and model description. Do not compare it with prompt-level citation rates. Baseline discussion only. Do not treat the result as traffic, conversion, or buyer-exposure evidence.
Qualified referral or self-report exists Store a separate CRM observation for answer-engine referral or self-reported discovery. Confirm source, consent, contact or account association, evidence type, and stable observation ID. CRM activity or linked observation store. Do not assign lead or deal source from visibility alone.

Manual testing is useful for defining the question and required evidence. HubSpot describes daily prompt checks and analysis of mentions, competitors, sentiment, citations, and recommendations for its AEO product. It describes the AI Search Grader as a one-time analysis with five dimensions. These are vendor-described behaviors and may change, so verify current documentation before selecting a workflow.

Before selecting a monitoring product, confirm current engine coverage, model or mode visibility, prompt limits, raw evidence access, export or API availability, pricing, and plan conditions. The reviewed HubSpot pages do not establish a public raw-observation API or export contract. CRM-informed prompt suggestions for certain Marketing Hub editions are not the same as a complete observation-to-revenue integration.

Diagnose the cited page before changing content

Open the cited URL and verify that it addresses the tested question. Record page type, publisher, relevant claim or passage, visible answer, and freshness when it matters. Then inspect coverage, clarity about entities and use cases, internal links, technical accessibility, and source context as diagnostic hypotheses, not proven citation factors.

Google’s structured data overview and structured data policies say markup should accurately represent visible content and that valid markup does not guarantee a Search appearance. Use structured data when it is accurate and appropriate for an eligible Search feature, not as a promised citation tactic. Google says special schema is not required for AI Overviews or AI Mode.

Review before approving a content action
  • Does the cited page actually answer the tested prompt?
  • Is the citation domain classified correctly, including third-party and community sources?
  • Is the relevant first-party page accessible and eligible for Google Search where that is part of the diagnosis?
  • Does the proposed change address a specific gap and have a named content or technical owner?
  • Will follow-up use the same prompt version and recorded engine context?

Use deterministic rules for URL normalization, domain allowlists, required fields, timestamps, prompt-set membership, reporting-period assignment, and duplicate detection. An AI classifier may help label page type or assess whether a response answers the question directly. Store its name and version, rubric, input response ID, result, confidence when available, and review status. Human review is appropriate for ambiguous citations, contradictory answers, low-confidence classifications, and consequential recommendations.

Separate visibility from business evidence

Keep five evidence levels distinct:

  1. Answer observation: a tracked response named the brand or cited a page.
  2. Answer-engine referral: analytics recorded a visit with an answer-engine referral source.
  3. Self-reported discovery: a person identified an answer engine in a form or sales conversation.
  4. Multi-touch association: qualified evidence can be connected to a known contact, account, campaign, or deal.
  5. Causal evidence: a credible experiment or longitudinal design supports an incremental effect.

A brand mention does not prove that a buyer saw the answer or that it caused a conversion. A proposed CRM design can store an append-only observation with an external observation ID, exact prompt, engine, timestamp, cited URL, evidence type, and reference to the raw evidence. Keep ai_visibility_observed, ai_owned_url_cited, ai_referral_detected, and ai_influence_self_reported as separate fields.

Use stable IDs and idempotent writes so replaying an event does not create duplicate activities. Confirm the evidence source and apply consent, retention, and access controls when prompt inputs or CRM records contain personal or sensitive information. This is an internal design, not a verified HubSpot AEO integration.

ConsultEvoCRM systems consultingRelevant for designing evidence governance, qualified reporting, and durable system boundaries around AI-influence data.

Set a review cadence and close the loop

A monthly review is a reasonable starting hypothesis, not a universal standard. Increase frequency when campaigns, product changes, prompt volatility, or competitive activity justify the cost. Keep prompt versions stable and log changes in engine, model, mode, locale, and collection method so a setup change is not mistaken for a visibility trend.

After an approved content or technical change, rerun the same eligible prompts under documented conditions. Compare run-level observations and aggregates, then record whether the evidence supports action, further testing, or no change. Describe before-and-after movement as an observed association unless the study design supports a causal conclusion.

Google Search Console reports AI-feature traffic within the Web search type. Its guidance does not describe a separate universal report that cleanly isolates every AI Overview or AI Mode impression and click. Use it as an overall search measurement source alongside qualified referral and self-report evidence.

The analysis is most useful when it ends with a decision: keep monitoring, investigate a recurring source, approve a targeted content change, or conclude that the sample does not yet justify action. Preserve the prompt set, run context, raw evidence, metric definitions, and owner’s decision so the next review can reproduce the comparison.

Use the evidence to choose the next action

  • Unanswered priority prompt: create or improve a page that directly addresses the question, then rerun the same prompt version.
  • Third-party citation without a first-party source: verify the claim and assess whether a suitable first-party page should cover it.
  • Repeated citation from one source: investigate the source and claim context, but do not treat repetition as broad market coverage.
  • Incorrect brand description: review entity clarity across relevant pages and route customer-facing changes through an owner.
  • Inconclusive sample: expand the prompt set or improve capture quality before approving a content or technical change.

For teams that need help verifying edition-specific HubSpot capabilities or designing a reliable operating workflow, HubSpot systems consulting may be relevant. Verify current product documentation and plan conditions before committing to a specific implementation.