Methodology
This page is an honest disclosure of the scan engine: which models are queried, which prompt is sent, which default parameters apply, and why our answers can diverge — within 10–20 % — from what you see in your personal ChatGPT tab. If you’re evaluating Plavra, this is what you’re paying for. No hidden box, no proprietary formula.
No commitment · secure European billing.
On every scan Plavra queries four AI models — one per provider, through the shared AI proxy we operate. These are the public APIs, not the consumer-facing surfaces (chat.openai.com, claude.ai, gemini.google.com, perplexity.ai). That nuance is explained below in “Why our answers diverge from your ChatGPT”.
Mistral models (Mistral Large and Pixtral Large) are not yet wired into the unified scan engine: they remain covered through the dedicated positioning guide on /en/seo/visibilite-marque-mistral. If Mistral lands in the engine, this page gets refreshed the same day.
For every buying question in your scan, Plavra sends the same prompt template to each of the four models. The bracketed slots — <brand>, <competitors>, <question> — are runtime-substituted by the engine per scan. Everything else in the text is exactly what the model receives.
Tu es un analyste de visibilité IA pour acheteurs francophones.
Marque analysée : <brand>.
Concurrents connus : <competitors>.
Question réelle posée par un acheteur : "<question>".
Réponds comme si tu répondais à cet acheteur : sois utile, concret, et
nomme les marques qui apparaissent vraiment dans la réponse.
Quand tu as terminé, ajoute EXACTEMENT ce bloc JSON sur la dernière
ligne (sans texte après) :
{"mentioned_brands": ["..."], "sources": ["https://..."], "brand_sentiment": "positive|neutral|negative"}
Règles :
- "mentioned_brands" doit lister les marques citées dans ta réponse, en
minuscules, sans la marque analysée si elle n'apparaît pas.
- "sources" doit lister les URLs que tu cites réellement dans ta réponse
(visibles ou implicites) ; laisse vide si tu n'en cites aucune.
- Si un titre de page ou une marque mise en avant est connu pour chaque
source, ajoute un tableau "source_meta" aligné sur "sources" par
index : [{"title": "...", "favoredBrand": "..."}, ...].
- "brand_sentiment" reflète le ton global de ta réponse vis-à-vis de
"<brand>" : positive si elle est recommandée, neutral si elle est
mentionnée sans jugement, negative si elle est écartée ou critiquée.The prompt also asks for a JSON tail — mentioned_brands, sources, brand_sentiment — which Plavra uses to count mentions and score tone without re-inference. If the model omits the tail, the prose remains valid but Plavra records the mention as unknown on the offending model row.
These values aren’t negotiable on the Starter plan: they’re the same for every customer and they guarantee that two comparable scans produce comparable numbers.
unavailable and the row drops to partial rather than blocking the whole scan.Promise.allSettled. One model failing doesn’t poison the others.{ answer, sources, mentionedBrands, sentiment, citations, failureCode, outboundUrl }. mentionedBrands is normalised lowercased; sentiment is forced to positive, neutral, or negative (out-of-range values fall back to neutral).Plavra queries the providers’ public APIs, not the consumer-facing interfaces. The two channels are operated by the same provider, but they don’t return exactly the same answer to the same question. Here’s why — and why it’s normal.
On the chat side, the application adds invisible layers: retrieval-augmented generation over the conversation history, default-on plugins, long-term memory, proprietary system scaffolds (for example OpenAI’s “Custom Instructions”, Anthropic’s “Memories”), and possible routing to a different model than the one you expect. None of that is present in a naked POST /chat/completions call. Plavra sends a standardised API call — no scaffold, same prompt to every model.
On the provider side, models sometimes expose older or newer snapshots on the API than on the chat. Providers occasionally route the chat to the most capable model and keep the API on a more stable — and cheaper — snapshot. It is not uncommon for the same model, served through two channels, to diverge by 10–20 % on factual figures.
This isn’t a bug, it’s a structural difference. Plavra owns the posture: methodology is reproducible, calls are traced, marginal cost is known. An AEO consultant replaying the same question inside ChatGPT can reasonably expect a 10–20 % variance — and that’s exactly why aggregating four models gives a more reliable signal than one isolated citation from a single product.
To close the disclosure: here is what Plavra does NOT pretend to do — or only does under specific conditions.
partial or failed on the offending model row. A partial scan stays usable: a failure doesn’t get hidden, it gets explained.Convinced?
€49/mo, no commitment: one brand, up to 5 competitors, 30 buying questions tracked weekly across the four queried models. Cancel anytime, secure European Stripe billing.