Methodology
Last updated 2026-07-20
AttractOS reports exactly what our samples returned — no more. Here's how a scan works and what it can and can't tell you.
The lanes
For each intent, we query three live assistant-search APIs and record who they cite:
- OpenAI model (gpt-5.4-mini) with web retrieval via OpenRouter — the answer is written by an OpenAI model; the web results it reads are retrieved by OpenRouter's web search, not by OpenAI's own index. Those are two different vendors and we name both, because "an OpenAI answer" and "OpenAI's search results" are not the same claim. OpenAI's dedicated search models are no longer reachable on this route: gpt-4o-mini-search-preview was deprecated by OpenAI, and gpt-5-search-api is not carried by OpenRouter.
- Perplexity Sonar API sample — Perplexity's answer engine, retrieval and answer both Perplexity's.
- Gemini grounded API sample — Google Gemini with Google Search grounding, retrieval and answer both Google's.
Every report names the exact model id and source behind each lane, and the status it reports is what that lane actually did on your run — not whether we had a key for it. A lane that answered every call reads live; one that answered some reads degraded; one that answered none reads unavailable, and its cells are shown as unknown rather than counted as places you weren't cited.
What that means for your money: if a lane is already offline when a deep audit starts, we hold the job instead of running a knowingly short audit, and a held job that can't be completed is refunded in full. If a lane fails partway through a run, you get the report with that lane marked unavailable and the missing sample stated plainly. A deep audit that can't sample at least 60% of its intents on two or more lanes fails and refunds automatically.
How we match citations
We resolve each cited link to its registrable domain (the eTLD+1, across any TLD) and match on that — so blog.yoursite.com and yoursite.com/guide both count as you, and a lookalike domain doesn't. For grounded answers that return redirect links, we resolve them to the real destination before matching.
What "sampled snapshot" means
Each cell in your report is a single, dated sample from a live API — not an average over time and not a rank tracker. Assistant answers vary between runs and shift as models and their indexes change. Treat your report as a snapshot of one moment, useful for spotting where you clearly are or aren't showing up — not as a guaranteed, repeatable ranking.
Your intents, honestly labeled
In a deep audit you supply up to 10 intents. We expand toward 25 using only documented sources — your own sitemap and page titles, and related queries the assistants themselves suggest. Every intent is tagged by where it came from (your intent, derived from your site, or assistant-suggested). We never invent search-demand numbers.
Checks on your own pages
We run deterministic checks on your homepage and cited pages — whether they're fetchable, whether you publish an llms.txt, robots.txt and sitemap, what schema.org types you expose, and whether your homepage lead has the answer-capsule shape that tends to get cited. If we can't fetch a page, we say so plainly rather than showing a blank.
Questions
Want to know more about how a specific result was produced? Email support@attractos.com.