Alternatives Prompts in AI Search: Measuring Displacement

Alternatives prompts in AI search, measured: 'alternatives to X' answers still named X in 5 of 8 cases and us once. How to track displacement and head-to-heads.

· BugViso Team

13 min read

Alternatives prompts in AI search are buyer questions that name a competitor, such as "alternatives to X" or "you vs X", and they measure whether AI engines offer you as the replacement. They behave unlike any other prompt. On "alternatives to Competitor A", engines still named Competitor A in 5 of 8 answers and named us in 1. On head-to-head prompts, our own site supplied 47.7% of all citations.

Both results change how you should write, track and report competitor-named prompts. By the end of this post you'll know the two kinds of competitor-named prompt, what each one measures, how many to include, and the page that decides each one. A script splits your answers by kind and prints the displacement numbers.

Data used: 6 competitor-named prompts (1 "alternatives to" prompt and 5 head-to-head comparisons) from a 50-prompt set × ChatGPT, Gemini, Perplexity and Claude × 2 runs on 2026-10-20 (48 answers, web search on), collected by BugViso's AI Visibility Tracker for bugviso.com (website-audit software) against five anonymised competitors. Tools named in answers that aren't in the tracked set aren't named here.

Two Kinds of Competitor-Named Prompt

A competitor-named prompt either asks for a replacement or asks for a verdict, and the two measure different things.

KindExample from our setNames your brand?What it measuresCounts in the index?
Alternatives"alternatives to Competitor A that crawl in a real browser and write fixes with AI"NoWhether engines offer you when a buyer is leaving a rivalYes
Head-to-head"BugViso vs Competitor D for audit scan quotas and agency pricing"YesHow engines describe you against one named rivalNo (branded)

An alternatives prompt is an unbranded discovery question, so it counts toward visibility like any other. A head-to-head prompt names you, which makes it branded: the engine has to mention you, so it's reported separately and kept out of the visibility index. Our post on branded vs unbranded prompts explains why that split protects the score.

BugViso's default mix puts 10% of a set in head-to-head comparisons and caps unbranded prompts that name a competitor at the larger of 3 or 10% of discovery prompts. The cap exists for a reason: every prompt naming a rival tilts the set toward that rival's buyers.

"Alternatives to X" Answers Still Name X

Engines answered "alternatives to Competitor A" by describing Competitor A first, then listing tools mostly outside our tracked set. Here's the prompt across 8 answers:

MeasureAnswers
Named Competitor A (the rival being replaced)5 of 8
Named any other tracked competitor4 of 8
Named our brand1 of 8 (ChatGPT, run 1, listed first)
Cited our site1 of 8
Cited Competitor A's site0 of 8

Repeating the rival is natural: the answer has to say what the buyer is leaving. Gemini opened both of its answers with a paragraph on what Competitor A does and doesn't do, then moved on. What's notable is who came next. ChatGPT's and Gemini's four answers were built mostly around niche tools we don't track, including several AI-first crawlers. Competitor D, the tracked brand named most often as an alternative, appeared in 3 answers.

That's the displacement rate: the share of "alternatives to X" answers that name you as a replacement. Ours was 1 of 8. With 8 answers the confidence interval runs from about 2% to 47%, so the finding to act on isn't the rate, it's the pattern: engines don't pull alternatives from your tracked rivals, they pull them from whatever recent pages describe as alternatives.

💡 Practical check: read the full answers to your alternatives prompts, not just the tracked mentions. The untracked names that keep appearing are the competitors buyers actually hear about when they leave a rival. Add the recurring ones to your competitor list.

Head-to-Head Answers Lean on Your Own Site

When a prompt names both you and a rival, engines read your pages more than any other source. Across the 5 head-to-head prompts:

Prompt (masked)AnswersYou named firstThird tracked brand addedYour site citedRival's site cited
Us or Competitor B for white-label reports87185
Us vs Competitor A for JavaScript-heavy sites80086
Us vs Competitor C for AI search readiness88186
Us vs Competitor D for quotas and pricing87086
Is our product cheaper than Competitor E?88084
All head-to-heads403024027

Three patterns:

  1. Your site is always read. Every one of 40 answers cited our site, and our pages made up 47.7% of the 287 citations. The engines search the web for each answer and cite what they read, as OpenAI describes for its web search tool, so the pages they find first carry the answer. The rival's site was cited in 27. On a head-to-head, your comparison, pricing and feature pages are the main evidence.
  2. The category leader goes first regardless of prompt order. Engines kept the prompt's order in 30 of 40 answers, but led with Competitor A in all 8 of its comparisons. A well-known rival is described first, as the reference point.
  3. Engines stay on the two names. Only 2 of 40 answers, both from Claude, added a third tracked brand. A head-to-head is a contained question.

