AI Search Competitor Monitoring Framework: Citation Share, Sentiment, Velocity
AI search citations are won by being the most useful, citable source for a query — not by ranking on a SERP. This framework defines the metrics, query basket, and reporting cadence needed to monitor competitor citation share, sentiment, velocity, and content mix across ChatGPT, Perplexity, Gemini, and AI Overviews.
TL;DR
Pick 5-10 competitors, build a representative query basket, run those queries weekly across the AI engines you care about, and record who is cited, with what sentiment, and how fast new entrants appear. Convert results into citation share, sentiment, and velocity metrics. Review weekly, plan monthly, decide quarterly.
Why monitor AI search competitors
In classic SEO, you watch SERP ranks. In AI search, you watch citations: which sources the AI quotes, links, or attributes. Competitors who never ranked on Google can suddenly dominate AI Overviews because their content is more citable. Without a monitoring framework, the team finds out late — usually when traffic shifts.
Step 1. Select competitors
Pick 5-10 competitors using three criteria:
- Direct competitors — same buyer, same product category.
- Content competitors — ranking for or being cited on your priority queries, even if not direct competitors.
- Authority benchmarks — high-authority sources the AI tends to quote (industry publications, vendor docs).
Freeze the list per quarter. Add new entrants only after they appear in two consecutive monthly reports.
Step 2. Build the query basket
A query basket is the fixed set of prompts you re-run every week.
- Top-of-funnel (~40%): "what is X", "X explained".
- Comparison (~25%): "X vs Y".
- How-to (~20%): "how to do X with Y".
- Buyer-intent (~15%): "best X for Y", "X pricing", "X review".
Target 30-60 queries per product line. Mix branded and unbranded; include long-tail queries that real prospects ask. Keep the basket stable for at least a quarter so trend lines mean something.
Step 3. Capture results
For each query on each engine, record:
- Cited sources (URL + display name).
- Citation position in the answer (top, middle, footer).
- Sentiment of the surrounding text toward each cited brand.
- Answer length and structure (is it a list, table, paragraph?).
- Timestamp and engine version (when available).
Manual capture works for small baskets; for larger ones, use an internal harness or a vendor tool that exposes the same prompts to each engine.
Step 4. Compute metrics
Citation share
citation_share(brand, engine, period) =
count(citations of brand in basket on engine in period) /
count(total citations across all brands in basket on engine in period)
Report per engine and aggregated. Track over time; the slope is more informative than the absolute number.
Sentiment
Classify the sentence(s) referencing each brand as positive, neutral, or negative. Compute net sentiment per brand per engine. Use a small classifier you can audit; do not rely on a black-box score.
Velocity
velocity(brand, period) =
citation_share(brand, period) - citation_share(brand, previous_period)
Velocity flags rising and declining sources before share leadership changes hands.
Content mix
For each cited URL, capture the section (definition, comparison, guide, case study, reference) and content type. Build a heatmap of which content types win in which engines.
Step 5. Action triggers
Define triggers in advance so the team reacts quickly:
| Trigger | Action |
|---|---|
| Competitor velocity > +5 pp in a month | Investigate the content gaining citations; queue a counter-piece |
| Own velocity < -3 pp in a month | Audit affected pages for freshness, citation readiness, schema |
| New competitor appears in 3 consecutive weeks | Add to tracked list; profile their content strategy |
| Negative sentiment > 20% of own citations | Review the cited content for misleading framing or missing context |
| Engine shift (e.g., share drops only on Perplexity) | Investigate engine-specific factors (llms.txt, sitemap, snippets) |
Thresholds are starting points; tune them per workload.
Step 6. Reporting cadence
| Cadence | Audience | Output |
|---|---|---|
| Weekly | Content team | Citation share + velocity by brand and engine |
| Monthly | Marketing leadership | Trends, action triggers fired, content-mix heatmap |
| Quarterly | Exec | Strategic moves: new competitors, engine bets, portfolio implications |
Always include the query basket diff in the monthly report so readers know exactly what changed in the inputs.
Dashboard schema
A minimal record per observation:
{
"observation_id": "obs_2026-W18_perplexity_q14",
"period": "2026-W18",
"engine": "perplexity",
"query_id": "q14",
"query_text": "what is answer grounding",
"answer_text": "...",
"answer_length_tokens": 312,
"citations": [
{"brand": "geodocs", "url": "https://geodocs.dev/aeo/what-is-answer-grounding", "position": 1, "sentiment": "positive"},
{"brand": "competitor_x", "url": "https://x.com/blog/grounding", "position": 2, "sentiment": "neutral"}
]
}Aggregate this table into citation-share, sentiment, and velocity views.
Sample weekly report
Week 2026-W18 — Strategy product line
Engines: ChatGPT, Perplexity, Gemini, AI Overviews
Queries run: 48
Citation share (geodocs): 18% (+2 pp wow)
Top mover: competitor_y (+4 pp on Perplexity)
Triggers fired:
- competitor_y velocity > +5 pp on Perplexity → investigation queued
Notes:
- 3 queries newly cite a YouTube transcript page; investigate VideoObject schema
Common pitfalls
- Letting the query basket drift week to week.
- Conflating brand mentions with citations; only counted citations have URLs.
- Treating engine snapshots as ground truth; engines vary by date, locale, and account.
- Ignoring negative-sentiment citations — they still drive perception.
- Reporting raw counts instead of share; the basket size dominates raw counts.
FAQ
Q: How many queries should I monitor?
30-60 per product line is a good starting point. Smaller baskets are noisy; larger ones are expensive to label and rarely change conclusions.
Q: How do I measure sentiment fairly?
Use a small, auditable classifier or human labels with a clear rubric. Avoid black-box scores you cannot interrogate when leadership pushes back.
Q: Which AI engines should I track?
Start with the engines your buyers use. ChatGPT, Perplexity, Gemini, and AI Overviews are the common baseline; add Claude or Copilot when your audience is there (Perplexity Hub; OpenAI search).
Q: How often should I refresh the query basket?
Quarterly. More frequent changes break trend comparisons. Track adds and removes in a basket changelog.
Q: How does this differ from rank tracking?
Rank tracking watches blue links on a SERP. AI search monitoring watches who is cited inside an AI answer. The two are correlated but not the same; some pages that never rank are cited heavily, and vice versa.
Related Articles
AEO Content Checklist
A 30-point AEO content checklist across five pillars (Answerability, Authority, Freshness, Structure, Entity Clarity) to make pages reliably AI-citable in 2026.
What Is AEO? Complete Guide to Answer Engine Optimization
AEO (Answer Engine Optimization) is the practice of structuring content so AI systems and answer engines can extract it as a direct, attributed answer.
What Is GEO? Generative Engine Optimization Defined
GEO (Generative Engine Optimization) is the practice of structuring content so AI search engines retrieve, understand, synthesize, and cite it in generated answers.