AI Citations to Your Website: Does Being Named Mean Linked?

AI citations to your website, measured: engines linked our site in 21 of 21 answers that named us, but linked big rivals in only 30% of theirs. What that means.

BugViso

13 min read

For a small brand, yes: in 21 of 21 unbranded answers that named our brand, the engine also cited our own website. For established brands, mostly no. The same engines cited a named competitor's own site in only 78 of 263 mentions (30%). Small brands get named because an engine read their page. Big brands get named from lists and from what the model already knows.

That difference decides what "AI citations to your website" means as a metric, and which of your pages matter. This post measures it per engine and per brand, shows which of our pages got cited and why, and gives you a script that runs the same audit on your own answers.

Data used: 35 unbranded buyer prompts × ChatGPT, Gemini, Perplexity and Claude × 2 runs on 2026-10-20 (280 answers with web search on), plus 15 branded prompts (120 answers) for the page analysis. Collected by BugViso's AI Visibility Tracker for bugviso.com against five anonymised competitors. A citation counts as "own site" when the cited URL is on the brand's registered domain.

Key Findings

1. Named small brand, always linked

EngineAnswers naming usOf those, citing our site
ChatGPT66
Gemini33
Perplexity1212
Claude00
All2121 (100%)

There wasn't a single case of an engine recommending our brand on an unbranded question without one of our pages in its sources. The engines didn't know us. They found us.

2. Named big brands, mostly not linked

BrandUnbranded mentionsOwn site citedLink rate
Competitor A712028%
Competitor B631625%
Competitor C521529%
Competitor D411332%
Competitor E361439%
All five2637830%

The five established competitors were named far more often than we were, and their own sites were cited on fewer than a third of those mentions. The rest of the time, the engine relied on someone else's page, or on nothing at all.

3. The split is by engine, not by brand

EngineCompetitor mentionsOwn site citedLink rate
ChatGPT322888%
Perplexity362981%
Gemini971111%
Claude981010%

ChatGPT and Perplexity behave like our brand's case: when they name a vendor, they usually cite the vendor. Gemini and Claude name vendors three times as often and almost never cite them. They recommend from roundups and from what the model already knows. Our Claude brand recommendations analysis traces how its list-seeking searches cause this.

4. Linked but not named happens too

Sometimes an engine cites a brand's site and doesn't name the brand:

BrandAnswers citing its site without naming it
Competitor B14
Competitor E12
BugViso9
Competitor C7
Competitor D1
Competitor A0

For us, 6 of the 9 were on Perplexity, where every search result is attached to the answer, and 3 on Claude, which used our blog posts as background reading and recommended other tools. For Competitors B and E, the cited pages were mostly their blog posts (19 of 27 and 9 of 12 citations), read for general advice. A citation without a mention is a sign the engine trusts your content. It isn't yet a recommendation.

Which Pages Engines Cite When They Name You

Across the 280 unbranded answers, engines cited our site 39 times on 15 different URLs:

Our pageUnbranded citationsTypical prompt
Pricing11Rollover, quotas above 300 scans, a $19 plan
Homepage7Pay-per-report, alternatives, small-agency tool
Agency audience page7White-label re-scans, branded PDFs for prospects
Blog posts (7 posts)9Hydration errors, WCAG tools, buyer guides
Feature pages3React hydration, white-label reports
Other pages2Developer use case

The pattern is direct: the page that holds the answer gets cited. Questions about scan quotas, rollover and plan prices were answered from the pricing page. Questions about agency workflows were answered from the agency page. Blog posts got cited on how-to questions, and 5 of their 9 citations came in answers that didn't name us.

On branded prompts the mix changes completely. Engines cited 90 different URLs on our site, and blog posts took 54% of those citations (279 of 516). Pricing (48) and the homepage (46) came next. When a buyer already knows the brand, engines read widely across the site, which is why consistent facts across every page matter. Our AI brand accuracy audit found that every factual error engines made about us came from pricing or plan details.

What Earns AI Citations to Your Website

The clearest example in our data is the rollover question: "which website audit tools let unused scans roll over to the next month". Our pricing page states the policy in one sentence:

text
Unused scans roll over for up to 60 days (capped at 2x monthly plan quota).

ChatGPT and Perplexity named us on this prompt in both runs. Three of those four answers cited the pricing page (the fourth cited the homepage), and all four restated that sentence almost word for word:

