This blog was originally published on December 2, 2024 and was updated on June 22, 2026.
⚠️ AI Tracking Is A Moving Target
The AI tracking landscape evolves rapidly. Since our original publication, Google launched its native AI Assistant channel (May 2025), ChatGPT shifted from 'citations' to 'sources,' Claude added embedded links capabilities, and ChatGPT introduced advertising. Methods described in this blog represent current best practices as of the last update date, but we encourage you to validate these approaches yourself as platform behaviors continue to change.
Are you trying to better understand how searchers are using ChatGPT, Gemini and other AI platforms to find your websites? We sure are!
It's been a while since our team last revisited dark traffic on our blog, so it's time to update the list of dark traffic sources. There's a whole new world of AI-driven traffic that often falls into the dark traffic category, and the landscape has shifted meaningfully even since we last wrote about this.
The Expanding Universe of Dark Traffic
For years, bookmarks and visitors typing URLs directly into the browser bar formed the foundation of dark traffic. Then social traffic went extremely dark.
Today's sources of un-trackable clicks extend far beyond these traditional culprits:
- Traffic that goes through a redirect
- Tapping on a link in many mobile, even social, apps
- Clicking on a link in an email program
- Clicking on a link shared in an instant messenger, hangout, video chat, etc.
- Clicking on certain image or mobile searches
- Your traffic being deliberately obfuscated
- Clicking on an untagged link in a doc like a PDF or other document (gotta tag those links)
- Clicking through a shortened, untagged URL
- Clicking on a link in any sort of installed software
- And now…clicking on many links provided by AI platforms like ChatGPT, Google’s AI Overviews, Claude, Gemini, Perplexity, or any of the growing list of AI search platforms
Mobile and desktop apps are now large contributors to dark traffic, and AI is entering the fray in ways we're only beginning to understand.
Has AI Improved Dark Traffic Transparency?
Here's the surprising twist: while AI platforms represent a new potential source of dark traffic, early indications suggest AI-sourced traffic may actually be more trackable than traditional dark traffic sources.
AI platforms such as ChatGPT and Perplexity include referrer information by default. Google's introduction of the native AI Assistant channel suggests improved detection of AI sources. UTM parameter inclusion appears more consistent from AI sources than from social platforms, where attribution has become notoriously opaque.
That said, challenges remain:
-
Privacy-sensitive queries may still strip referrer information
-
Not all AI platforms expose their identity when sending traffic
-
The emerging paid versus organic distinction creates new attribution gaps
| Channel | Result Type | UTMs Included? | Referral Included? | GA4 Reporting Details (Session-Level) |
|---|---|---|---|---|
| ChatGPT | Citation Results | Usually | ✅ | Default Channel Group = Referral Source = chatgpt.com Medium = Referral Campaign = (Referral) |
| ChatGPT | Search Results | ❌ | ✅ | When referral information is not included: Default Channel Group = Direct Source = Direct Medium = None Campaign = (Not set) |
| Gemini | N/A | ❌ | ✅ | Default Channel Group = Referral Source = gemini.google.com Medium = Referral Campaign = (Referral) |
| Perplexity | N/A | ❌ | ✅ | Default Channel Group = Referral Source = perplexity.ai Medium = Referral Campaign = (Referral) |
| Claude | N/A | ❌ | ✅ | Default Channel Group = Referral Source = claude.ai Medium = Referral Campaign = (Referral) |
One update worth flagging since we first built this table: Claude has since rolled out web search with inline citation links in its responses. Previously, Claude mentions were something we could really only track as brand mentions, because there just weren't clickable links to measure. Now that citation results include actual links back to source content, we'd expect this to meaningfully increase trackable AI traffic from Claude going forward, even though, as the table shows, Claude still doesn't append UTM parameters by default.
It's also worth noting this table is a snapshot, not a permanent reference. Eighteen months ago, this was largely a ChatGPT tracking problem. Today, Perplexity, Claude, Gemini, Copilot, Grok, and Meta AI are all capable of sending real, measurable traffic.
The bottom line: AI traffic falls somewhere between traditional social (very dark) and search (well-attributed) traffic in terms of trackability. The transparency appears to be improving as platforms mature, but marketers need sophisticated tracking strategies to capture the full picture.
How to Track AI Referrals
Since OpenAI released ChatGPT with Search in October 2024, AI search tools have exploded in popularity — giving brands a new landscape to influence while also increasing the complexity of tracking and attribution measurement.
We now have more tooling to to understand and track AI referrals, including a major change to GA4 that we'll get into later.
In this post, we take a deep dive into tracking ChatGPT (and broader AI platform) traffic, including:
- How does ChatGPT choose when to include a URL, and how do you track it?
- How can you improve the likelihood of ChatGPT returning trackable URLs & UTMs?
- How does GA4 handle ChatGPT referral traffic, including the new native AI Assistant channel?
- What does AI traffic tracking miss entirely, and what should you be watching next?
A Note on Methodology and Testing
Some of the testing described in this article was conducted with earlier versions of AI models. Given the rapid evolution of AI platforms, we recommend treating these findings as frameworks requiring ongoing validation rather than permanent rules.
We continuously retest these patterns across client accounts and update our methodologies as platform behaviors change. We encourage readers to implement similar test-and-learn protocols in their own properties. You can also check out our latest AI studies and experiments here.
Sources vs. Search Results
Reminder: ChatGPT now refers to references as "sources", whereas these were previously called "citations."
Here’s a quick refresher on UTMs for the newbies: UTM parameters are snippets added to URLs that help you track where your site traffic comes from. When a user clicks a link with UTM parameters, these parameters feed attribution data into your analytics platforms (e.g GA4), enabling you to see which sources are driving traffic, engagement, conversions, etc.
How Does ChatGPT Decide Between Sources and Search Results?
Before diving into UTM parameters, it’s essential to understand the primary distinction ChatGPT makes in its system programming between sources and search results when including links.
Think of sources as adding credibility: Sources in ChatGPT refer to references provided to support factual statements or detailed responses in an AI-generated answer. These are links to and/or validation from external content that help verify or add credibility to the information ChatGPT provides.
Think of search results as a wider net of possible answers: Search results in ChatGPT refer to real-time results fetched from the web using the "Search the web" feature. When a user asks a question or needs information beyond the AI’s general knowledge, ChatGPT uses gathers current, relevant information directly from the internet.
Is the Distinction Between Sources and Search Important?
Note: Since this article was first published, OpenAI has added UTM parameters to the "More resources" section of responses — making this distinction less important and relevant than it was previously.
In an earlier version of ChatGPT, all sources included “utm_source=chatgpt.com.” According to our testing as of June 2025, sources are certainly the most likely scenario where UTMs are supplied – but just because a link is supplied as a source does not guarantee UTMs will always be included. We’ve also seen partners of OpenAI get the “utm_source=chatgpt.com” treatment.
That said, our testing reveals that whether results are returned as sources and/or search results is not directly tied to whether a user selected the "Search the web" button.
Since ChatGPT is capable of returning citations AND search results within the same response, the logic ChatGPT uses to decide when to include UTMs (and when not to) is more complicated than it might appear. Buckle up for that breakdown in the next section.
When Does ChatGPT Add UTM Parameters to Result Links?
ChatGPT’s decision to include or exclude UTM parameters is based on a nuanced, multi-step process designed to balance user privacy with digital attribution needs. Here is a breakdown of the logical steps ChatGPT executes before deciding to provide result links with UTMs or not.
Note: The below steps are a reconstruction of ChatGPT behavior at one moment in time, and the behavior has likely changed across models and updates.
Step 1: User Intent and Explicit Requests
Any ChatGPT user by now generally knows how prompting directly affects and controls output / results, and those same reasons are exactly why it’s the first logical step here as well.
Here’s how ChatGPT executes this first step based on the user’s request (as of June 2025, current behavior may differ):
- When users ask explicitly for a specific URL (e.g., “Can you give me the link to [site]?”), ChatGPT typically treats this as a “search result” and provides the link without UTM parameters. This is because ChatGPT tries to respect user intent and provide a straightforward response approach.
- When users do not ask explicitly for a specific URL and ChatGPT provides a URL as part of a broader response (e.g., “Here’s more about [topic]”) or as a “Source” link (citation), it tends to default to UTM tagging.
Step 2: Sensitivity and Privacy Considerations
Next in the pecking order, ChatGPT evaluates the context of the request from a privacy perspective when deciding whether to include UTMs. Here are some examples (from June 2025, current behaviors may differ) where ChatGPT may decide to omit UTM parameters from results regardless of whether links are provided as citations or search results:
Sensitivity of topic: If the conversation involves sensitive or confidential information (e.g., medical, legal, or financial topics), the link is generally supplied without UTM parameters to prioritize topic sensitivity.
User-specific/account-based content: If the link would direct the user to account-specific pages or user-specific content (e.g login portals), UTM parameters are likely to be omitted. These pages are intended solely for private use and don't benefit from tracking.
Step 3: Publisher and Platform Requirements
Following privacy considerations, ChatGPT evaluates whether UTM parameters are appropriate based on publisher and platform requirements. In this step, ChatGPT considers (and predicts) based on the nature of the request (as of June 2025). Would including UTM parameters be beneficial to content creators or align with plausible platform standards?
Here are examples where UTM parameters are likely to be included based on these requirements:
Source citations from publishers: When ChatGPT cites sources where tracking can support publisher content creators (e.g., citing an article from The New York Times in a general news response), UTM parameters are likely to be added to help publishers understand how much traffic originates from ChatGPT.
Platform environments with standard tracking protocols: In some environments, link tracking is a routine practice. For instance, if ChatGPT is used within a corporate knowledge base platform or analytics dashboard, UTM parameters might be added to measure user engagement.
Key Takeaway: Regardless of whether “Search the web” was used with a ChatGPT query or not, the above logic is executed consistently to determine whether a UTM-based result link is supplied. Generally speaking, as long as the user’s intent, sensitivity of the topic, and privacy of the request are not in doubt, ChatGPT will tend to provide UTMs when sources are used and will not with search results.
Not All AI Platforms Are Created Equal
When evaluating AI traffic tracking, it's important to understand that different AI platforms serve different purposes and audiences. Platform characteristics matter significantly for attribution strategy.
For example:
-
ChatGPT enjoys the broadest consumer adoption and is used for general research, quick answers, and content creation
-
Claude is strong with technical and professional users, known for longer-form analysis
-
Perplexity is search-focused, with users specifically seeking current information with sources
-
Gemini benefits from integration with the Google ecosystem and its existing user base
The value and volume of traffic from each AI platform differs based on:
-
Your industry and content type
-
How your competitors appear in AI responses
-
Whether your use case aligns with platform strengths
-
Geographic and demographic factors of each platform's user base
Users often shift between platforms as features evolve and novelty wears off, so what works today may need adjustment in six months. Rather than optimizing universally for AI traffic, monitor which specific platforms drive meaningful engagement and conversions for your business, then focus optimization efforts accordingly.
Platform Evolution Case Study: Claude's Tracking Transformation
Claude by Anthropic provides an instructive example of how quickly AI platform tracking capabilities can evolve.
In its first phase, pre-2024, Claude would mention brands and sources but provided no clickable links — making tracking limited to brand monitoring rather than traffic measurement.
In 2024, Claude introduced web search capabilities with embedded citations and links in responses, transforming it from a mention-only platform to a genuine traffic source.
This evolution had significant tracking implications. Organizations tracking 'AI mentions' needed to expand to traffic attribution. Custom channel groupings required updates to capture Claude as a referrer. The volume of trackable AI traffic expanded significantly.
Key Takeaway: Platform capabilities evolve rapidly. What starts as a mention-only platform can become a significant traffic source within months. Build flexible tracking systems that can accommodate new AI sources as they add citation and linking features.
How Will ChatGPT Traffic Appear in My GA4 Reports?
Now that we’ve outlined ChatGPT’s logic for including UTMs, here’s what you can expect in GA4 reporting when UTMs or referral information is or is not included.
Result Links with UTMs or Referral Information
Traffic from ChatGPT with a utm_source parameter of ‘chatgpt.com’ will appear with that value for the “Session Source” dimension in GA4. Of course, if other UTM parameters (e.g. utm_medium, utm_campaign, utm_content, utm_term) are also included in the future, those parameters will also populate their respective dimensions of similar name.
If UTMs are excluded but referral information is included (as a result of the document.referrer variable being populated), inbound traffic is likely to be recorded in GA4 reporting with:
- Session primary channel group (default) = Referral
- Session Source = chatgpt.com
- Session Medium = referral
- Session Campaign = (referral)
- Page Referrer = https://chatgpt.com/
Note: GA4 reporting now often shows "chatgpt.com" as referral when both the referrer and UTM are present, and it will also show "chatgpt.com" as with the referrer as "not set" when only a UTM is present. We recommend tracking both for a complete picture.
In either case, you will be able to directly report on traffic originating from ChatGPT. That said, unfortunately there is no way to granularly measure / differentiate whether users had the "Search the web" feature enabled when reporting on traceable traffic from ChatGPT.
Result links without UTMs or referral information: When ChatGPT links don’t include UTM parameters or referral data, traffic will likely appear as “Direct” in GA4. This can lead to inflation and overreporting of ‘Direct’ traffic and skew channel performance metrics.
The Evolution from Custom to Native AI Tracking
Before Google's native AI Assistant channel, sophisticated practitioners implemented custom channel groupings to capture AI traffic. These custom solutions created rules that listen for specific AI agent identifiers in referral data, capture traffic where recognizable AI platforms appear as direct referrals, and classify these sessions into a dedicated 'AI' or 'AI Assistant' channel.
Our team has been implementing and refining custom channel groupings for AI traffic for over a year. Rules require regular updates as new AI platforms emerge, and effectiveness depends on whether AI platforms expose referrer information. These custom solutions work in conjunction with UTM tracking for more complete attribution.
Google's Native AI Assistant Channel (May 2026)
In May 2026, Google introduced a native AI Assistant channel in GA4 that automatically tracks traffic from recognized AI platforms (ChatGPT, Claude, Perplexity, and others) without requiring custom channel groupings.
Sessions that GA4 recognizes as coming from a supported AI assistant now get tagged automatically:
- Session default channel group = AI Assistant
- Session medium = ai-assistant
- Session campaign = (ai-assistant)
It's a meaningful step forward, and it solves a real pain point: surfacing AI-driven traffic without building and maintaining your own channel grouping logic. But it doesn't fully replace the custom tracking approach we've outlined throughout this post, at least not yet. A few things to know before you lean on it as your single source of truth:
It's forward-only. GA4 won't reclassify your historical sessions, so any AI traffic from before the May 13 rollout stays bucketed under Referral or Direct the way it always has. If you want a clean before/after comparison, you'll need to annotate the launch date in your reporting and treat anything earlier as a separate baseline.
It's still referral-dependent. Just like the custom channel grouping approach we recommend below, the native channel can only catch sessions where referral information actually makes it through. Traffic from in-app browsers, copy-pasted links, or other "dark" paths will still land in direct — meaning this channel is best read as a floor on your AI traffic, not a ceiling.
Platform coverage may evolve. Google's official launch named ChatGPT, Gemini, and Claude specifically; expect this list to expand or shift over time as Google adds support for more platforms.
We've been running this new channel side-by-side with our own custom AI referral rule across client properties, and so far we haven't seen major divergence in session counts.
Our recommendation: Keep a custom channel grouping in place going forward, both to preserve historical comparability and to catch any platforms or edge cases Google's native channel doesn't yet recognize.
What About ChatGPT Ads?
This post was originally built around organic ChatGPT traffic: sources and search results. Since then, ChatGPT has introduced advertising, which means there are now two genuinely different types of ChatGPT-driven traffic that can show up in your reports: organic sources and search results, and paid placements.
We'll be honest: this is still new territory, even for us. We haven't yet nailed down a clean, reliable way to separate the two inside GA4, and we're watching closely to see whether Google's new AI Assistant channel ends up distinguishing paid from organic AI traffic automatically.
Our interim recommendation: For now, treat any AI Assistant or AI-referral numbers in your reports as a blend of both organic and paid until you've done some manual spot-checking of your own campaigns and UTM conventions.
What Can I Do to Improve ChatGPT Traffic Attribution?
Now that you understand the logic ChatGPT uses for supplying UTM links and have a grasp of the reporting implications, you might feel like there’s nothing you can do to better measure AI-driven traffic.
Luckily, there are several tactics you can try to improve your chances of getting UTM-tagged links from ChatGPT.
Implement Structured Schema Markup
Before focusing on UTM parameters, make sure content includes comprehensive structured data using schema markup. AI platforms often rely on structured data to understand and categorize content, increasing the likelihood your content appears as authoritative sources.
Prioritize Article, FAQPage, HowTo, Product, and Organization schemas. While structured data doesn't directly control UTM inclusion, it influences whether your content is treated as citation-worthy by AI platforms (which correlates strongly with UTM-tagged links).
Optimize for Citation Use Cases
Focus on creating high-quality, authoritative content that’s well-cited and search-optimized. This includes content structured to address common user queries (e.g. lists, guides, FAQs) that are more likely to be returned as sources by ChatGPT, increasing the chances that your link will be cited with UTM tags.
Establish a Standardized UTM Tagging Taxonomy
Ensure your organization has a standardized UTM tagging strategy. This is of course important for general campaign tracking and reporting, but it becomes especially important for content that’s syndicated or shared with trusted partners. If ChatGPT picks up and recommends your content through partner pages or sources, URLs that retain your UTM structure are more likely to remain tagged.
Embed UTMs in Suggested URLs and Indexed Content
Similarly, ensure any URLs you publicly share (meta descriptions, public PDFs, or marketing content) contain UTM parameters by default. By embedding UTM tags directly into these assets, you increase the likelihood they’ll be referenced as-is with UTMs in ChatGPT. Specifically, ensure that UTM-tagged URLs are embedded in primary and secondary web pages that AI tools might access or that you aspire for them to access.
Instruct Custom GPTs to Include UTMs by Default
For businesses producing custom GPTs and deploying to the GPT Store for their customers, try to set up specific custom instructions that remind and enforce ChatGPT to include UTM-based links in its results. Specifically, you could write a custom instruction that enforces URLs to be dynamic and include UTM parameters that align with your UTM naming convention.
Is It Safe to Use UTMs for Internal Links Now?
Those of you with extensive experience leveraging UTMs for your marketing measurement may recall the long-standing best practice to reserve UTMs for inbound traffic (and avoid them for internal linking). This guidance existed because platforms like Universal Analytics historically used the presence of UTMs in URLs to signal a new user session, meaning internal UTM linking would skew and inflate session and channel reporting.
However, with the understanding that UTM links (wherever they live on your site) are likely to be indexed by ChatGPT and that GA4 does NOT automatically generate new sessions like UA did, businesses can confidently experiment with using internal UTM linking techniques without fearing disrupted analytics.
Beyond ChatGPT: Tracking the Full AI Landscape
This post has focused heavily on ChatGPT, since it remains the most-discussed and most-tested case study. But it's worth restating: AI-driven discovery is no longer a single-platform problem.
Gemini, Perplexity, Claude, Copilot, Grok, and Meta AI are all sending traffic with their own referral and UTM behaviors.
What We're Doing
We're listening for these signals through a modified channel grouping approach that catches recognizable AI agents showing up as direct referrals in a session (beyond UTMs alone) and grouping them accordingly.
We're also continuing to test the harder scenario: cases where an AI referrer isn't exposed at all, which is the heart of the "dark traffic" problem this post opened with.
Our read is that GA4 and the broader analytics ecosystem have made real progress here, but the gap hasn't fully closed. We'd encourage you to treat any AI traffic number as a directional floor rather than a precise count.
How to Validate These Findings for Your Brand
Given the rapid evolution of AI platforms, we recommend implementing systematic testing protocols.
Systematic testing approach: Use AI agents themselves — like Claude's Projects feature or ChatGPT — to systematically query your content and track when UTMs appear versus don't appear. Conduct geographic testing from different locations to understand regional variations in AI traffic patterns. Test different query types, from direct URL requests to informational queries, to map UTM inclusion patterns. Review your GA4 data monthly to identify new AI referrers or changing patterns.
Validation checklist:
- Compare custom channel grouping data against GA4's native AI Assistant channel if available
- Audit direct traffic for potential AI sources missing attribution
- Test your priority URLs across major AI platforms quarterly
- Document platform behavior changes in a shared team resource
Platform behaviors we observe today may not hold true six months from now. Building systematic testing into your workflow ensures your tracking methodology evolves alongside platform changes.
Are Our Customers There, and How Do We Track Them?
The continued evolution of ChatGPT, Gemini, Claude, and the rest of the AI ecosystem opens new doors for businesses to capture AI-driven traffic. But accurate tracking hinges on understanding:
-
When these platforms include UTM parameters or referral information
-
How GA4's evolving native tools fit alongside custom tracking
-
Strategies you can use to influence the likelihood of attributable links being supplied
These things change constantly, so who knows how long any of these specific behaviors will hold. But we know you're going to keep getting the same questions from your C-suite leaders: are our customers there, and how do we track them? Budgets have to be set, tools need to be selected, and "I don't know how to track that" won't be acceptable.
We don't have every answer yet either, and we've tried to be upfront in this post about where we do and don't have hard data. We'll keep testing, keep updating this post, and keep sharing what we learn.
Want helping measuring and growing your brand's AI visibility? We can help! Contact us to learn more.
Jonathan Wehausen
Sr. Lead (Client), Analytics