Accumulates instead of replacing
Each check adds its retrieved URLs to the corpus rather than overwriting it. A page cited in three different weeks for two different questions is one row with a citation count, not three unrelated results.
Citation corpus
50
buyer questions per brand on Starter and Growth, each checked on a schedule
fixedPromptsPerBrand in billing/fixed_plans.go. Custom quotes for more than three brands run from 25 to 300.
One visibility check is a snapshot, and snapshots in this category are noisy. Ask ChatGPT the same buying question twice in a week and you can get two different source lists. So the useful object is not a single answer, it is the corpus: every page the engines have retrieved for your questions, accumulated over runs, with the date each one was last cited.
That corpus is the thing the rest of the product reads from. The domain leaderboard, the rank overlap check, the To-dos and the Opportunity Report are all second readings of the same rows. No extra crawl, no second bill.
Where it lives: Sources in the dashboard, and underneath Citations, Analytics, and the To-dos.
| Question | w1 | w2 | w3 | w4 | w5 | w6 | URLs |
|---|---|---|---|---|---|---|---|
| best product analytics for small teams | 14 | ||||||
| alternatives to mixpanel | 11 | ||||||
| cheapest event analytics tool | 9 | ||||||
| posthog vs amplitude | 8 | ||||||
| analytics that does not need an engineer | 6 |
A filled square is a run that returned sources for that question. The URL count only ever goes up, which is the difference between a corpus and a screenshot.
Each check adds its retrieved URLs to the corpus rather than overwriting it. A page cited in three different weeks for two different questions is one row with a citation count, not three unrelated results.
Every URL carries the question it was cited for and the engine that cited it. The same page can be the top source for one buying question and absent from the next, which is the difference between a category authority and a lucky match.
Change your product's description, keywords, or competitor set and the baseline is invalidated: the prompt library is regenerated and the mirror ignores checks from before the change. A repositioned product showing the names its old positioning collected is worse than showing nothing.
Every plan builds a corpus. The check budget decides how fast it fills.
Read the full plan comparison.
Starter and Growth include 50 per brand, and very few products need more. Questions with real buying intent ("best X for Y", "alternatives to Z") produce a corpus you can act on; brand-name questions mostly confirm what you already know.
Every prompt is checked at least once a week, and a prompt whose answers are changing is checked every 3 days. A manual run that hits the rolling guard asks the stalest prompts first.
It stays stored but the baseline is reset, so the first-run mirror and the freshness reads ignore anything from before the change. New checks rebuild against the new positioning.
Prompt library
Auto-generated buyer questions, editable by hand, regenerated when your positioning changes, rotated by staleness.
Citation corpusCitation Sources
Every URL the engines cited in your category, classified, checked for whether you appear in it, and sorted by what you can actually win.
MonitoringAI visibility monitoring
Scheduled per-engine checks with a 0-100 score, tracked separately for being named and for being linked.
Start with the free visibility check to see whether the engines name you today, then run the scan that shows which pages they used instead.