Methodology
How Attensira measures AI visibility
Attensira asks the prompts you track on the consumer apps of ChatGPT, Perplexity, Google AI Overviews and Gemini, and on Claude through its API, once a day per prompt, model and country. Every rate counts successful runs and carries its sample size, n. A change is reported only when it clears a 95% two-proportion z-test.
7 days free · card required
- Starter
- n=1
- 50 prompts
- Growth
- n=3
- 150 prompts
- Business
- n=3
- 350 prompts
- Shipped work re-read
- +7 · +14 · +30 days
- A change is real at
- 95%, z‑test
| Engine | 95% interval, drawn on a scale of 0 to 8% | Share of voice | n |
|---|---|---|---|
| ChatGPT | 4.2%3.5% to 5.1% | 2,349 | |
| Perplexity | 4.5%3.7% to 5.5% | 2,175 | |
| Claude, Google AI, Gemini | not tracked, never 0% | ||
attensira.com’s share of voice per engine, read over the Attensira MCP, 4 Sep 2026 to 4 Oct 2026, as 95% Wilson intervals: the range the true rate plausibly sits in. ChatGPT and Perplexity overlap, so this reading cannot say one names us more often than the other.
Last updated
Key facts
What does Attensira read, and how often?
A tracked prompt is a question your buyers ask. Each day, on that prompt's own slot, Attensira sends it to every engine your plan reads and in every country you track, records the full answer and the links it cites, and stores the answer verbatim. One prompt, sent to one engine, for one country, at one moment, is a run. Every rate on the site is counted over runs.
We read the surface your buyers use, not the API behind it. A model's API is not what someone sees on chatgpt.com: the model version, the system prompt and the retrieval differ. Where a consumer surface can be read, that is the reading; an API reading is a labelled fallback, and the two are never averaged together.
ChatGPT
- How the answer is read
- The consumer app, as a person sees it; API only as a labelled fallback
- In a country you track
- Read from a browser in the country
Perplexity
- How the answer is read
- The consumer app; API only as a labelled fallback
- In a country you track
- Read from a browser in the country
Google AI
- How the answer is read
- Google's AI Overview on the results page. It has no API at all
- In a country you track
- Read from a browser in the country
Gemini
- How the answer is read
- The consumer app; API only as a labelled fallback
- In a country you track
- Read from a browser in the country
Claude
- How the answer is read
- The API. Claude has no consumer reader
- In a country you track
- Never located: the country is stated in the question
Local readings are available in 42 countries (markets, in the docs). A consumer engine that cannot be read from a country you add is shown as not measured, never as zero.
How big is the sample on each plan?
Models do not answer the same question the same way twice, so a single ask is an anecdote. Sampling depth is how many runs are issued per prompt × model × country, per day. Where a plan samples more than once, the runs are sent together, so the variation you see is the model's own and not a change in the world between morning and evening.
Starter
- Runs per prompt, engine and day
- n = 1
- Prompts
- 50
- Engines read
- ChatGPT, Perplexity, Claude, Google AI
- History kept
- 3 months
Growth
- Runs per prompt, engine and day
- n = 3
- Prompts
- 150
- Engines read
- ChatGPT, Perplexity, Claude, Gemini, Google AI
- History kept
- 12 months
Business
- Runs per prompt, engine and day
- n = 3
- Prompts
- 350
- Engines read
- ChatGPT, Perplexity, Claude, Gemini, Google AI
- History kept
- Unlimited
Sampling deeper buys confidence, not a different number. Three runs instead of one grow the numerator and the denominator together, so the rate holds and only n grows. Failed runs (a timeout, a blocked request, a malformed answer) are stored for debugging and left out of n, so an outage shrinks the sample instead of lowering the rate.
What does each number count?
Share of voice and citation rate are defined apart on purpose: an answer that names you has not necessarily linked you, and the two are never merged into one figure.
- AnswerOne model response to one tracked prompt, on one platform, in one reading. It is the unit every rate below is counted over, which is why every rate carries its
n. - Share of voiceThe share of successful runs whose answer names the brand anywhere in its text, whether or not a link is given. It is a rate, not a slice of a pie: every brand is counted over the same runs, so rates do not sum to 100%. Reported as
{value, n}:value: nullmeans the platform was never read, not that the brand was absent. Some tools call this rate a mention rate. - Citation rateThe share of successful runs whose answer credits a URL on the brand's own domain as a source. A link in the answer's source list counts; the brand's name in the prose does not. The two rates can diverge in either direction, and the gap is the thing worth acting on: named but not sourced is a different problem from sourced but not named.
- Sampling depthHow many runs are issued per prompt × model × country, per day, before a rate is computed: the
n=on a plan. Models do not answer the same question identically twice, so a single ask is an anecdote; the depth is published per plan rather than averaged away.
How does one of our own readings look?
This is one reading of the workspace we run for attensira.com itself, kept as a dated snapshot rather than a result claim. Across 61 tracked prompts, AI answers named Attensira in about one answer in 23, and nearly all of those answered a prompt that already names Attensira.
- Share of voice
- 4.4%
- n=4,524
- Citation rate
- 5.3%
- n=4,524
- Change vs the 30 days before
- nothing we can prove yet
- did not clear the 95% test
The workspace total across both engines, each rate with its n and the change as a verdict. The per-engine intervals are at the top of this page.
Analyst · reads this workspace's answersattensira.com workspace, Attensira MCP · · 24 of 31 days read- Sample
- 4,524 answers
- Window
- 4 Sep 2026 to 4 Oct 2026
- Days read
- 24 of 31
- Each rate sits next to its n. A rate with its n is a measurement; a rate alone is a guess about how many answers there were, and the same percentage over 40 answers and over 4,000 means very different things.
- Claude, Google AI and Gemini are not configured for this workspace, so they were never asked. They read as not tracked, never as 0%: a zero would report a failure that did not happen.
- The month-on-month change did not clear the significance test, so it reads “nothing we can prove yet”. That is not a claim that nothing moved; it is a refusal to call noise a trend.
- Runs that failed in the window are excluded from n, and the days the window actually holds readings for are printed beside the sample (the reading's own coverage field) rather than hidden.
- The total hides where the mentions come from, so we split it by prompt type. The 3 prompts that already name Attensira were answered with our name 99.5% of the time (n=198); the other 58 prompts, which name no brand or name a rival, named us in 0% of answers (n=4,440). Unprompted, AI answers do not name Attensira yet, and a total that blends the two would say otherwise.
When is a change real?
Every change Attensira shows is a pair: the movement and whether it is real. The current window's rate and the previous window's rate are compared as two proportions, each with its own n, in a two-proportion z-test at 95% confidence. If the difference does not clear it, the change comes back with no value and reads “nothing we can prove yet”. A window with fewer than two runs on either side is never a change.
At one run per prompt per engine per day, a seven-day window holds seven observations per cell, and only large swings clear the test. To prove smaller moves, widen the window, read a topic or an engine instead of one prompt, or sample deeper.
Shipped work is judged the same way. When a change the crew made goes live, the same prompts are re-read at +7, +14 and +30 days, each comparing a week before the change with a week around the re-read date, and only after checking the change is actually on the live page. The verdict is moved, fell, no change, too close to call, too few answers or not live. Beside a page, as on the attribution view, the same results read as three labels: moved, too early, or nothing we can prove yet. None of them says the change caused the movement.
Where the named answers came from
- Prompts that name Attensira (3)
- 99.5% named us · n=198
- Prompts that name no brand (37)
- 0% named us · n=2,689
- Prompts that name a rival (21)
- 0% named us · n=1,751
Checked
What a change can read as
- A window-on-window change
- A value, or “nothing we can prove yet”
- Shipped work, re-read at
- +7, +14 and +30 days
- Verdict on shipped work
- Moved, fell, no change, too close to call, too few answers or not live
- Beside a page
- Moved, too early, or nothing we can prove yet
- Claims the change caused it
- Never
What rules does every published number follow?
Attensira distinguishes "we did not measure this" from "we measured zero". Any tool or API consumer should preserve that distinction rather than rendering an unmeasured value as 0%.
- A rate carries its sampleA rate is
{value, n}, wherevalue: nullmeans never measured andnis the sample size behind it. - A delta clears the noise floorA delta is
{value, real}, and movement is only reported when it clears the noise floor. - An untracked platform has no numberPer-platform metrics carry
{tracked, readable}.tracked: falsemeans the plan never queried that platform, so it has no visibility number at all. Reporting it as 0% invents a failure. - Surfaces are never averagedAnswers are also separated by surface (the consumer app versus the model's API), and the two are never averaged together, because they do not answer alike.
- There is no visibility score, and sentiment counts only answers with a stanceNo composite visibility score exists in the product, so none is published. Sentiment is measured only over answers that take a position on the brand, and it is reported beside that scored count; an answer that names the brand without judging it is left out, not counted as neutral. Average citation position is the mean place of a URL within a model's own list of cited sources, computed per source domain; it is not a brand rank.
- A published figure names its method on the page it appears onOriginal research under
/datastates its sampling frame, its dates, its sample size and the conditions under which the page refuses to render at all, next to the number rather than beneath it.
What can this method not tell you?
Stating the edges is cheaper than being asked about them later, and a number read without them is read wrong.
- How many people askedAttensira asks your prompts on a schedule; it does not see real users' questions or their volume.
- Whether a mention became a visit, a signup or revenueThere is no identity join between an answer and a person who later reached your site. Connect the two with your own analytics, and say that you did.
- Whether a common word is your brandA mention is a whole-word match of your name or a host-aware match of your domain. A brand called Linear is counted in “scales in linear time”, so such a brand reads high, never low. Every answer is stored verbatim, so you can read it and the detection can be re-run over history.
- What a search from a country returns on ClaudeClaude is read through its API with the country stated in the question, so its rate says how the model answers someone who says where they are.
- Today, finishedEach prompt runs at most once per day on its own slot, so today's numbers are partial until the day closes. Compare whole days with whole days.
How is the original research under /data produced?
Studies are collected on a schedule into a dated artifact, and the page is built from that artifact rather than from anything a person typed.
- Each study names its sampling frame precisely enough for anyone to download the identical frame and re-run it.
- Every figure is computed from a dated, committed run; no number on a research page is typed by hand.
- A measurement below the per-row floor is reported as not measured, never as zero.
- A missing run, a run older than two refresh cycles, or a collection rate under the floor means the page does not render at all. There is no placeholder state.
- Every run keeps its own dated URL, so a citation keeps resolving to the numbers it was taken from.
- AI crawler access in robots.txt, 10,000 domains · run 2026-09-03
How do I report a wrong number?
If a figure on this site is wrong, write to team@attensira.com with the page and the number. A correction changes the page; where the number came from a dated run, the correction is noted next to it rather than applied silently.
Measure your own brand by the same rules, every rate with its n.
7 days free · card required
Questions about the method
How does Attensira measure AI visibility?
Why does a Starter workspace often say “nothing we can prove yet”?
Is Attensira's share of voice the same as other tools' share of voice?
Does Attensira have an AI visibility score?
Why read the ChatGPT app instead of the OpenAI API?
How long does Attensira keep measurement data?
Want whatever it takes to win the answer?
7 days free · card required
