Methodology
Every Sayrank report footnotes itself: "Queried via official OpenAI, Perplexity and Gemini APIs with web search enabled. Directional proxy for consumer AI surfaces, not exact consumer rankings." This page unpacks that sentence. If you resell our reports, you should be able to defend every number in them.
What we measure
One question: when a buyer asks an AI assistant for recommendations in your client's category, does the client show up? We ask about 20 buyer-intent prompts ("best X for Y", "top X companies") across three engines, then count who gets named, where in the list, and which domains get cited as sources.
The engines, via official APIs
We query the OpenAI Responses API with the web_search tool, Perplexity Sonar, and the Gemini API with Google Search grounding. All official, all with live web access, all returning native citation metadata. We do not scrape chat UIs, run headless browsers against consumer apps, or buy answer dumps. Scraped "consumer view" data breaks silently and violates terms; APIs are stable and reproducible.
Prompt sets are generated from the client's own site content, and you can edit them. The set stays fixed between runs so week-over-week movement means the world changed, not the questionnaire.
Mention detection
Deterministic first. A mention is the brand name, a configured alias, or the brand domain appearing in the answer text (case-insensitive, word-boundary match) or in the answer's citations (domain match, subdomains included). When the answer is a ranked or bulleted list, we record the brand's 1-indexed position. The same logic runs for every competitor.
A language model is only consulted to adjudicate genuinely ambiguous hits, and it never touches the arithmetic. Scores come from counting, not from a model's opinion.
Scoring
Share of voice (SoV) is the percentage of answers that mention the brand, overall and per engine. Average position is the mean list position across answers where the brand ranked. The AI Visibility Score (0-100) weighs three components:
- 60% share of voice: how often the brand shows up at all,
- 25% list position: position 1 scores 100, each rank below costs 20 points; when the brand never ranks in a list this component falls back to SoV,
- 15% citation share: brand-domain citations over all citations, scaled so owning 25%+ of citations maxes the component.
The weights are opinionated and printed here on purpose: being mentioned matters most, being early in the list matters, being the cited source compounds both.
Why weekly, not daily
Content and citation changes take days to propagate into engine indexes. Daily runs mostly measure sampling noise while multiplying API cost, and that cost lands on your subscription price. Weekly runs on a fixed prompt set give a readable trend line at a price a freelancer can resell. Manual re-runs are capped at 4 per brand per month for the same reason.
What this is not
API answers are a directional proxy for consumer AI surfaces, not a replica. The consumer ChatGPT app personalizes by account, history and location; models sample, so the same prompt can yield different answers minutes apart; engines ship silent updates. No tool can honestly promise "this is exactly what your customer saw." What a proxy does support: comparing you against competitors under identical conditions, and tracking movement over time. That is the claim we make, and the footnote on every report says so.
v1 covers ChatGPT, Perplexity and Gemini. It does not yet cover Google AI Overviews or Microsoft Copilot. Those surfaces do not expose an official API with citations today; we would rather leave them out than fake them.
The free check
The free visibility check is a thin slice of the same pipeline: 10 template prompts, Gemini only, one competitor, same mention detection and scoring. It is a sample, not a report. The paid product runs 20 site-specific prompts across all three engines, weekly, with up to 3 competitors.
Data handling
We store the raw engine answers, parsed mentions and citations for each run, so every number in a report can be traced to the answers behind it. Share links are unguessable tokens and reports are excluded from search indexing. Cost accounting per run is stored so we never have to quietly degrade quality to protect margin.