1001 SEO Media
All posts
By 1001 SEO MediaGEOAI searchtechnical SEO

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. We store mentions next to referrals.

OpenAI ChatGPT Search for publishers, referrals, and analytics is a documentation job we run before anyone buys a dashboard. The pages are 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.

The documentation job is the first job. Before anyone buys a dashboard, we read the two OpenAI pages and turn them into a ticket list. The Publishers and Developers FAQ and the crawler overview are the source documents. The rules are simple to state: any public website can appear in ChatGPT search, allow OAI-SearchBot in robots.txt for summaries and snippets, and publishers who do can track referral traffic in tools such as Google Analytics because ChatGPT includes utm_source=chatgpt.com on referral URLs.

That is the official referral story. It undercounts the job we sell. Most ChatGPT answers never create a session. A mention can still put you on a shortlist, or leave you off it, with zero UTM. We will not brief a client that "analytics" means only the referral line.

The undercount is the gap. The official referral story counts clicks that come back with a UTM. Most ChatGPT answers never create a session, because the reader got the answer in the chat and left. A mention can still put you on a shortlist, or leave you off it, with zero UTM, which means the UTM line undercounts the actual visibility. We will not brief a client that "analytics" means only the referral line, because that misses the mentions that sent no click.

Official crawler split we put in the tech ticket

OAI-SearchBot: search. Opting out means you will not be shown in ChatGPT search answers (navigational links may still appear). Allow published IP ranges (searchbot.json). GPTBot: training. ChatGPT-User: user-initiated fetches; robots.txt may not apply the same way, and it is not the Search opt-out control.

The crawler split is the ticket we file. OAI-SearchBot is the search agent. Opting out means you will not be shown in ChatGPT search answers, though navigational links may still appear. Allow the published IP ranges from searchbot.json. GPTBot is the training agent, a different job. ChatGPT-User is the user-initiated fetch agent, and robots.txt may not apply the same way, so it is not the Search opt-out control. The three agents do three jobs, and the opt-out control for Search is OAI-SearchBot, not the other two.

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.

The third-party path is the edge case. If OpenAI gets a disallowed URL from a third party, it may still show a link and title, because the disallow was on your robots.txt and the third party supplied the URL. noindex is the documented limit for that case, and the bot must be allowed to read the tag, which means the page has to be fetchable for the noindex to be honored.

CDN "bot protection" presets often block these by default. We check logs, not robots.txt intent alone. This is the same Step 0 as how to get cited by ChatGPT.

The CDN preset is the hidden block. CDN bot protection presets often block OAI-SearchBot by default, so a green robots.txt with a red firewall still 403s the bot. We check logs, not robots.txt intent alone, because the log is the proof of the fetch. This is the same Step 0 as the how-to-get-cited-by-ChatGPT workflow, which means the access check comes before the content work.

Analytics stack that matches the FAQ

GA4 (or whatever they already use) filtered on utm_source=chatgpt.com. A custom channel group so those hits do not pollute Referral.

The GA4 layer is the referral layer. Filter on utm_source=chatgpt.com. Build a custom channel group so those hits do not pollute the generic Referral bucket, because without the channel group the ChatGPT sessions mix with every other referrer and the number becomes unreadable.

Promptwatch visitor analytics, installed through a script or GTM, joins AI-referred events to the mention row. Essential at $95/mo covers daily ChatGPT Search prompt tracking, citation analytics, and visitor analytics. It has no listed crawler-log allowance. Agent Analytics starts on Professional for brand plans and is also included on the agency plans. Explore is free, ChatGPT only, and limited to 10 prompts. Kick-off is $199/mo with crawler logs, unlimited projects, and 10 seats.

The Promptwatch layer is the join layer. Visitor analytics, installed through a script or GTM, joins AI-referred events to the mention row, which is the object that connects a click to a prompt. Essential at $95 covers daily ChatGPT Search prompt tracking, citation analytics, and visitor analytics. It has no listed crawler-log allowance, so a team that needs the log moves up. Agent Analytics starts on Professional for brand plans and is also included on the agency plans. Explore is free, ChatGPT only, and limited to 10 prompts, so it is a first look. Kick-off is $199 per month with crawler logs, unlimited projects, and 10 seats, which is the agency row.

GSC generative reports stay for Google Overviews. Reading. They are not ChatGPT referrals.

The GSC placement is the Google placement. GSC generative reports stay for Google Overviews, because Overviews are Google, not ChatGPT. They are not ChatGPT referrals, so they do not belong in the ChatGPT column.

Ahrefs and Semrush stay. We do not pause them because a UTM showed up.

The suite rule is the keep rule. Ahrefs and Semrush stay. We do not pause them because a UTM showed up, because a UTM is a referral signal, not a rank signal, and the rank work still needs the suite.

Professional is $245/mo. Business is $579/mo.

The plan ladder is the budget ladder. Professional is $245 per month. Business is $579 per month. The two tiers raise limits and add the crawler log on Professional.

Otterly ($29), Peec ($95), and Profound Starter ($99 annual, ChatGPT only) do not replace the official robots and UTM work.

The cheaper rows are not the documentation rows. Otterly at $29, Peec at $95, and Profound Starter at $99 annual with ChatGPT only do not replace the official robots and UTM work, because the robots and UTM work is the prerequisite, not the measurement. The measurement sits on top of the prerequisite.

What we will not do

We will not treat a quiet GA4 line as proof you were never mentioned. We will not block GPTBot and call that a Search opt-out. We will not promise that allowing OAI-SearchBot produces citations.

The three no's are the honesty no's. We will not treat a quiet GA4 line as proof you were never mentioned, because most mentions send no click. We will not block GPTBot and call that a Search opt-out, because GPTBot is training and OAI-SearchBot is search. We will not promise that allowing OAI-SearchBot produces citations, because allow is the prerequisite, not the guarantee.

FAQ

Is the UTM always on the click?

OpenAI says ChatGPT includes it on referral URLs. In-app browsers can still strip referrers.

Does allowing GPTBot replace OAI-SearchBot?

No. Training versus Search.

Can we skip Promptwatch if GA4 shows chatgpt.com sessions?

Only if the SOW is referral counts. If you need the mention on prompts that sent no click, you still want the prompt log.

What to do this week

  1. Allow OAI-SearchBot on pages you want in ChatGPT Search.
  2. Allow the published IP ranges at the CDN.
  3. Add a GA4 view for utm_source=chatgpt.com.
  4. Load 15 buyer prompts into Promptwatch Essential ($95). Report mentions and referrals as two lines.
  5. Email hello@1001seomedia.com if you want the publisher FAQ turned into a ticket list on your domain.