Track your visibility in ChatGPT
How TriRank checks whether ChatGPT cites your domain, what a citation there actually proves, and the limits of any tool that claims to measure it — including ours.
TriRank asks the OpenAI Responses API your brand questions with the web_search tool forced on, then decides "cited" only by matching the structured url_citation annotations the model returns against your domain. The answer text is never read for brand mentions.
Most "does ChatGPT mention my brand" checks are someone typing a question into a chat window once and screenshotting the result. That tells you what one prompt returned on one afternoon. It does not tell you whether you are reliably part of the answer, and it cannot be repeated the same way twice.
This page describes exactly what TriRank does instead, including the parts that are limitations rather than features.
How the probe works
Every tracked query goes to the OpenAI Responses API with the web_search tool
turned on and required, so the model cannot answer from memory alone — it has to
go and retrieve. That distinction matters more than it sounds. A model answering
from training data will happily produce brand names it learned about years ago,
with no source behind any of them, and a checker that reads those names off the
prose would report citations that do not exist.
The call returns two things we care about: the answer, and a set of structured citation annotations. Each annotation carries the URL the model actually pulled from. We keep up to twelve of them per query and store them verbatim, which is what makes every verdict auditable after the fact rather than a number you have to take on faith.
The model tier is deliberately the cheapest one that supports web search, and it is configurable, because model names in this space churn faster than any page can track. What is not configurable is the retrieval requirement.
What "cited" means here
A query counts as cited when one of those structured source URLs resolves to
your domain. The matching rule is narrow on purpose: we reduce each URL to its
host, lowercase it, drop a leading www., and count it only when that host is
your domain exactly or a subdomain of it.
Three things follow from that, and all three are deliberate:
- A mention in the answer text is not a citation. If ChatGPT says "TriRank does this" without a source link, we record not cited. Reading brand names out of prose is the single easiest way to manufacture a flattering number, and we do not do it.
- A citation to a page about you does not count as a citation of you. If the engine cites a review site's write-up of your product, that is the review site earning the citation. Useful to know, and it shows up in the source list — but it is not your domain being cited.
- A subdomain counts. Docs, help centres and blog subdomains are your site.
What this cannot tell you
The honest limits, stated plainly, because a measurement whose boundaries are hidden is worse than no measurement.
It is not the consumer product. The thing you open in a browser and the API we query share a retrieval layer, not an identity. The consumer product personalises on account history and prior turns in the conversation, has its own release cadence, and offers no programmatic way to sample it. Anyone claiming to measure the logged-in consumer experience at scale is either driving an automated client through a session that was never meant to be automated, or describing what we describe and labelling it more generously.
One reading is noise. Retrieval, ranking and generation all vary run to run. The same question asked twice within an hour can return different sources. A single probe is a coin flip you are reading as a verdict; the series is the signal, which is why the sweep runs weekly and why the trend line matters more than any individual cell.
Absence is not always evidence. A query where the engine simply did not retrieve much is different from a query where it retrieved plenty and none of it was you. The stored sources let you tell those apart by looking; the summary number cannot make that distinction for you.
There is no position number here, and there is not one to have. A results page has ten slots, so a rank is a row you either occupy or you do not. A synthesized answer is prose that names a few brands and links a few pages, and there is rarely a numbered position to track inside it. What this check reports is therefore presence and citation, not a row number, and nothing on this page converts into one. Where you would want a rank, the measurement doing that job is the trend — how often this engine cited you across weeks of the same questions, rather than where you placed inside any single answer. The word "rank" is still settling in this market: we use it in the sense set out under AI search ranking, and AI search rank tracking covers what tracking it involves.
There is no published cross-brand benchmark for this engine. What runs on your account is your own sweep: your tracked queries, through this engine, on the same weekly cadence as the other four. What does not exist is a public study across many brands that would let you ask how this engine behaves in general — how often it cites anyone, or which kinds of sites it tends to reach for. No number on this page comes from one, and we are not putting a date on when there will be one. The distinction is worth stating plainly, because "we do not measure this engine" and "we have not published a study about this engine" are different claims and only the second is true.
What to do with the result
If you are not cited on a query you care about, the source list for that query is the most useful thing on the screen. It names the pages that did get retrieved. That is the shortlist you are competing against, and it is usually a very different shortlist from the one ranking in blue links — which is the whole reason ranking on Google does not get you cited by AI.
Two patterns show up often enough to be worth naming. First, engines disproportionately retrieve pages that answer a question directly in their first paragraph rather than building to it — the structure that answer engine optimization is named after. Second, the pages that get cited tend to be the ones a machine can summarise without losing the claim: specific, sourced, and dated.
You can check either of those on a single page for free with the free audit, which runs this same probe against your domain and shows you the sources it found.
FAQ
Does TriRank check the real ChatGPT product?+
No, and no tool honestly can. We probe the OpenAI API's web_search tool, which is a proxy for ChatGPT with browsing — the same retrieval layer, reached programmatically. That is why every label in the product reads ChatGPT (web search) rather than ChatGPT. The consumer product has no API, personalises answers per account, and cannot be sampled without an automated client driving a logged-in session.
How do you decide my site was cited?+
Only from the structured citation annotations the API returns alongside the answer. Each one carries a URL; we reduce that URL to its host and count it as a citation when the host equals your domain or is a subdomain of it. A brand name appearing in the prose is not a citation and never counts.
Why did the same question get a different answer this week?+
Because the engine ran a live web search both times and the web moved. Answer engines are not deterministic: retrieval, ranking and generation all vary between runs. That is exactly why a one-off check tells you very little and a weekly series tells you something.
What does a citation in ChatGPT actually get me?+
A place inside the answer a user reads, and a source link they may or may not click. Treat it as a visibility signal, not a traffic forecast. If you want the traffic side, pair it with your Search Console data — TriRank ties both to the same page.
See where you stand in this engine.
Run the free audit and get a real, source-checked verdict for your own domain. No login, no trial countdown.
Run free audit