OpenAI ChatGPT Search for Publishers: Referrals and Analytics
Official OpenAI publisher FAQ: allow OAI-SearchBot, track utm_source=chatgpt.com. Most answers send no click. Promptwatch stores mentions next to referrals.
OpenAI ChatGPT Search for publishers, referrals, and analytics is documented in the Publishers and Developers FAQ and the crawler overview. Any public website can appear in ChatGPT search. For summaries and snippets, allow OAI-SearchBot in robots.txt. Publishers who do can track referral traffic in tools such as Google Analytics. ChatGPT includes utm_source=chatgpt.com on referral URLs.
That is the official referral story. It undercounts the job. Most ChatGPT answers never create a session. A mention can still win or lose a shortlist with zero UTM, because the reader took the brand name into the next decision without clicking through. A publisher program that only watches GA4 is watching the smaller half of the story, and the half it watches is the half that depends on a click the model rarely produces.
If your analytics line is quiet, you were not necessarily invisible. You may have been named in an answer that never produced a click. Treat referrals as referrals. Treat mentions as mentions.
Official crawler split
OAI-SearchBot: search. Opting out means you will not be shown in ChatGPT search answers (navigational links may still appear). GPTBot: training. ChatGPT-User: user-initiated; not the Search opt-out lever.
Those are three bots with three different jobs. Blocking "all the OpenAI ones" because of training panic is how you lose Search while you argue about GPTBot. Allow OAI-SearchBot if you want summaries and snippets. Decide GPTBot separately. Do not use ChatGPT-User as the Search opt-out control. robots.txt may not apply to ChatGPT-User the same way, because a user asked for that fetch.
If OpenAI gets a disallowed URL from a third party, it may still show a link and title. noindex is the documented limit, and the bot must be allowed to read the tag. A robots block that also prevents the crawler from seeing noindex is not a complete hide, because the crawler never reaches the tag that would have removed you.
Confirm published IP ranges if the CDN is aggressive. A robots.txt allow with a WAF deny is still a deny, and we have seen publishers allow the bot in robots.txt and 403 it at the edge without realizing the two were fighting each other. The robots file says yes. The firewall says no. The bot never gets in, and the team blames the content.
Analytics stack that matches the FAQ
GA4 or a similar tool can filter on utm_source=chatgpt.com, with a custom channel group so those hits do not pollute Referral. Promptwatch Essential is $95/mo for daily ChatGPT Search tracking and 200K visitor events through a script or GTM. It does not include crawler logs. Professional at $245/mo adds Agent Analytics with a 25M log allowance. Explore is free and ChatGPT-only. Site: promptwatch.com. Method: how we rank.
Two lines on the report. Mentions: did the frozen prompt name you, and which URL did it use. Referrals: did utm_source=chatgpt.com show up. In-app browsers can still strip referrers. Do not treat a quiet GA4 line as "we were never mentioned," because a stripped referrer looks the same as no mention in the analytics tool, even though the model did name you.
The reason to keep the two lines apart is that they fail for different reasons and need different fixes. A missing mention is a content or crawl problem. A missing referral with a mention present is a copy or audience problem. A missing referral with no mention is not a problem you can fix in analytics at all. A blended score turns three distinct failures into one flat number, and the team picks the wrong lever.
Explore will store ChatGPT prompts. Essential is $95/mo for the daily Search-answer habit plus visitor analytics next to the row. To see whether the search bot fetched you after you allowed it, use Agent Analytics on Professional, because a mention that never appeared is often a fetch that never happened, and the fetch log is the thing that tells you which.
FAQ
Is the UTM always present?
OpenAI says ChatGPT includes it on referral URLs. In-app browsers can still strip referrers. Do not treat a quiet GA4 line as "we were never mentioned."
Does allowing GPTBot replace OAI-SearchBot?
No. Training is not Search. Allow OAI-SearchBot for summaries and snippets.
What to do this week
- Allow OAI-SearchBot on citation candidates. Read the crawler overview if the robots file is a mess of AI blocks.
- Add a GA4 view for
utm_source=chatgpt.com. Put it in a custom channel group. - Load 15 buyer prompts into Promptwatch.
- Report mentions and referrals as two lines.
- Confirm published IP ranges if the CDN is aggressive.
The official FAQ is the source for the UTM and the bot. Most answers still send no click. A publisher program that only watches GA4 is watching the smaller half of the story.