The grain
One group per prompt, per model, per surface. Surface is in the grouping for the same reason it is everywhere else in the product: a consumer answer and an API answer draw on different pages, and averaging them produces a plan that fits neither. Country is deliberately not in the grouping. A page that decides a prompt in the US decides it in the UK too, and splitting by country here would quarter every sample for no gain in what to do next.Weight, not raw citations
Sources are ranked by citation share × position, not by how many times a page was cited. A page cited once at the top of every answer decided more than a page cited twice near the bottom of one, and a ranking that could not tell them apart would keep sending you after the loudest source instead of the one that actually decides. Position weight is1 / mean position. A citation the model attached without a clear position is scored as if it sat at the back of the list — stated as such, rather than dropped or quietly treated as first.
Classification: yours, a competitor’s, or someone else’s
Every source in a group is classified the same way the sources report classifies it, so a domain is never “ours” on one screen and “third party” on another:- Yours — a page on your own domain.
- A competitor’s — a page on a domain you track as a competitor.
- Someone else’s — everything else: review sites, forums, documentation hubs, comparison pages, listicles.
”You are on it”
A source is marked on it in either of two cases:- it is your own domain, or
- you have a placement there whose execution status is verified.
The next move
Every source carries two things: where you stand on it, and what kind of source decides answers on that engine. Together they say what to do next.Where you stand: new, better or fix
Every source in a group gets one of three words. Only the group’s top ten sources are looked at when deciding whether a competitor ranks above you:
The group gets the same words, read off your best-ranked source:
new when nothing of yours is in its top ten, better when a competitor ranks above your best, fix otherwise.
On the Sources tab: one move per domain
Analytics → Sources has one row per domain for the whole workspace, so the per-group words are folded into four columns:- Type: what sort of place the domain is (see below).
- You’re on it: your own site, or a placement we verified.
- Prompts decided: the tracked prompts where this domain is in the top ten sources on at least one engine. A 0 is a measurement: the domain was cited, and never high enough to decide.
- Next move: what to do about this domain.
better over new over fix. A domain we are ahead on for one prompt and behind a competitor on for another needs the better work.
The next move is the word and the type together, said as a verb:
A domain that is not in the top ten sources for any prompt in the window has no move. Its cell is a dash, and hovering it says why.
The types:
- Yours: your own domain, or another domain confirmed as yours.
- Competitor: a domain you track as a competitor, whatever kind of site it is.
- Reddit and G2: each its own type, because each has its own way in.
- Directory: review sites and listing directories such as Capterra, TrustRadius, Trustpilot and Product Hunt, where there is a form to fill in rather than an editor to pitch.
- Community: social and user-written sites other than Reddit, such as YouTube, Quora, LinkedIn, Medium and GitHub, where the author is not the site.
- Media: the rest of the third-party web: publishers, blogs, listicles and trade press.
- Reference: institutional sources such as Wikipedia,
.govand.edudomains. - AI platform: an assistant or AI tool’s own site.
What decides on each engine
Alongside the word, every source and group carries what kind of source decides answers on that engine, and the move that works there. Today, every workspace gets this from one static, per-engine table, because the observations layer this could instead draw on does not have enough evidence yet:
An engine not in the table gets the threads and roundups row. Once your own workspace has read enough answers on a given source (at least 20 successful reads), this switches from the static table to what your own history shows. It always says which one it came from, so you know whether you are looking at a general rule about the engine or a pattern proven in your own data.
Every row and every group carries n: the successful answers behind it, in the same window and counted the same way as the rest of the product. A share without its n is noise in a confident font.
Where to find it
- On Analytics → Overview, each lost prompt names the source that decided it. See The analytics overview.
- On Analytics → Sources, in the Type, You’re on it, Prompts decided and Next move columns.
- In a prompt’s win plan, engine by engine.
- As the agent tool
deciding_sources, so a chat or automation can pull the same map, as the same-named MCP tool from your own assistant, and over REST asGET /v1/deciding-sources. Each takespromptto narrow to one prompt anddaysto set the window.
MCP
n, null, and significance everywhere else these shapes appear.