Get Started
View .md

How QuickSEO measures AI Visibility

Every metric you see in QuickSEO follows a published formula. The same formula is applied to your brand and to every tracked competitor — that's what makes the leaderboard comparable.

The five metrics

QuickSEO surfaces five numbers per brand. Each answers a different question.

MetricWhat it answersRange
Visibility (Mention Rate)How often is this brand named in AI answers?0–100%
Citation RateHow often is this brand's domain cited as a source?0–100%
Share of VoiceWhat share of all tracked-brand mentions belong to this brand?0–100%
Sentiment (NSS)When mentioned, is this brand framed positively or negatively?−100 to +100
PositionWhen an answer ranks brands in a list, where does this one land?1 and up — lower is better

Visibility — the headline metric

Visibility = (prompts where brand is mentioned in the answer / total prompts) × 100

A brand is "mentioned" when its name (or any tracked alias) appears in the AI's answer text. We use an LLM to detect mentions — string matching alone misses paraphrases and pluralizations.

Worked example. You run 200 prompts × 4 platforms = 800 prompt runs in the last 30 days. The AI mentions your brand by name in 264 of those runs.

Visibility = (264 / 800) × 100 = 33.0%

The same formula is applied to every tracked competitor. If Salesforce is named in 432 of the 800 runs, Salesforce's Visibility is 54.0% — directly comparable to yours on the same denominator.

Why this is the headline. It's the most-used metric across the industry (Peec, Otterly, Profound, Trakkr all use this definition). It is absolute: adding or removing a competitor doesn't change your Visibility number. It moves only when the AI itself changes what it says about you.

Citation Rate — the source signal

