Skip to content

Clicktag ChatGPT user agent guide

ChatGPT-User: the bot that opens pages for ChatGPT users

Clicktag is a free web analytics tool that tracks verified ChatGPT-User hits per page with no credit card and no cookies, importing 30 days of history on connect and syncing every 15 minutes across up to 50 websites.

ChatGPT-User is the user agent OpenAI uses when certain user actions in ChatGPT or a Custom GPT lead it to visit a web page. It is not used to crawl the web automatically, and OpenAI does not use it to decide whether your content appears in search. Standard JavaScript analytics tags cannot see it because the fetcher downloads raw HTML without executing scripts.

What ChatGPT-User is and when it fetches a page

OpenAI uses separate bots for different jobs, and ChatGPT-User is the one tied to a person's request. According to OpenAI's bot documentation, it visits pages for user actions in ChatGPT and Custom GPTs.

Its full user agent string looks like this:

Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot

OpenAI publishes the IP ranges this fetcher uses at https://openai.com/chatgpt-user.json. Because anyone can put ChatGPT-User into a custom script's user agent header, checking the request against OpenAI's published IP list or Cloudflare's bot verification tells you whether a hit really came from OpenAI.

Does ChatGPT-User follow robots.txt?

Not always. OpenAI's documentation says: "Because these actions are initiated by a user, robots.txt rules may not apply." The visit comes from a user action in ChatGPT or a Custom GPT, not from an automated crawl.

OpenAI also notes that ChatGPT-User is not used to determine whether your content may appear in search. Search inclusion is handled by OAI-SearchBot, and model training crawls are handled by GPTBot. If you want to control search indexing or training, you set rules for those two bots in /robots.txt, where OAI-SearchBot takes about 24 hours to adjust to updates.

Why a ChatGPT-User hit is a demand signal

A ChatGPT-User request is not a human visit in a browser. The person stayed inside ChatGPT, and your page's JavaScript never ran.

A verified ChatGPT-User hit means a user action in ChatGPT or a Custom GPT led OpenAI to fetch that page.

Even when the user never clicks through to your site, seeing which paths get fetched by ChatGPT-User shows which products, docs, or articles ChatGPT is reading for its users.

When that person does click a link inside the chat, their browser loads your site and runs your analytics script. ChatGPT adds utm_source=chatgpt.com to links it displays, and Clicktag reads utm_source first, so the human visit shows up under the chatgpt.com source.

ChatGPT-User vs OAI-SearchBot vs GPTBot vs a referral visit

OpenAI's activity shows up in two different places in Clicktag depending on whether a bot fetched your HTML or a person clicked a link in their browser.

Traffic type What triggers it Obeys robots.txt? Where it shows in Clicktag
ChatGPT-User A user action in ChatGPT or a Custom GPT Rules may not apply Crawlers tab (AI assistant type)
OAI-SearchBot OpenAI crawling to surface sites in ChatGPT search Yes (~24 hours to adjust) Crawlers tab (AI search type)
GPTBot OpenAI crawling content that may train foundation models Yes Crawlers tab (AI training type)
ChatGPT referral visit A person clicks a link to your site inside ChatGPT N/A (human browser) Traffic sources as chatgpt.com

You can read how each side works in AI traffic analytics and AI crawler analytics, or explore the visitor reports in the live demo.

How to see ChatGPT-User hits per page in Clicktag

Because ChatGPT-User fetches raw HTML and never executes JavaScript, latest.js never fires for it. Clicktag tracks crawler requests through your Cloudflare zone using a read-only token, with no code changes on your site.

1. Verify your site in Clicktag

Your site must be verified in Clicktag and proxied through Cloudflare (any Cloudflare plan works, including Free). You can verify ownership with the latest.js script tag (about 4 KB compressed) in the server-sent homepage HTML, a DNS TXT record, or a file under /.well-known/.

2. Create a read-only Cloudflare token

Open your site's settings in Clicktag, go to Integrations, and find Cloudflare. Click Create a read-only token. Cloudflare opens its token page with Zone Read and Analytics Read preselected for your zones.

3. Connect and import 30 days of history

Copy the token, paste it into Paste the token in Clicktag, and click Connect. Clicktag imports the last 30 days of crawler history on connect and syncs new data every 15 minutes. While Cloudflare drops this data after 31 days, Clicktag keeps your hourly history so it continues to grow over time.

On the Crawlers tab, click ChatGPT-User in the Bots panel to filter the tab. You will see:

  • AI crawler hits: verified hits from ChatGPT-User, kept separate from unverified requests that spoof the user agent from outside OpenAI's IP ranges.
  • Pages: the top 100 paths requested by the bot, excluding scripts, styles, fonts, images, and /cdn-cgi/ endpoints (text files like /robots.txt and /llms.txt do count as pages).
  • Responses and blocked counts: the HTTP status codes your server returned, plus how many verified hits got a 401, 403, or 429 response.

If you also want to measure what happens when people click through from ChatGPT, set up a goal on a signup page or custom event (up to 50 goals and funnels per site) and break it down by referrer to compare how chatgpt.com and google.com visitors convert. Full setup details are in the AI crawlers docs.

FAQ

Why doesn't ChatGPT-User show up in standard web analytics?

ChatGPT-User fetches the raw HTML of a page and never runs JavaScript, so browser-based tracking scripts never fire. Clicktag reads these requests from Cloudflare's analytics instead and keeps them on the Crawlers tab so bots never pollute your human visitor and pageview counts.

How does Clicktag tell real ChatGPT-User hits from spoofed bots?

Anyone can put ChatGPT-User in an HTTP user agent string. Clicktag only counts a hit as verified when Cloudflare verifies the bot or when the request IP matches the ranges OpenAI publishes (checked during the sync without ever storing IP addresses); spoofed requests go into a separate unverified count.

Does Clicktag block ChatGPT-User or other AI bots?

No, Clicktag only reports crawler activity and does not block traffic. If a firewall rule or Cloudflare setting on your site returns a 401, 403, or 429 status code to a verified bot, Clicktag shows those requests in the blocked count on the Crawlers tab.

What are the limits on crawler tracking in Clicktag?

Clicktag is free with no credit card and supports up to 50 websites per account. Crawler tracking requires your domain to be proxied through Cloudflare (including the Cloudflare Free plan), imports 30 days of history on connect, syncs every 15 minutes at 1-hour granularity, and displays the top 100 bots and top 100 pages per report.

What else does Clicktag leave out?

Clicktag does not offer session recordings, heatmaps, bounce rate, A/B testing, revenue tracking, individual visitor profiles, or Google Analytics imports. It sets no cookies, stores no IP addresses, and requires a Google account to sign in.

Updated October 30, 2026