Measure AI visibility: one reading does not hold
To measure AI visibility is to count how often an engine cites your site in its answers. The trap is that a single reading says almost nothing: our measurements show the sources change from one call to the next. Fast Growth Advisors publishes its method, its cost and its dated readings, with the link to run each search again.
How do you measure AI visibility?
On two grounds at once, and most people look at only one. Here is how Fast Growth Advisors went about it on its own site, with the results as they came out.
Pages, first: what an engine can read of them, which crawlers come to fetch them, and which surface in its answers. These facts can be fixed.
Market questions, next: what the engine answers when a buyer asks about the category, and whom it gives the floor to.
There, nothing is controlled. Everything is observed.
Whatever happens on the first ground conditions the second: a page whose text the extractor discards will not be cited, however good it is. Both grounds are nonetheless fixed in different places, one in the template and the markup, the other in the message and the proof it carries. Hence our rule throughout this page: keep them apart, and never add them into a single score.
AI visibility is a citation frequency, not a mark. Five instruments, two grounds, one dashboard: each block in the diagram leads to the part of the page that details it.
What do we look at on our own pages?
Three things nobody looks at: what survives extraction, who actually comes to read us, and which of our pages surface in the answers.
1. What survives extraction
An engine crawler does not read a page, it reads what an extractor pulls out of it.
At Fast Growth Advisors, we therefore fetch the page with an AI crawler user agent, exactly what it receives, then run it through the three reference extractors: trafilatura, jusText and Resiliparse. Three pages serve as examples below: they belong to software vendors, two in HR software and one in workforce scheduling.
| Page | Text served | trafilatura | jusText | Resiliparse |
|---|---|---|---|---|
| HR software vendor A | 25,387 ch. | 59 % | 26 % | 95 % |
| HR software vendor B | 13,425 ch. | 23 % | 18 % | 40 % |
| Scheduling software vendor | 12,832 ch. | 49 % | 35 % | 91 % |
| This page | 9,671 ch. | 92 % | 88 % | 89 % |
On HR software vendor B, trafilatura keeps only 23 % of the served text. Four fifths of what the page says never reaches the engine.
And the three extractors do not agree with each other: on that same page one keeps 23 %, another 40 %. Content can therefore reach one engine and vanish from another.
Who actually comes to read our pages?
Fewer genuine AI crawlers than you would think, because a crawler’s declared user agent can be forged in one line.
Fast Growth Advisors therefore checks every request against the IP ranges the vendors publish. Here is the result on our own servers, over seven days.
| Declared agent | Requests | Distinct addresses | Within published ranges | Outside |
|---|---|---|---|---|
| OAI-SearchBot | 454 | 48 | 82 | 372 |
| ChatGPT-User | 419 | 17 | 9 | 410 |
| GPTBot | 344 | 25 | 28 | 316 |
| Perplexity-User | 315 | 4 | 0 | 315 |
| PerplexityBot | 202 | 5 | 0 | 202 |
Out of 1,734 requests declaring an agent whose vendor publishes its addresses, 1,615 came from elsewhere, or 93 %. Those presenting themselves as Perplexity were Google Cloud machines and a hosting provider, while Perplexity publishes only eight addresses.
What this measurement says, and what it does not. It covers our two sites, over seven days, and only the agents whose vendor publishes ranges. Published lists can be incomplete or lag behind reality, so an address outside the ranges does not prove an intent to deceive. Any counter of AI visits built on the declared agent, however, mostly measures something else.
Not all these crawlers want the same thing
Counting them together mixes two subjects with different consequences.
Some collect training material, others build a search index, others read a page at the moment a user asks a question.
| Agent | Declared role | Requests on our servers |
|---|---|---|
| Googlebot | Search index, also feeds AI Overviews | 1,369 |
| Claude-User | Read triggered by a user | 455 |
| OAI-SearchBot | OpenAI search index | 454 |
| ChatGPT-User | Read triggered by a user | 419 |
| GPTBot | Collection that may serve training | 344 |
| Perplexity-User | Read triggered by a user | 315 |
| ClaudeBot | Collection that may serve training | 249 |
| PerplexityBot | Search index, no training according to the vendor | 202 |
| meta-externalagent | Meta collection | 178 |
| Bytespider | ByteDance collection | 162 |
| Applebot | Apple search index | 162 |
| CCBot | Common Crawl public corpus | 49 |
Direct consequence in robots.txt. Blocking a training collector costs no citations. Blocking an index crawler or a user-triggered reader removes the site from answers.
Many sites block the second kind believing they are blocking the first.
How many crawlers hit a dead page?
About one in twenty for OpenAI’s crawlers, with huge gaps from one crawler to the next.
Over the same seven days, Fast Growth Advisors counted the share of requests that receive a 404 error, crawler by crawler.
| Agent | Requests | Share in 404 |
|---|---|---|
| CCBot | 49 | 30.6 % |
| ClaudeBot | 249 | 13.3 % |
| PerplexityBot | 202 | 6.4 % |
| OAI-SearchBot | 454 | 5.3 % |
| GPTBot | 344 | 4.9 % |
| Googlebot | 1,369 | 1.5 % |
Published in late 2024, the public reference measurement reported 34.8 % for OpenAI crawlers against 8.2 % for Googlebot.
Ours: 4.9 % against 1.5 %.
Same order, a scale six times smaller, and that is exactly why a public measurement does not replace your own, taken on your own servers. A dead URL is a lost source: the redirect plan, treated everywhere as a technical chore, therefore becomes a visibility matter.
White paper, counting bots →
White paper, the recoverable message →
Which pages get picked up, and which never?
It reads page by page, and it is surprising.
Pages with heavy search exposure may never be picked up, while a confidential one may be picked up one time in five. To see it, Fast Growth Advisors cross-checks Search Console with its question probe.
| Page | AI impressions over 3 months | Share of its impressions | Cited by the probe |
|---|---|---|---|
| /observatoire/ | 7 | 20.6 % | no |
| /en/messaging-audit/ | 12 | 17.9 % | yes, 3 readings out of 6 |
| /visibilite-ia/ | 36 | 3.0 % | yes, on 3 questions |
| /audit-messaging/ | 4 | 4.6 % | yes, 6 readings out of 6 |
| /linkedin-algorithm-2026…/ | 20 | 1.9 % | no |
| /strategie-de-business-development/ | 0 | 0 % | no |
The Observatory is our most picked-up page, at 20.6 % of its impressions, for 34 impressions in total. Our article on the LinkedIn algorithm has 1,043 and is picked up only 1.9 % of the time.
Search volume and engine pick-up do not follow each other.
Some pages are read without ever being cited, like our consulting page, present in search and absent from every generative answer.
What do we look at on our market questions?
What the engine writes when it is asked the questions of our category, and whom it gives the floor to instead of us.
At Fast Growth Advisors, we put the question, archive the full answer, and keep the link that lets anyone run the search again. Without those three, a report cannot be verified.
4. One reading, in full
Here is one of ours, taken on our own market: query audit messaging site web B2B, French market, French language, six readings between 1 and 2 September 2026.
Google writes an answer to all six and cites our page every time.
| Element | Value |
|---|---|
| Question, word for word | audit messaging site web B2B |
| Market and language | France, French |
| First and last reading | 1 September 2026 at 18:40, 2 September at 16:36 |
| Number of readings | 6 |
| Result | cited 6 times out of 6, URL fast-growth.fr/audit-messaging/ |
| Organic position | 1st |
| Verification link | run this search again |
Why does a single score mean nothing?
Because an engine that is asked a question does one of three things, and merging them manufactures a false problem. It answers and cites the site. It answers without citing it. Or it does not answer at all.
That third case is an absence of measurement.
Fast Growth Advisors met it while building the barometer question set: on business password managers, two different phrasings produced no written answer at all. This category exists, the market is crowded, and the engine writes nothing. Nobody is invisible there, there is nothing to see.
But the expensive trap lies elsewhere: two pages labelled as cited can be in opposite situations.
| Question | Label | Cited in | What it really is |
|---|---|---|---|
| audit messaging site web B2B | cited | 6 readings out of 6 | always the same page, /audit-messaging/ |
| audit commercial startup B2B | cited | 6 readings out of 6 | three different pages across the readings |
A tool measuring once labels both as cited, and it is right both times. What it misses is elsewhere: on the first question Google always takes the same page, on the second it changes and cites the English version three readings out of six.
Citation secured, receiving page not: those are not the same works to undertake.
How many times must the same question be measured?
More than once, and the number depends on the question.
Fast Growth Advisors replayed the same question eleven times in a row, seconds apart, on two markets.
| Market and question | Median overlap of sources | Domains present in all eleven |
|---|---|---|
| France, comparatif logiciel sirh pme | 62 % | 3 of 10 |
| United Kingdom, best hr software for small business | 100 % | 8 of 8 |
Stability: a property of the question, not of the instrument.
On the UK question the engine returns exactly the same eight domains on every call. On the French one, two domains appear only once out of eleven. Sitting in the core is a position, appearing in the fringe is a passage.
What this measurement says, and what it does not. Two questions, one per market, on Google AI Overviews. Nothing here says France is unstable and the UK is stable. It says stability is judged question by question, and we have not repeated the experiment on ChatGPT or Perplexity.
Does ranking still decide who gets cited?
Largely, yes, but no longer alone.
This is the link everyone looks for between classic search optimisation and AI visibility. Fast Growth Advisors measured it on the fifty barometer questions, comparing the sources Google cites with the organic results of the same query.
| What is measured | France | United Kingdom |
|---|---|---|
| Answers citing at least one of the top three results | 96 % | not measured this way |
| Answers citing the first result | 74 % | 57.5 % |
| Cited sources that appear in the ranking | 70.2 % | 46.5 % |
Ranking well remains necessary, and is no longer enough.
Three cited sources in ten appear nowhere in the results of the same query in France, and more than one in two in the United Kingdom. A budget that funds ranking alone therefore leaves part of the ground to others.
Why is measuring a single engine not enough?
Because before choosing its sources, an engine decides whether to search at all.
Fast Growth Advisors put twenty questions to four engines, on two of its domains, and the gap is considerable.
| Engine | Searches the web | Citations issued | Of which to our sites |
|---|---|---|---|
| Perplexity | 100 % | 394 | 11 |
| Claude | 85 % | 269 | 4 |
| Gemini | 35 % | 71 | 10 |
| ChatGPT | 30 % | 34 | 2 |
Of the 768 citations recorded, 394 come from Perplexity and 34 from ChatGPT. Depending on the engine buyers use, the same editorial effort pays off very differently.
And Gemini, which cites five times less than Perplexity, cites us almost as often: an engine’s volume says nothing about the chances of appearing in it.
What the citations returned
Nothing, and it is an uncomfortable result.
Over the same week our two sites received 1,376 crawler visits whose identity was verified, and 22 fetches triggered by a live user question. A human had therefore asked something, and the engine went to read our pages to answer them.
Not one visitor arrived on our sites from an AI answer. Zero.
Citation and visit are two different things: counting the first to forecast the second means confusing two measurements that do not follow each other. That figure also serves as a starting line, taken before any work, and whatever moves next will be attributable.
What do we fix when the measurement is bad?
Everything that blocks, page by page: the Fast Growth Advisors audit tool turns findings into work.
It scores each page across four families and lists, rule by rule, what blocks: a lede too short, a title that does not carry the subject, a FAQ missing from the markup, a paragraph that refers to another without naming it.
On the page you are reading, the audit of 3 September 2026 puts the technical and SEO families above the advised threshold, and GEO below it. We leave that visible rather than remove proof to gain points: the tables add sections without adding questions, which the rule penalises.
We preferred the proof to the points.
These four scores change with every edit to the page. Publishing them frozen in a table would mean publishing a stale measurement from the next revision onwards, which is exactly what we criticise in others.
What correction changes, at the scale of a market
These findings are not specific to us.
The Message-Market Fit Observatory audits the sites of French startups after fundraising, on a grid of clarity and engine readability.
| What is measured | Result |
|---|---|
| Detailed audits below the critical clarity threshold, set at 37.5 out of 75 | 75.9 % |
| Average message clarity | 5.33 out of 10 |
| Readiness to be cited by engines | 0.91 out of 5, or 18 % of potential |
| Link between amount raised and message clarity | R² = 0.036, in other words none |
Three detailed audits in four fall below the threshold, and the money raised changes nothing. That last figure counts double: message clarity cannot be bought with a funding round, it has to be worked.
Why are fixing and verifying two different jobs?
Because confusing them wastes time.
Some instruments say what to change on a page, today. Others say whether the change produced an effect, weeks later.
| Instrument | Family | What it returns |
|---|---|---|
| SEO and GEO audit | Fixes | Four scores per page and the list of findings to handle, rule by rule |
| Three-extractor bench | Fixes | The share of text each extractor keeps, and what disappears |
| Question probe | Verifies | Whom the engine cites, on which questions, with the link to run the search again |
| Server log analysis | Verifies | Which crawlers come, from which addresses, and which are verifiable |
| Search Console | Verifies | Impressions, clicks, and share of impressions in generative features |
Then comes the cost, which makes the requirement affordable. With the provider we use, one question costs four thousandths of a dollar, so 0.20 dollar for fifty. We publish that figure because a measurement at that price has no reason to be replaced by an assumption.
The Google AI Overviews barometer, method and editions →
ChatGPT visibility, what the engine sees of your site →
876 impostors, what your AI traffic really hides →
What do we measure on the market questions?
Here is the first half of the inventory Fast Growth Advisors keeps, with for each line the question it answers and the latest result.
Nothing is estimated, everything can be replayed.
| What we measure | The question it answers | Latest result |
|---|---|---|
| State of each question | Does the engine answer, and does it cite the site | 73 readings on our 12 questions: 12 citations, 60 without citation, 1 no answer |
| Source stability | Does a citation hold from one call to the next | 62 % median overlap in France, 100 % in the UK |
| Core and fringe | Is this a position or a passage | 3 domains out of 10 present in all eleven readings |
| Ranking and citation overlap | Is ranking well enough to be cited | 70.2 % in France, 46.5 % in the UK |
| Engine comparison | Where content has the best chance | 768 citations, Perplexity 394, ChatGPT 34 |
| Source composition | Who occupies the ground of a category | 312 sources, 81 % sites, 15 % video |
| Language of issued queries | In which language the engine searches | 40 queries in French against 34 in English, 100 % English in IT |
| Visitors from an AI answer | Does citation bring traffic | 0 over the week measured |
| Message-Market Fit Observatory | Where an entire market stands | 369 startups measured; 75.9% of the 83 detailed audits below the clarity threshold |
| Cost of measurement | What it costs to know rather than assume | 0.004 dollar per question, 0.20 dollar per edition |
What do we measure on our own pages?
Eight more lines, this time on the Fast Growth Advisors pages themselves.
| What we measure | The question it answers | Latest result |
|---|---|---|
| Extraction by three tools | What is left of the page for an engine | 23 % to 95 % of the served text depending on page and extractor |
| Composition of served weight | Does weight hurt citability | 30 % CSS and 23 % SVG on one measured page, with no effect on extraction |
| Crawler volume by agent | Who comes to read, and how often | 4,358 requests in seven days, Googlebot leading |
| Crawler identity verification | Is the declared agent the real one | 93 % outside the ranges published by the vendors |
| Declared role of each crawler | Training, index, or read on demand | 12 agents classified, with their volumes |
| 404 error rate by crawler | How many visits fall into nothing | 30.6 % for CCBot, 1.5 % for Googlebot |
| SEO and GEO audit per page | What blocks, rule by rule | Four scores and the list of findings, on every published page |
| Generative impressions | Which pages the engine picks up | 219 impressions out of 4,522, or 4.8 % |
Eighteen lines in all. Five instruments. Not one line substitutes for another.
A single score becomes impossible as a result: these eighteen measures share neither the same unit, nor the same ground, nor the same correction delay.
What would the dashboard look like?
Like this.
Everything below comes from Fast Growth Advisors measurements, between 1 and 2 September 2026, each block from a different instrument.
Three levels, in the order a director reads them. At the top, what Google answers on our market and whom it gives the floor to instead of us. In the middle, which of our pages it picks up and which it ignores. Only at the bottom, how it happens: the crawlers that visit, the composition of the sources and what the extractors keep.
The order is not decorative.
A dashboard that opens with crawler names makes someone read plumbing when they are trying to find out whether their market knows them.
This dashboard does not exist as a product yet. The four instruments run, the measurements are real, and the screen that assembles them is still to be built. We prefer to show it this way rather than announce a platform that has not shipped. It calculates no global score either, and that is deliberate: a citation, a share of extracted text and a crawler visit do not offset one another.
FAQ
Where do you start to measure AI visibility?
By measuring on two grounds at once.
On the pages, what an engine can read of them and which crawlers actually come to fetch them. On the market questions, what the engine answers and whom it gives the floor to. The two are fixed in different places, and the first conditions the second. Fast Growth Advisors sets out the method here exactly as it applies it to fast-growth.fr.
Why does a single AI visibility score mean nothing?
Because it adds up situations that are not fixed in the same place.
An engine can cite a site, answer without citing it, or not answer at all. That third case is an absence of measurement rather than invisibility. And two cited pages can be cited once out of six readings or six out of six, which an average score erases.
How much does an AI visibility measurement cost?
Four thousandths of a dollar per question, or 0.004 dollar.
That is the rate of the provider we use: 0.20 dollar for fifty questions, and roughly two euros a year for a set measured every month. We publish that cost because a measurement at that price has no reason to be replaced by an assumption, nor billed as a technical feat.