Citation Rate = (prompts where the brand's domain appears as a source URL / total prompts) × 100

"Cited" is stricter than "mentioned". A brand is cited when one of its URLs (root domain or any subdomain) appears in the AI's source list for the answer — not just when its name is dropped in prose.

Worked example. Across the same 800 prompt runs, Salesforce.com appears in the source list of 144 runs.

Citation Rate = (144 / 800) × 100 = 18.0%

What it tells you. Citation Rate tracks whether AI is actually reading your content versus repeating reputational knowledge it already has. A brand can be highly mentioned without being cited (AI knows the name from training data) or highly cited without being mentioned (AI uses the content but credits a category instead of the brand). Both gaps suggest different fixes.

Citation Rate uses the same denominator as Visibility, so the two numbers sit on the same scale.

Share of Voice — the competitive lens

Share of Voice = (mentions_for_brand / sum of mentions across all tracked brands) × 100

Where Visibility is absolute, Share of Voice is relative. It answers: of the AI-mention pie shared by you and your tracked competitors, what slice belongs to you?

SoV is rendered as a dedicated column in the in-product leaderboard, immediately to the right of Visibility, so you can read absolute reach and competitive share on a single row.

Worked example. Across 800 prompt runs in the last 30 days, the LLM-detected mention counts are:

  • You: 264 mentions
  • Salesforce: 432 mentions
  • HubSpot: 198 mentions
  • Pipedrive: 106 mentions

Your SoV = (264 / (264 + 432 + 198 + 106)) × 100 = (264 / 1000) × 100 = 26.4%

Salesforce's SoV is 43.2%, HubSpot's is 19.8%, Pipedrive's is 10.6%. The four rows sum to 100% (small rounding deltas of ±0.1% are expected — each row is rounded to one decimal before display).

Watch out. Share of Voice depends entirely on which competitors you've tracked. Adding a heavyweight competitor drops everyone's SoV without anything actually changing in reality. We surface SoV alongside Visibility, not as a replacement — Visibility is the truer measure of how AI sees your brand. SoV is the marketing-friendly framing that's easier to digest in board reports.

Edge case. If none of the tracked brands are mentioned in any prompt run in the window, every row's SoV is 0% (we never divide by zero).

Sentiment — Net Sentiment Score

NSS = ((positive mentions − negative mentions) / total mentions) × 100

For every mention, the same LLM that detects the mention also classifies the sentiment toward the brand as positive, neutral, or negative. NSS combines those into a single number from −100 (universally negative) to +100 (universally positive).

Worked example. Of your 264 mentions:

  • Positive: 178
  • Neutral: 71
  • Negative: 15

NSS = ((178 − 15) / 264) × 100 = 61.7

NSS is reported alongside Visibility, never folded into it. A brand can be highly visible and negatively framed — that's an actionable finding, and merging the two numbers would hide it.

Position — where you land in a ranked answer

Position = average rank of this brand across the answers that ranked it in a list

Some AI answers rank brands explicitly — "1. Salesforce, 2. HubSpot, 3. Pipedrive". When they do, the same LLM parse that detects the mention also records the brand's 1-indexed place in that list. Position is the average of those places, so #1 is first and lower is better.

Worked example. Your brand is mentioned in 264 runs. In 84 of those answers the AI ranked brands in a list: 20 placed you 1st, 40 placed you 2nd, and 24 placed you 4th.

Position = ((20 × 1) + (40 × 2) + (24 × 4)) / 84 = 196 / 84 = 2.3

What it leaves out. The other 180 mentions were prose with no ranked list. Those carry no position at all and are not averaged in. So Position describes only the answers that ranked the brand — never all of its mentions — and it is always averaged over fewer answers than Visibility counts.

When there is no number. If nothing in the window ranked the brand, we show rather than a number. We never substitute last place, and we never treat "mentioned in prose" as a low rank.

Position is the one metric here without a shared denominator, which is exactly why we don't fold it into Visibility: two brands' Position numbers can rest on very different numbers of ranked answers. Read it next to Visibility, not instead of it.

Per-platform breakdown

Every metric is also broken down per platform (ChatGPT, Claude, Gemini, Perplexity, plus AI Overviews where supported). The rolled-up Visibility on your dashboard is computed from the union of platform runs; per-platform Visibility uses each platform's runs as its own denominator.

This matters because each platform reads the web differently. You might be cited 40% of the time by Perplexity (which heavily uses external sources) and only 8% of the time by ChatGPT (which leans more on training-time knowledge). Averaging hides the divergence.

How we count "mentioned" and "cited"

Both signals come from the same LLM parse call that QuickSEO runs against every AI answer:

  • Mentioned — the LLM looks for the brand name, optionally extended by aliases you can configure on the site settings page. It catches simple paraphrases ("Salesforce" / "SFDC" / "salesforce.com") and the boundary cases where a brand is named but never linked.
  • Cited — the AI platform itself returns a list of source URLs alongside the answer. We normalize each URL to its root domain (e.g. help.salesforce.comsalesforce.com) and count one citation per (prompt run × domain) pair.

For competitors, the same LLM call processes every tracked competitor's name in a single pass — so the cost of adding more competitors to your tracking list is bounded, not linear.

Choosing prompts that produce stable numbers

These metrics get noisy on very small samples. As a rule of thumb:

  • 20 or fewer prompts per platform per week: trend with care, single-week swings can be sampling noise.
  • 50–100 prompts: stable enough for week-over-week tracking.
  • 100+ prompts: stable enough for daily monitoring.

If your prompt count is below the comfort zone, QuickSEO surfaces a "low sample" warning on the dashboard.

Why not a single "AI Visibility Score" composite?

Many competitors ship a single proprietary 0–100 number that bakes mentions, citations, position, sentiment, and platform weighting into one figure. QuickSEO deliberately doesn't.

The trade-off is the same one Ahrefs Brand Radar made: a single composite is easy to read on a dashboard but impossible to defend. If your score moved from 64 to 71, what changed? Without the underlying inputs, you can't tell whether sentiment improved, citations grew, or one platform shifted weight.

QuickSEO surfaces the five atomic numbers and lets you drill into each. Visibility tells you reach; Citation Rate tells you source-of-truth; SoV tells you competitive share; Sentiment tells you framing; Position tells you where you land when the AI ranks the field. Together they answer questions a composite can't.