CitePulse.ai — by GeoFlow Solutions — Methodology

How we measure whether AI cites you

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.

1. The questions we ask

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.

2. The detection rule (the part nobody else publishes)

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.

3. Citation Share, with the denominator shown

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)

3b. "Seen in k of n runs" and the two doors (DOORS-1.0)

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.

3c. How much the engines move on their own (NOISE-1.0)

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.

EngineDays measuredNoise band (14 d)Repetition agreementSource overlap d/dBand (30 d)
Perplexity15010.6670
Gemini1500.86500
ChatGPT15010.50
Claude15010.50
Google AI Mode1500.8360.250

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.

4. Which engines count, and where

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.

4b. Markets: which engine honours your country, and which only your language (measured 1 November 2026)

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.

EngineDifferent brands per market, asked in its languageLocation parameter aloneWhat it means for your number
Perplexity0.99 (noise 0.01)honoured, moderatelycountry-aware; the most stable engine we measure
Google AI Mode1.00 (noise 0.75)honoured clearlycountry-aware; read only from a window of repetitions, because it moves a lot on its own
Google AI Overviews0.99 (noise 0.53)most likely honoured (incomplete data)country-aware; a question with no overview is "not measured", never zero
ChatGPT0.97 (noise 0.52)not demonstrated (within its own noise)localized through the language of the question; we do not promise country control
Claude0.98 (noise 0.15)ignoredlocalized through the language of the question only
Gemini1.00 (noise 0.59)no parameter in the APIlocalized through the language of the question; read from repetitions
Grok0.95 (noise 0.62)no parameter in the APIlocalized through the language of the question; read from repetitions
Mistral1.00 (noise 0.11)no parameter in the APIlocalized through the language of the question; stable
DeepSeekno data in this run (an earlier run: 0.95)no parameter in the APIlocalized 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.

5. The honest limits

Check your own

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.