CitePulse.ai — by GeoFlow Solutions — Methodology
Most AI-visibility tools give you a percentage and ask you to trust it. We publish the rule. Our detection is deterministic and our share-of-voice denominator is disclosed, so you can reproduce the number and see exactly what it does and doesn't cover.
We don't test vanity brand queries. A question that names your brand (one you add yourself, or a comparison question of the full audit) is measured but scored apart, never inside the score (section 2). For each domain we generate real buyer questions in its category ("best X for Y", "how do I switch from Z"), grounded in the site and industry, then freeze that set so every re-run is a like-for-like comparison. The free mini-audit runs 5 questions × 3 repetitions per engine; the full audit runs 20 (or 40 in deep mode). We repeat each question because AI answers vary between runs, and we average to smooth that out.
We keep three things apart, because they are three different facts about an answer:
(a) Brand mention — your brand token (≥4 chars, whole word, case-insensitive) or your full domain appears in the answer text
(b) Domain citation — your domain (or a subdomain of it) appears in the list of sources the engine attached to the answer
(c) Entity check — is the mention really you, and not another company with the same name?
The score counts an answer as cited when (a) or (b) is true. Both are literal string matches, not an AI judging another AI; there is no hidden "confidence" model, and anyone can re-run the same question and apply the same rule. The domain rule (b) is the strong one: a URL on your domain cannot belong to a namesake. The name rule (a) is the weaker one: when another product shares your name (as with CitePulse itself, which shares its name with an unrelated tool on a different domain), a name-only mention can belong to the other company.
(c) is a deterministic rule, not a second model (since 10 September 2026). Each answer is stored with three levels: mention (a), source (b) and an entity status: verified when (b) holds, or the answer names your full domain, or names a distinguishing word from your own page title (for example the operator's name); namesake risk when the mention is name-only and search results show another company with the same name; unverified when the mention is name-only and nothing ties it to you; none when there is no mention. The dashboard matrix shows the three levels per question and engine. The score itself still counts (a) or (b) under measurement version MV-1, so earlier runs stay comparable; a score built on (b) plus verified mentions will be announced as a new measurement version, not slipped in. For a brand with a known namesake, read the domain-citation figures (b) as the safe number.
Per-engine citation rate = cited repetitions ÷ total repetitions, for each engine. Your composite score (0–100) is the average of those per-engine rates across every engine that returned at least one valid answer. Cadence (since 11 October 2026): the free audit asks each question three times per engine on one day; monitoring asks each question once a day per engine (Scale every two days per client domain) and reads every question in a window of the last three measurements, so the score you see on a given day is built from three days of answers, not one. DeepSeek is asked two to three times a day on the paid plans. The supplementary engines (Grok, Claude in monitoring, DeepSeek, Mistral) are scored with the same rule but shown next to the composite, which stays the base three (ChatGPT, Perplexity, Gemini) so runs remain comparable over time.
Questions that name your brand stay out of the score (since 24 October 2026). A buyer who types your name into an assistant is not being pointed to you by the assistant, so an answer to "what is Acme" says nothing about discovery. Every monitored question that contains your brand token is scored apart, as brand recognition (how often the engines cite you when handed the name), and never enters the AI Reputation Score, the three-run window, the alerts or the badge. The free audit never generates such questions; the full audit's comparison questions and any question you add yourself are split by the same rule.
Engine-wide shifts are flagged, not scored. When at least 30% of your buying questions (and no fewer than five) change their answer on one engine between two consecutive runs, that run is marked as an engine-wide shift for the engine. We then check whether our own control series on the same engine moved the same day and whether other monitored domains saw the same. A move that broad usually means the engine changed, not your site; the panel says so next to the score, and the three-run window keeps a single run from moving your trend.
Citation Share answers: of all the sources the AI engines cited for your buyer questions, what share is yours vs a competitor's vs everyone else's? We show the full denominator — total source citations, split self / competitor / other — because an unstated denominator is an unverifiable metric.
Citation Share = your cited sources ÷ all cited sources (self + competitor + other)
One run is a snapshot, not a state. Published measurements from 2026 put day-to-day turnover of the sources AI engines cite at roughly two thirds, so we never present a single run's list of cited pages as "your pages". Every page we show carries seen in k of n runs, where n counts only comparable runs: the same frozen question set and the same measurement version. A free audit is n = 1 and is labelled as a single measurement.
For every buying question we also say which door is open. Door A: ordinary pages win the citations, or you are already cited, so your own page can compete. Door B: best-of lists, directories and marketplaces win, so the lever is being present on those pages, not rewriting your own. The rule is mechanical: a door is decided when at least two thirds of the distinct sources AI cited share one shape; anything in between is mixed; a question with no returned sources is unknown and stays out of the percentages. We read doors per phrasing and draw conclusions from the whole question set, because two paraphrases of one question overlap only weakly in what AI cites. We never claim you are absent from a third-party page; we show which pages win and leave the check to you.
No vendor publishes this number, so we measure it ourselves, in public. Every day we ask the four engines (five since 8 September 2026, when Google AI Mode joined the panel) the same five frozen buying questions about our own site (citepulse.ai), three times each, and record how much the answers differ from one repetition to the next and from one day to the next. Nothing here enters any score. It exists so that every "before / after" we show a client is read against how much the engines move by themselves.
| Engine | Days measured | Noise band (14 d) | Repetition agreement | Source overlap d/d | Band (30 d) |
|---|---|---|---|---|---|
| Perplexity | 15 | 0 | 1 | 0.667 | 0 |
| Gemini | 15 | 0 | 0.865 | 0 | 0 |
| ChatGPT | 15 | 0 | 1 | 0.5 | 0 |
| Claude | 15 | 0 | 1 | 0.5 | 0 |
| Google AI Mode | 15 | 0 | 0.836 | 0.25 | 0 |
Last panel run: 2026-11-09. Engines below 14 measured days show the default band with their day count; the measured band replaces it automatically at day 14. Values refresh daily.
Across the whole product a brand can be measured on up to 7 assistants — ChatGPT, Perplexity, Gemini, DeepSeek, Claude, Grok and Mistral — with Google AI Overviews and AI Mode read as sources. The composite score always rests on the same base three (ChatGPT, Perplexity, Gemini); the supplementary engines are reported beside it, each with its own cadence stated, so a number from October is comparable with a number from July.
A market is a country and a language: PL/pl, DE/de and GB/en are three separate measurements, never mixed. We tested how each engine localizes by asking the same five buying questions on those three markets, 315 calls on nine engines, two ways: in the market's language with the country named (what we do per market), and with one neutral English question where only the provider's location parameter changed (does the parameter alone do anything?). "Different brands" is the share of cited domains that differ between markets for the same question (1.00 = completely different); "noise" is the same share between two repetitions inside one market.
| Engine | Different brands per market, asked in its language | Location parameter alone | What it means for your number |
|---|---|---|---|
| Perplexity | 0.99 (noise 0.01) | honoured, moderately | country-aware; the most stable engine we measure |
| Google AI Mode | 1.00 (noise 0.75) | honoured clearly | country-aware; read only from a window of repetitions, because it moves a lot on its own |
| Google AI Overviews | 0.99 (noise 0.53) | most likely honoured (incomplete data) | country-aware; a question with no overview is "not measured", never zero |
| ChatGPT | 0.97 (noise 0.52) | not demonstrated (within its own noise) | localized through the language of the question; we do not promise country control |
| Claude | 0.98 (noise 0.15) | ignored | localized through the language of the question only |
| Gemini | 1.00 (noise 0.59) | no parameter in the API | localized through the language of the question; read from repetitions |
| Grok | 0.95 (noise 0.62) | no parameter in the API | localized through the language of the question; read from repetitions |
| Mistral | 1.00 (noise 0.11) | no parameter in the API | localized through the language of the question; stable |
| DeepSeek | no data in this run (an earlier run: 0.95) | no parameter in the API | localized through the language of the question |
So: we localize through the language of the question and the named country, on every engine, because that is what measurably works. We add the provider's location parameter only where it changed anything: Google and Perplexity. On the noisy engines a single per-market number means little, so per-market results come from a window of repetitions, and every number says how many it came from. Engines change; we re-measure with the same script and replace this table under a new date.
Run a free mini-audit: https://api.citepulse.ai
Results reflect AI output at evaluation time and vary between runs. Correlation, not causation: a change in your citations is not proof any single action caused it. A product of GeoFlow Solutions Marcin Gamża.