ChatGPT visibility tracking needs a defined question set and a clear distinction between ChatGPT Search, a user-triggered page visit, and model-training crawling. No single log or vendor score covers every way a brand may appear in ChatGPT.
Decide which ChatGPT signal you need
For brand mentions, record whether a defined response names the brand. For citations, record whether ChatGPT visibly links to a page and which URL. For referral visits, use analytics to count visits attributed to ChatGPT where attribution is available. For crawler access, inspect server/CDN logs. These are four different observations and should not be combined into one “visibility” number.
OpenAI documents separate user agents: OAI-SearchBot supports ChatGPT search discovery; ChatGPT-User can visit a page after a user asks about it; GPTBot is associated with potential model training. The settings are independent. Blocking a training crawler does not, by itself, mean blocking search discovery. Check OpenAI’s current crawler documentation before changing robots.txt or edge rules.
Build a repeatable ChatGPT sample
- Write questions that real prospects might ask, including category, comparison, and problem-solving prompts.
- Save the exact wording, date, language, country or location setting, ChatGPT mode, and whether search was enabled.
- Run the same prompts at a fixed cadence and record the full response, named brands, source links, and whether the brand appears in the answer or only in sources.
- Repeat enough times to observe variation. Report the prompt count and response count as the denominator; do not call a small sample “all ChatGPT answers.”
- Keep a separate row for links/citations and for the referral visits those links may generate.
An AI visibility tracker can automate some of this collection. Ask whether its ChatGPT data comes from custom prompts, an indexed prompt set, public UI, API, or another source. Those datasets answer different questions. See the tracking tools guide and our documentation-based Peec AI, OtterlyAI, and Profound profiles.
Measure website visits separately
Review analytics referral sources and landing pages for ChatGPT traffic. The traffic report captures visits that reach your site; it misses answer views that do not click and may not identify every user who later returns directly. Check your analytics implementation and attribution windows before comparing periods.
Check technical access without overblocking
Review robots.txt, CDN/WAF rules, HTTP status codes, and logs for the relevant OpenAI agents. A declared robots.txt permission is not the same as proof that a request reached the origin successfully. Do not allow or block crawlers blindly: decide whether the use case is Search discovery, user-directed retrieval, or training. OpenAI says robots changes for search may take about 24 hours to adjust.
What this method cannot prove
An observed mention does not establish that a content change caused the mention, that the brand will appear for another user, or that a model’s static knowledge changed. A citation is not a click. Compare only runs with documented prompts, settings, and dates; see how to measure AI visibility for the shared protocol.