Sentiment followed the sources. Our brand scored higher than the named rival in 30 of 40 answers and lower in 10. That's not evidence that engines prefer us. It's what happens when nearly half the evidence is our own pages: the answer repeats how we describe ourselves.

What Each Kind of Prompt Is Good For

Use alternatives prompts to measure displacement, and head-to-heads to audit how engines describe you against a rival. Don't read either as a ranking.

  • Alternatives prompts answer "when a buyer leaves Competitor A, are we on the list?" That's a real market question with a real answer, and it moves with third-party coverage.
  • Head-to-head prompts answer "when a buyer has narrowed it to us and Competitor D, what does the engine say?" The answer depends heavily on your pages, so treat it as an accuracy and messaging check, not a popularity contest. The accuracy check matters most here: in our AI brand accuracy audit, the wrong facts engines stated about us were mostly prices and plans, exactly what head-to-heads ask about.

The trap is reporting head-to-head "wins" as visibility. Being named in 40 of 40 answers to prompts that contain your name proves nothing about visibility.

Keep competitor-named prompts to about one in ten of the set, spread across your main rivals. Our set had 6 of 50: 1 alternatives prompt and 5 head-to-heads, one per tracked rival.

Prompt kindOur setSuggested shareWhy
Discovery, no names34Most of the setMeasures visibility without leading the engine
Alternatives to a rival11 per main rival, up to the capMeasures displacement where buyers switch
Branded (your name only)10About 20%Measures how engines describe you
Head-to-head5About 10%Measures framing against each rival

One alternatives prompt was too few for us. With 8 answers per run pair, the displacement rate can't separate 1 in 8 from 3 in 8. If switching from a rival is a common way buyers find you, write one alternatives prompt per main rival. Each should carry a real reason to switch, as ours did ("crawl in a real browser and write fixes with AI"). How to phrase them is covered in buyer prompts for AI search.

The Pages That Decide Each Prompt

Alternatives answers are decided by third-party "alternatives to X" pages; head-to-head answers by your own comparison and pricing pages.

For alternatives prompts:

  1. Find the "alternatives to X" and "X vs" pages cited in those answers. They're the shortlist engines copy.
  2. Get onto them with an accurate one-line description of why someone leaving X would choose you.
  3. Publish your own "alternatives to X" page only if it's fair. Google's guidance on writing high-quality reviews asks for evidence, first-hand testing and the pros and cons of each option, and an engine reading a one-sided page has little reason to quote it.

For head-to-head prompts:

  1. Publish one comparison page per main rival, with current prices, limits and a plain statement of where the rival is the better choice.
  2. Keep plan names and prices in plain text, not only inside images or scripts.
  3. Re-check the rival's facts on your page every quarter. Engines read both sites in about two-thirds of head-to-head answers, and a stale claim about a rival shows up next to their current page.

Measure Competitor-Named Prompts Yourself

This script finds every prompt that names a tracked competitor, classifies it as head-to-head (names you too), alternatives (asks to replace the rival) or other, and prints, per prompt: answers naming the rival, naming you, naming you first, adding another tracked brand, citing your site and citing the rival's site. Standard library only.

python
#!/usr/bin/env python3
"""Competitor-named prompts ("alternatives to X", "you vs X"): does the answer name you,
repeat the rival, add other brands, and whose site does it cite?

Usage: python3 rival_prompts.py answers.csv --brand Acme=acme.com --competitor Globex=globex.com ...
answers.csv columns: engine, prompt, answer, cited_urls (space-separated).
"""
import argparse, csv, re
from collections import defaultdict
from urllib.parse import urlparse

ALT = re.compile(r"\b(alternatives?|instead of|replace|switch from|cheaper than|competitors? (?:to|of))\b", re.I)

def main():
    ap = argparse.ArgumentParser()
    ap.add_argument("csv"); ap.add_argument("--brand", required=True)
    ap.add_argument("--competitor", action="append", default=[])
    a = ap.parse_args()
    ents = dict(x.split("=", 1) for x in [a.brand, *a.competitor])  # name -> domain
    you = a.brand.split("=", 1)[0]
    rx = {n: re.compile(r"(?<![\w-])" + re.escape(n) + r"(?![\w-])", re.I) for n in ents}
    host = lambda u: (urlparse(u).hostname or "").lower().removeprefix("www.")
    cites = lambda urls, d: any(host(u) == d or host(u).endswith("." + d) for u in urls)
    groups = defaultdict(list)
    for r in csv.DictReader(open(a.csv, newline="", encoding="utf-8")):
        named = [n for n in ents if n != you and rx[n].search(r["prompt"])]
        if not named:
            continue
        kind = "head-to-head" if rx[you].search(r["prompt"]) else ("alternatives" if ALT.search(r["prompt"]) else "names a rival")
        groups[(kind, r["prompt"], named[0])].append(r)
    for (kind, prompt, rival), rs in sorted(groups.items()):
        n = len(rs)
        stat = defaultdict(int)
        for r in rs:
            t, urls = r["answer"], r["cited_urls"].split()
            order = sorted((m.start(), x) for x, p in rx.items() if (m := p.search(t)))
            stat["rival named"] += bool(rx[rival].search(t))
            stat["you named"] += bool(rx[you].search(t))
            stat["you first"] += bool(order) and order[0][1] == you
            stat["other tracked"] += any(x not in (you, rival) for _, x in order)
            stat["your site cited"] += cites(urls, ents[you])
            stat["rival site cited"] += cites(urls, ents[rival])
        print(f"[{kind}] {prompt[:80]}  ({n} answers, rival: {rival})")
        print("   " + " | ".join(f"{k} {v}/{n}" for k, v in stat.items()))

