How to Track AI Traffic: ChatGPT, Claude, and Perplexity Referrals (and the Revenue Behind Them)

MJ
Marcus Johnson
| 11 min read AI Attribution December 28, 2025

The short answer: You can track AI traffic by segmenting sessions from AI referrer domains like chatgpt.com, perplexity.ai, and claude.ai, or by using GA4’s new AI Assistant channel. But referrer stripping pushes a large share of AI visits into Direct, so treat those reports as a floor. Real attribution needs first-party, server-side capture.

Most guides ranking for this keyword stop at the easy part: build a GA4 channel group, admire the new row in your acquisition report, done. That answers “how many visits came from ChatGPT” and nothing else. It does not tell you which of those visits bought anything, it undercounts the channel badly, and it says nothing about what to do next. This guide covers the standard setup properly, then goes where the other guides do not: what the numbers miss, and how to connect AI traffic to revenue.

Why AI traffic deserves its own tracking now

Two years ago AI referrals were a rounding error. They are not anymore. ChatGPT, Perplexity, Gemini, and Claude all cite sources and link out, and buyers increasingly start product research inside an assistant instead of a search box. The searches are happening either way; the question is whether you can see them.

The visitors that do click through behave differently from search visitors. They arrive pre-qualified: the assistant has already compared options, summarized reviews, and often recommended a shortlist. Marketers who segment this traffic consistently report that it converts at a higher rate than the blended average, which makes sense when someone else has done the persuading before the click. Small volume, high intent. That is exactly the kind of traffic worth measuring properly, because it punches above its session count in revenue.

There is also a defensive reason. If AI assistants are answering questions your blog used to answer, some of your “lost” organic traffic is not lost demand. It moved. Without AI traffic tracking you cannot tell the difference between demand disappearing and demand changing doors.

Where AI traffic shows up in your analytics

AI referral traffic arrives like any other referral: with a referrer header naming the sending domain. These are the domains that matter in 2026:

SourceReferrer domain(s)Notes
ChatGPTchatgpt.com (legacy: chat.openai.com)Appends utm_source=chatgpt.com to citation links in ChatGPT search
Perplexityperplexity.aiThe most consistent referrer-passer of the group
Claudeclaude.aiFrequently strips the referrer
Geminigemini.google.comSometimes classified under Google referrals if you are not careful
Copilotcopilot.microsoft.comBing-adjacent, low volume for most sites
Meta AImeta.aiEmerging

Two useful details. First, OpenAI now appends utm_source=chatgpt.com to links surfaced in ChatGPT search results, so some ChatGPT sessions carry an explicit UTM even when the referrer survives. Second, the referrer is the exception, not the rule: assistants running in native apps, agent modes, and privacy-conscious browsers frequently strip it, and a user who copies a link out of a chat and pastes it into a new tab sends nothing at all. Hold that thought; it is the single biggest problem with every method in this post.

GA4’s AI Assistant channel, and the custom channel group that still beats it

In May 2026 Google added a native AI Assistant channel to GA4’s default channel group. Sessions whose referrer matches a recognized AI domain are tagged with the medium ai-assistant and filed automatically. If you have done nothing so far, open Reports, then Acquisition, then Traffic acquisition, and check whether the AI Assistant row is already populated. For a lot of teams this quietly solved classification overnight.

It did not solve everything. The native channel only catches sessions that arrive with a recognizable referrer or UTM, its domain list is Google’s rather than yours, and you cannot see or edit it. A custom channel group is still worth building if you want control:

  1. In GA4, go to Admin, then Data display, then Channel groups, and create a new channel group.
  2. Add a channel named AI Search (or AI Assistant) with a condition matching session source against a regex like:
chatgpt\.com|chat\.openai\.com|perplexity\.ai|claude\.ai|gemini\.google\.com|copilot\.microsoft\.com|meta\.ai
  1. Order matters. GA4 assigns each session to the first matching channel, so place your AI channel above Referral or your AI visits get swallowed by the generic bucket.
  2. Backfill your view: channel groups apply retroactively in reports, so you can immediately see the trend line, not just data from today forward.

For a quick look without any setup, filter Traffic acquisition by session source containing “chatgpt” or “perplexity”. It works, it is just not durable reporting.

The dark AI traffic problem: your report is a floor, not a measurement

Here is the take the setup tutorials skip: whatever number your AI channel shows, the real number is higher, and the gap is not small.

Referrer stripping is the main culprit. ChatGPT and Claude in particular often pass users through without a referrer, and any assistant used inside a native app tends to launch links in ways that lose attribution. Those sessions land in Direct. One analysis puts roughly a third of Direct traffic as actually AI-referred for content-heavy sites. Whatever the true share is for your site, the direction is certain: GA4 systematically undercounts AI, and the channel most inflated by the loss is Direct.

Agent-style browsing makes it worse. When an assistant reads your pricing page and answers the user’s question in chat, you got the influence with no session at all. No analytics tool will ever show you that visit, which is why AI visibility (are you being cited) and AI traffic (are you being clicked) need separate tracking.

You cannot fix dark traffic entirely, but you can shrink it with a signal stack. Each layer catches sessions the one above it missed:

SignalCatchesMisses
Referrer domainClean click-throughsApp traffic, stripped referrers
utm_source=chatgpt.comChatGPT search citationsOther assistants, copied links
Landing page patternsDeep links to pages that only assistants surfaceAnything ambiguous
First-party server-side captureSession and conversion linkage that survives blockersZero-click influence

The point of the stack is not perfection. It is moving your floor closer to the truth than a referrer-only report will ever get.

Crawlers are not referrals