text
ChatGPT, run 1:     unused scans roll over for up to 60 days, capped at twice your monthly plan allowance
Perplexity, run 1:  unused audits roll over for up to 60 days, capped at twice your monthly quota

Gemini and Claude answered the same prompt in both runs without naming us. One Claude answer concluded: "I didn't find a mainstream SEO site audit tool that explicitly lets unused crawl allowances carry over." A page can only be quoted by an engine that reads it.

Three properties made the sentence citable, and you can check your own answering pages for them:

  1. It answers one question completely. The policy, the time limit and the cap fit in one sentence, so an engine can lift it without stitching fragments together.
  2. It uses the buyer's words. The prompt said "roll over", and so did the page. A page that said "credit carry-forward" would have matched the meaning but not the words, and engines search with words.
  3. It's in the HTML, not behind a toggle. The sentence is visible text on the pricing page, not a tooltip or a script-rendered tab.

Google's guidance on creating helpful, people-first content asks whether content "provide[s] a substantial, complete, or comprehensive description of the topic". For a buyer question, the fact that answers it is the topic.

Methodology

  • Mentions. Brand names, aliases and registered domains matched case-insensitively at word edges; each brand counts once per answer. This matches the production analyzer, which was checked against 24 hand-labelled answers.
  • Own-site citation. A cited URL whose registered domain equals the brand's (subdomains included). Redirect URIs from Gemini's grounding were resolved to the real URL before matching, as described in Google's grounding with Google Search docs.
  • Engines. ChatGPT (url_citation annotations), Gemini (grounding chunks), Perplexity (search results, attached without inline markers) and Claude (web_search_result_location citations from Anthropic's web search tool).
  • Competitors are anonymised as A–E, ordered by unbranded mentions. Third-party sites aren't named.

What It Means for Your Strategy

If you're a challenger, citation and mention are the same event. You'll be named only where an engine reads your page, so your pages have to answer the buyer's question in words an engine can lift: price, audience, limits, differentiators. Work on the pages that hold answers first (pricing, use-case and audience pages), not on the homepage tagline.

If you're an incumbent, you're named mostly without being linked. Your own pages matter less on Gemini and Claude than the roundups that list you. Your risk is that those third-party pages describe you inaccurately, and you can't fix that by editing your site.

For both, treat ChatGPT and Perplexity as the engines your own site can move, and Gemini and Claude as the engines that third-party coverage moves.

If your data shows…It meansDo this
Named and linked on ChatGPT/PerplexityYour pages answer the questionKeep those pages accurate and specific
Named, not linked (Gemini/Claude)You're on the lists they readCheck those lists say the right things about you
Linked, not namedYour content is trusted, but not as a vendorAdd a plain product statement to the cited page
NeitherEngines don't reach youFix crawl access, then get onto cited roundups

For the last row, start with the AI citation gap analysis: it lists the pages engines cite when they name rivals and not you.

The Script: Named vs Linked, per Brand and Engine

python
#!/usr/bin/env python3
"""When AI engines name a brand, do they link its site? Named-and-linked, named-only and
linked-only counts per brand and engine, plus which of your pages get cited.

Usage: python3 own_citation_audit.py answers.csv --brand Acme --domain acme.com \
         --competitor Globex --competitor-domain globex.com [...]
answers.csv columns: engine, answer, cited_urls (space-separated), branded (1/0; branded rows are skipped).
"""
import argparse, csv, re
from collections import Counter, defaultdict
from urllib.parse import urlparse

def main():
    ap = argparse.ArgumentParser()
    ap.add_argument("csv"); ap.add_argument("--brand", required=True); ap.add_argument("--domain", required=True)
    ap.add_argument("--competitor", action="append", default=[]); ap.add_argument("--competitor-domain", action="append", default=[])
    a = ap.parse_args()
    brands = {a.brand: a.domain.lower(), **{c: d.lower() for c, d in zip(a.competitor, a.competitor_domain)}}
    rx = {b: re.compile(r"(?<![\w-])" + re.escape(b) + r"(?![\w-])", re.I) for b in brands}
    t = defaultdict(lambda: Counter())  # (brand, engine) -> counts
    pages = Counter()
    for r in csv.DictReader(open(a.csv, newline="", encoding="utf-8")):
        if r.get("branded") == "1":
            continue
        urls = r["cited_urls"].split()
        for b, d in brands.items():
            mine = [u for u in urls if (urlparse(u).hostname or "").lower().removeprefix("www.").endswith(d)]
            named = bool(rx[b].search(r["answer"]))
            for key in ((b, r["engine"]), (b, "ALL")):
                t[key]["named"] += named
                t[key]["named+linked"] += named and bool(mine)
                t[key]["linked only"] += bool(mine) and not named
            if b == a.brand:
                pages.update(urlparse(u).path.rstrip("/") or "/" for u in mine)
    engines = sorted({e for _, e in t} - {"ALL"}) + ["ALL"]
    print("named -> linked (own site among the citations), unbranded answers")
    print(f"{'brand':<16}" + "".join(f"{e:>13}" for e in engines))
    for b in brands:
        print(f"{b:<16}" + "".join(f"{t[(b, e)]['named+linked']:>8}/{t[(b, e)]['named']:<4}" for e in engines))
    print(f"\nlinked but not named: " + ", ".join(f"{b} {t[(b, 'ALL')]['linked only']}" for b in brands))
    print(f"\n{a.brand} pages cited in unbranded answers:")
    for path, n in pages.most_common(15):
        print(f"  {n:>3}  {path}")

if __name__ == "__main__":
    main()
bash
python3 own_citation_audit.py answers.csv --brand "Acme" --domain acme.com \
  --competitor "Globex" --competitor-domain globex.com

On our export it prints the tables above: 21/21 for our brand, 20/71 for Competitor A, and our pricing page at the top of the cited pages. Note the domain match uses endswith, so acme.com also matches blog.acme.com. Pass the registered domain, not www..

How BugViso Measures Citations to Your Website

BugViso's AI Visibility Tracker stores every cited URL from every engine answer and types each domain: your site, a tracked competitor, or a review, forum, news, reference, directory or other source. Two numbers come out of that:

  • Citation coverage: the share of unbranded answers that cite your own domain, per engine. It's the C part (15%) of the 0–100 visibility index and a column in the engine scorecard, next to mention rate, so the named-vs-linked gap is visible per engine.
  • Own-site citations in the report headline, plus your most-cited own URLs, so you can see which pages engines rely on.

The same data feeds source gaps: domains cited in answers that name a competitor but not you, with the answers they were missed in. Gaps feed the "what to do" plan, which lists the third-party pages behind a rival's mentions and can draft an outreach email to each page's owner. The breakdown is on the AI visibility tracker page.

Limitations

One category, one brand. We measured website-audit software with one challenger and five incumbents. A category where the challenger already sits on the roundups may show different link rates.

API answers. Consumer apps may add personalisation and display sources differently. The pattern by engine is what to take away, not the exact percentages.

Small numbers for us. 21 named answers is a small sample. The 21 of 21 is still strong, because a single unlinked mention would have broken it. Its 95% Wilson interval runs from 84.5% to 100%.

Perplexity's lists are broad. Perplexity attaches its full search results, so "linked" there means "retrieved". See what Perplexity's 15 sources mean.

Frequently Asked Questions

It depends on the engine and on how known you are. Our small brand was linked in 21 of 21 unbranded mentions. Established competitors were linked in 30% of theirs: 88% on ChatGPT, 81% on Perplexity, about 10% on Gemini and Claude.

Which of my pages do AI engines cite?

The page that answers the question. Our pricing page was the most-cited page on unbranded prompts (11 citations), followed by the homepage and our agency page. Blog posts were cited mostly on how-to questions and on branded prompts.

Can AI cite my website without mentioning my brand?

Yes. It happened 9 times for us and 14 times for one competitor. Engines used those pages as background sources for general advice. Adding a plain statement of what you offer, for whom, to those pages helps turn a citation into a mention.

ChatGPT tends to name vendors whose pages it retrieved, and it cites them. Gemini names many more brands per answer, mostly from roundups and comparison pages, and cites those pages rather than the vendors' sites.

Is citation coverage a good AI visibility metric?

For a challenger, it tracks visibility closely, because being named requires being read. For an incumbent, it understates visibility, since most of its mentions come without a link. Always show it next to mention rate.

Make Your Answering Pages Quotable

A small brand gets named only where an engine reads its own page, so the pages that answer buyer questions decide your visibility. Check which of yours engines cite, and keep them specific and current, which is what BugViso's AI visibility tracking reports per engine after every run.

Found this useful? Share it.

See where your site stands

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