if __name__ == "__main__":
    main()
bash
python3 rival_prompts.py answers.csv --brand BugViso=bugviso.com \
  --competitor "Competitor A=competitor-a.example" --competitor "Competitor D=competitor-d.example"

On our export, the alternatives line reads rival named 5/8 | you named 1/8 | you first 1/8 | other tracked 4/8 | your site cited 1/8 | rival site cited 0/8, and the five head-to-head lines sum to the table above. Needs Python 3.9 or later.

How BugViso Tracks Alternatives and Head-to-Head Prompts

BugViso's AI Visibility Tracker labels every prompt as discovery, branded or comparison. Prompts you add are classified from the names they contain: one that names your brand and a competitor becomes a comparison, and one that names only a competitor stays discovery and counts toward visibility. Drafted sets follow the default mix (about 70% discovery, 20% branded, 10% comparison) and cap unbranded prompts that name a competitor, so the set doesn't drift toward one rival's buyers.

Comparison and branded answers are reported in the branded split, with sentiment and the accuracy check of what engines claim about you. Discovery answers, including alternatives prompts, feed the visibility index and the prompt table, which shows for every question who appeared instead of you. When you lose comparison questions to a named rival, the action plan includes a play to win them and can draft a comparison page from your site's facts. The prompt kinds are described on the AI visibility tracker page.

Mistakes With Competitor-Named Prompts

Counting head-to-heads as visibility. A 100% mention rate on prompts with your name in them is a tautology. Keep them out of the headline.

Writing alternatives prompts for rivals nobody leaves. "Alternatives to a tiny vendor" measures nothing buyers ask. Pick the rivals your customers actually switch from.

Ignoring the untracked names. The tools engines list as alternatives are a market map. If the same untracked name keeps appearing, track it.

Reading sentiment wins on head-to-heads as preference. When your own pages are half the citations, the engine repeats your framing. Check the claims for accuracy instead.

Frequently Asked Questions

What are alternatives prompts in AI visibility tracking?

They're buyer questions that ask for a replacement for a named competitor, such as "alternatives to X for agencies". They measure displacement: whether engines offer your brand to a buyer leaving that rival. They count toward visibility because they don't name you.

Do ChatGPT and other AI engines mention the competitor in "alternatives to X" answers?

Usually. In our data, 5 of 8 answers to "alternatives to Competitor A" named Competitor A, mostly to explain what the buyer is moving away from, before listing the alternatives.

Should comparison prompts count toward my AI visibility score?

No. A prompt that names your brand forces a mention, so it says nothing about visibility. Report comparison answers separately, as a check on how engines describe you against each rival and whether their facts are right.

Get onto the third-party "alternatives to X" and "X vs" pages cited in those answers, with a clear reason to switch. Engines in our data built alternatives lists from those pages, not from the vendors' own sites.

Which sources do AI engines use for "X vs Y" questions?

Mostly the two vendors' own sites. In our 40 head-to-head answers, our site was cited in all 40 and the rival's in 27, and our pages made up 47.7% of all citations. Keep your comparison and pricing pages accurate.

Track Displacement, Audit Head-to-Heads

Write one alternatives prompt per rival buyers actually leave, keep head-to-heads out of the visibility headline, and treat the head-to-head answers as a check on the comparison and pricing pages engines read most. BugViso's AI visibility tracking separates both kinds automatically and shows who appears instead of you on every competitor-named question.

Written by

· BugViso Team

Kazi writes BugViso’s guides on website audits, Core Web Vitals, technical SEO, accessibility and AI search. The data in them comes from audits BugViso runs in a real Chromium browser, including our 219-site study of website health.

Found this useful? Share it.

Summarise with AI

Open this guide in your assistant.

Follow BugViso

New guides and audit data as we publish them.

See where your site stands

Run a free BugViso audit for SEO, speed, accessibility and AI search readiness — with fixes you can ship today.