How PSentry Measures AI Visibility, and What It Cannot See

How PSentry Measures AI Visibility, and What It Cannot See

Small models, official APIs, two readings a month in five languages. The method in full, including the parts of a buyer's screen it never sees.

PSentry does not put its questions to the largest model behind ChatGPT, nor to the largest Claude. At the time of writing, the ChatGPT readings come from gpt-5-mini and the Claude readings from claude-haiku-4-5, two of the smaller models their makers sell. That is the first thing to know about how PSentry measures AI visibility, and it is a limit, so it goes at the top rather than in a footnote.

The rest of this page is the method in full: which assistants are asked, through which door, how often, in which languages, what an answer lets us see and what it hides. It is meant to be read before anyone trusts a number of ours, and it contains no promise about what the numbers will do.

The AI visibility method in one paragraph

PSentry measures AI visibility by sending a fixed set of buyer questions to four assistants, ChatGPT, Claude, Gemini and Perplexity, through their official APIs, twice a month, in each language and market a company sells in. Each answer is stored and read for three things: whether the brand is named, which other companies are named, and which web sources the answer reports. The readings are grouped by language and market into an AI Visibility Score and a trend. Nothing in the method tries to change what they say.

Every clause in that paragraph is a choice, and each one has a cost. The sections below take them in turn.

Four assistants, and the models actually asked

The four platforms are fixed. The model behind each one is the part that moves, because providers retire and release models on their own timetable. On 20 October 2026 the configuration of the app reads like this:

  • ChatGPT: gpt-5-mini, which OpenAI's model documentation describes as a faster, more cost efficient version of GPT-5.
  • Claude: claude-haiku-4-5, introduced by Anthropic on 15 October 2025 as its latest small model.
  • Gemini: a Gemini model through Google's API.
  • Perplexity: sonar-pro, through Perplexity's API.

The consequence is plain. A buyer on a paid ChatGPT plan may be answered by a larger model than the one we query, and a larger model can know more, reason further and name a different shortlist. What the smaller model buys is the ability to put the same question set to four assistants in five languages, twice a month, at a price a small exporter can carry. That is a cost decision, and it has a price in fidelity. We would rather state it than have someone find it.

When a provider retires a model and we move to its successor, the date of the change belongs next to the series. A sudden step on one assistant on that date says more about the model than about the market.

Why the official API and not the chat window

An API is the door a provider builds for software. The chat window is the door it builds for people. PSentry uses the first one, for all four assistants.

The reason is repeatability. An API call carries only what the caller puts in it: the question, the model, the parameters. It has no account history, no saved preferences, no previous conversation pulling the answer one way. Two readings a fortnight apart differ because the assistant or the web changed, not because the measuring account drifted. A comparison between Italian and German is only fair if the apparatus is identical in both, and the API is the one place where it can be.

The price is that an API answer is not a screenshot of a buyer's screen. It is the closest thing to that screen that can be measured twice and compared.

Twice a month, by design

Every plan runs two scans a month. There are no real-time alerts and no continuous polling, and that is deliberate rather than a gap waiting to be filled.

Answers from a language model are probabilistic. The same question asked twice in an hour can return two different lists, so a reading taken every few hours mostly records that noise and calls it movement. Two readings a month, on the same prompt set, give each change room to show whether it persists. The longer argument is in our piece on why measuring more often makes the data worse.

A practical rule follows from this. A change that appears in one reading and vanishes in the next is weather. A change that holds across two or three consecutive readings, on the same assistant and in the same language, is worth a conversation.

The plans differ in how many questions they monitor, from 20 prompts for one site on the smallest plan to 600 on the largest, not in how often they look.

Languages and markets are separate readings

A reading in Italian is a set of questions written in Italian, the way an Italian buyer would phrase them, sent to the four assistants. A reading in French is a different set, not a translation of the Italian one. The prompts are generated for each site, and each language gets its own score.