A quick distinction most coverage blurs. GPTBot, ClaudeBot, and PerplexityBot showing up in your server logs is not AI traffic in any marketing sense. That is the supply side: assistants reading your content so they can cite it later. AI traffic is the demand side: a human clicking through after an assistant mentioned you.

Both are worth watching, but mixing them ruins your data in both directions. Crawler hits inflate “AI visits” if your analytics counts them, and humans get miscounted as bots by crude user-agent filters. Keep crawler monitoring in your log files and referral tracking in your analytics, and never report one as the other.

From counting visits to attributing revenue

Everything above tells you how many AI sessions you got. None of it tells you what they were worth, and that is the question that decides budgets.

The classification-only approach fails at revenue for two reasons. First, the sessions most likely to convert are also the sessions most likely to arrive dark: a buyer who spent twenty minutes comparing options inside ChatGPT often types your URL directly or pastes it, and their purchase gets credited to Direct. Second, client-side analytics loses conversions of its own: ad blockers and Safari’s tracking prevention take a bite out of browser-fired events, in our experience somewhere between 30 and 40 percent on typical setups. Stack the two losses and the “AI Assistant” revenue line in a client-side report is fiction with a decimal point.

The fix is structural, and it is the same fix that saves ad platform tracking: move capture server-side and make it first-party. When the session record and the conversion event are captured on your own domain and stitched server-side, the AI entry signal (referrer, UTM, or landing pattern) stays attached to the eventual purchase even when the browser environment is hostile. That is server side conversion tracking doing for AI referrals what it already does for Google and Meta campaigns.

This is the problem Convultra’s AI traffic attribution is built for. Convultra identifies sessions originating from ChatGPT, Claude, Perplexity, Gemini, and Copilot, captures them first-party through one line of JavaScript, and ties them to the conversions they eventually produce, so AI shows up in your reporting as revenue, not a visit count.

If you want the deeper primer on why server-side capture survives what client-side does not, start with our pillar on server side tracking, and see the companion guide to ai referral traffic for the channel-strategy view of the same shift.

Give the assistants something to send you

A tracking setup only measures the traffic you earn, so it is worth thirty seconds on the supply side of the equation. Assistants cite pages they can parse and trust: pages that answer the question in the first paragraph, state facts plainly, and keep product names consistent. If your pricing lives in a JavaScript widget and your docs bury the answer in paragraph nine, you will lose citations to competitors who make the extraction easy.

Three cheap wins. First, put a direct answer block at the top of every important page, the same 40 to 60 word summary that earns AI Overview placements. Second, add an llms.txt file at your site root pointing assistants at your canonical pages, so crawlers spend their budget on the pages you want cited. Third, check what the assistants currently say about your brand by asking them the questions your buyers ask. If ChatGPT recommends a competitor for your best keyword, that is a content gap with a name on it, and it will show up in your referral numbers months before it shows up anywhere else.

The setup, start to finish

The whole thing is an afternoon of work:

  1. Verify GA4’s AI Assistant channel is populating, or build the custom channel group above if you want your own domain list and ordering. This is your baseline visit count.
  2. Annotate your baseline. Note the date you started tracking and your current AI share of sessions. The trend will matter more than the level for the next year.
  3. Add the UTM view. A simple exploration filtered on utm_source=chatgpt.com separates ChatGPT search citations from everything else and gives you one clean, referrer-independent series.
  4. Move conversion capture server-side so the conversions AI sessions produce actually get recorded and stay attached to their source. This is the step that upgrades you from counting to attribution.
  5. Review monthly, not daily. AI referral volume is still small for most sites, and daily noise will mislead you. Monthly, watch three numbers: AI share of sessions, AI-attributed revenue, and revenue per session versus your site average. The last one is the argument for taking the channel seriously.

Skip step four and you have a dashboard. Complete it and you have a channel you can defend in a budget meeting.

FAQ

How do I track ChatGPT traffic in GA4?

Filter Traffic acquisition by session source containing chatgpt.com, or rely on GA4’s native AI Assistant channel added in May 2026. For durable reporting, build a custom channel group with a regex covering chatgpt.com and chat.openai.com, placed above Referral so it wins classification.

Why does most AI traffic show up as Direct?

Assistants often strip the referrer header, native apps launch links without one, and users copy links out of chats. Those sessions carry no source signal, so analytics files them under Direct. Your measured AI traffic is a floor, and Direct is where the missing share hides.

Yes. ChatGPT search appends utm_source=chatgpt.com to citation links, which survives even when the referrer is stripped. It usually arrives without a medium or campaign value, and links surfaced outside ChatGPT search, or copied manually, do not carry it.

Is traffic from GPTBot or ClaudeBot the same as AI referral traffic?

No. Crawler hits are assistants reading your content, which affects whether you get cited. AI referral traffic is humans clicking through afterward. Monitor crawlers in server logs and referrals in analytics, and keep the two out of each other’s reports.

Can I see which conversions came from AI assistants?

Not reliably with client-side analytics, because referrer loss and ad blockers break the link between AI sessions and their purchases. First-party, server-side capture keeps the entry signal attached to the conversion. Convultra does this out of the box, reporting conversions and revenue by assistant.

See the revenue behind your AI traffic

AI assistants are already sending you buyers; the only question is whether your analytics can prove it. Start your free Convultra trial and see conversions and revenue by AI source with one line of JavaScript.

MJ

Written by Marcus Johnson

Technical Writer

Contributing author at Convultra. Sharing insights on conversion tracking, marketing attribution, and growth strategies.

Enjoyed this article?

Get more conversion optimization tips delivered to your inbox weekly.