Keep the ChatGPT UTM Tag Intact So Your AI Visit Counts Stay Accurate

ChatGPT adds a utm_source tag to the links it sends, but your own website can erase that tag before your analytics tool reads it. The fix takes about an hour. You test a tagged link, find any step that removes the tag, and correct it.
If you skip this check, AI visits quietly move into your direct traffic. Your report then understates how many people found you through an AI assistant.
What the tag is and why it matters
OpenAI's publishers and developers FAQ states that ChatGPT automatically includes the UTM parameter utm_source=chatgpt.com in referral URLs. The stated purpose is clear tracking and analysis of inbound traffic from ChatGPT search results.
The same FAQ explains that a site must allow OAI-SearchBot to be discoverable and cited in ChatGPT search. It also says publishers who allow that bot can track referral traffic from ChatGPT in their analytics platform.
A UTM tag is a small label added to the end of a web address. Your analytics tool reads it and records the source of the visit. This is a second signal, separate from the referrer header, so you have two chances to identify an AI visit.
Two signals, two ways to lose them
Every AI visit can carry up to two identifying signals. Knowing how each one fails tells you where to look.
Signal one: the referrer header
The referrer header tells your site which page the visitor came from. Browsers control how much of it is shared. Mozilla's documentation says the default policy, strict-origin-when-cross-origin, sends only the origin on cross-origin requests. It sends nothing when a visit moves from a secure page to an insecure one.
The same documentation explains that a policy of no-referrer omits the header entirely. If an app or a page uses that setting, your site receives no referrer, and the visit looks direct.
You cannot change what other sites send. You can only prepare for visits that arrive without it.
Signal two: the UTM tag
The tag travels in the web address itself, so it does not depend on the referrer header. That makes it more durable. It is still fragile in one place: your own site.
Any step that rewrites the address before your analytics code runs can remove the tag. This is the part you control, and it is the focus of this post.
Where your site may strip the tag
Check these common places. Each one can remove query strings without anyone noticing.
- Redirect rules. A rule that forces a secure address, adds or removes a trailing slash, or moves the www version may send visitors to a clean address with no query string.
- Old page redirects. If a cited page moved, the redirect may point to the new page without passing the tag along.
- URL cleanup scripts. Some themes and plugins remove query strings from the address bar after the page loads. If that script runs before your analytics tag fires, the tag is gone.
- Language or region routers. A rule that sends visitors to a country page may drop the query string during the hop.
- Login or consent pages. A visit that passes through an interstitial page may lose its original address.
None of these is unusual. Most were built for good reasons, such as tidy addresses or search engine consistency. The tag simply was not part of the plan.
A one hour test you can run today
You do not need special software. You need a browser, your analytics real-time view and a list of your top landing pages.
- List your ten most visited pages. Include any page you expect an AI assistant to cite, such as service pages, guides and pricing explanations.
- Add the tag by hand. Take each address and add ?utm_source=chatgpt.com to the end. If the address already has a question mark, use &utm_source=chatgpt.com instead.
- Open each tagged address in a private window. Watch the address bar. If the tag disappears, a redirect or script removed it.
- Check your real-time report. Confirm the visit appears under the source you expect, not as direct or unassigned.
- Repeat with the old and alternate versions. Try the http version, the version with and without www, and any page that has been moved.
Write down every page where the tag vanished. That list is your fix list.
How to fix what you find
Ask whoever manages your site to make redirects pass the query string through to the final address. Most redirect tools have a simple setting for this, often called preserve or append query string.
For cleanup scripts, the safest change is to let your analytics tag read the address first and clean the address afterward. Your web team can confirm the order in which scripts run.
Test again after every change. A fix that works for one rule can leave another rule untouched.
Read the results with care
A working tag does not mean every AI visit will be labeled. Some visits arrive without it, such as when someone copies a link out of a chat and pastes it elsewhere. Other assistants use their own tags or none at all.
Treat the tagged count as a floor, not a total. The real number of AI-driven visits is at least that high, and probably higher.
Do not compare tagged visits to older months without a note. If you fix a redirect today, your AI numbers may rise next month because you are now counting visits you always received. Mark the fix date on your report so nobody reads the jump as new demand.
Turn the numbers into decisions
Once the tag survives, your landing page report becomes useful. Look at which pages receive tagged visits and compare them with the pages you want assistants to cite.
- If a page receives tagged visits and leads to inquiries, protect it. Keep it accurate and current.
- If a page receives tagged visits but visitors leave quickly, check that the page answers the question an assistant likely summarized.
- If a key page receives none, confirm that your robots file allows the search crawler named in OpenAI's FAQ before you change the content.
Small counts are normal. A handful of visits per week is enough to guide a page review, but not enough to declare a trend. Wait for several weeks of steady data before you shift budget or staff time.
A simple routine to keep
Repeat the tagged link test every quarter and after any site change that touches redirects, themes or plugins. It takes minutes once you have the page list.
Your analytics report is only as accurate as the signals that reach it. Protecting the tag is a cheap way to keep your AI visit counts honest.
Frequently asked questions
Does ChatGPT add a tracking tag to the links it sends visitors to?
According to OpenAI's publishers and developers FAQ, ChatGPT automatically includes the UTM parameter utm_source=chatgpt.com in referral URLs. That tag lets you identify inbound visits from ChatGPT search results, as long as your site keeps the tag in the address.
Why would my reports miss visits that carry the tag?
The most common cause is a redirect or URL cleanup rule that drops the query string before the page loads and before your analytics tag runs. When the tag disappears, the visit often falls into direct or an unassigned group.
Do I need to change my Referrer-Policy header to count AI visits?
No. The Referrer-Policy header controls what your own site sends to other sites. The default in modern browsers shares only the origin on cross-origin requests. The UTM tag is a separate signal that does not depend on the referrer header.
Sources
See which AI platforms already send you visitors. Start with AppWT Analytics or ask us a question.