This matters because the language of the question changes the answer. In our own data, questions asked in Italian draw more than half of their cited sources from .it domains, while questions asked in English draw about three quarters from .com. A company that is well cited in one language can be absent in the next, which is what the export gap analysis is for: markets where a company sells and the assistants do not name it.

What a reading for a market does not claim is to reproduce a buyer sitting in that country with their own account. It reproduces the question, in that market's language, asked the same way each time.

What an answer lets us see

Each stored answer is read for three things.

  • The mention. Whether the brand is named at all.
  • The competitors. Which other companies the assistant names for the same question, market by market. These are often local firms that never appear in a company's own competitor list.
  • The sources. Which web pages the answer reports as its basis, when it reports any.

There is no rank position in this list, and that is on purpose. An assistant's answer is not a results page with a first place and a tenth place, and the order of names in a paragraph shifts from one run to the next. What holds still is frequency: across many questions, in one language, on one assistant, how often the brand is named compared with the companies named alongside it. That frequency is what the score summarises.

The last point varies a great deal by assistant, and here our own data is more useful than any description. Between 13 December 2025 and 20 October 2026 PSentry collected 17,719 answers from the four assistants through their APIs. Of every 100 Claude answers, 97 reported at least one source. Perplexity reported a source in 94 of 100, Gemini in 56 or 57, ChatGPT in 44. When they did cite, the counts differed too: about 12 sources per answer for Claude, between 11 and 12 for Perplexity, about 10 for Gemini and about 4 for ChatGPT.

The sample has limits that belong next to the numbers. The prompts are those of PSentry's own users, mostly B2B services and industry, so this is not a picture of everything people ask. It contains no answers to German prompts yet, and only 259 to Spanish ones, which is too few to draw conclusions from. What the figures do show is that "the AI cited these sources" means something different on each assistant. An answer from ChatGPT with no source is the common case, not a fault in the reading.

What the method cannot see

An honest method page is mostly a list of blind spots. These are ours.

  • Memory. ChatGPT can remember facts a user saved and draw on past conversations. An API call starts from nothing, so a buyer who has spent a month discussing one supplier is not represented.
  • Personalisation. Custom instructions, plan, account settings and the history of a logged-in user all shape the consumer answer. None of them exist in our call.
  • Ads. OpenAI shows labelled ads below answers on some ChatGPT plans. They sit outside the answer and outside the API response, so we do not record them. We wrote separately about why an ad beneath the answer is not in the answer.
  • Google AI Mode and AI Overviews. These are features of Google Search, not the Gemini API. A Gemini reading tells you nothing direct about either.
  • The buyer's location. This page makes no claim that a reading reproduces a buyer connected from a given country.

None of these blind spots is hidden by the score. They are the reason the score is per language and per assistant rather than a single number for "the AI".

Getting the raw readings out

A score you cannot audit is a rumour. Every reading behind the dashboard can be exported as CSV, and the public API, starting at /v1/sites, returns the same data to a script or a spreadsheet. If a number in PSentry looks wrong, the answer text that produced it is there to read, which is a better test of the method than anything written on this page.

Questions about the method

Does a small model make the readings meaningless?

No. It makes them readings of a specific model, which is why the model is named. Trends within one assistant and comparisons between languages hold up because the model is the same on both sides of the comparison. An absolute claim about what every ChatGPT user sees would not hold up, and we do not make it.

Does PSentry change what the assistants say about a brand?

No. PSentry is a measurement tool. It sends questions and records answers. It does not publish content, submit anything to the providers or promise any change in visibility.

Why not scan every day?

Because daily readings of a probabilistic system mostly measure the probability, not the market. Two scans a month on a stable prompt set is the rhythm every plan uses.

Can I check a reading myself?

Yes. Take a prompt from your set, the answer text from the export, and the date. The answer is what the assistant returned through its API on that date, and you can read every word of it.