Two years ago, I wrote about tracking organic traffic from AI assistants in GA4. Since then, Google has introduced the AI Assistant default channel, effectively solving the problem I described back then.
That’s a welcome change, but now we’re facing a different challenge:
How should we tag paid AI ads?
Unlike Google Ads or Meta Ads, AI advertising platforms still don’t provide an established UTM convention. Until they do, I think we need an approach that works today without getting in the way of what Google may recommend tomorrow.
For the rest of this article, I’ll refer to my recommended UTM naming convention simply as UTM4AI. Not because I’m trying to introduce a new standard, but because it’s easier to discuss a recommendation when it has a name. If Google eventually publishes an official convention, I’ll happily adopt it.
Why use UTM tags for AI ads?
Already using UTM tags in your campaigns? Feel free to skip this section. If you’re new to UTM tagging, I’d recommend reading my earlier article, “5 Cool Examples of UTM Tags”, before coming back to this one.
What problem are UTM tags actually solving?
Imagine you publish a post on Facebook that links to your website. When users click that link, GA4 classifies those visits as Organic Social.
A few days later, you decide to promote the very same post using Meta Ads. If the landing page URL isn’t tagged with the appropriate UTM parameters, GA4 has no way of knowing that the traffic is paid. As a result, those visits will end up in the same Organic Social channel.
The exact same thing happens with AI ads.
Today, GA4 already recognizes organic traffic from ChatGPT, Gemini, Perplexity and other AI assistants, assigning those visits to the AI Assistant channel. However, if someone clicks a paid AI ad, GA4 can’t distinguish that paid traffic from organic AI traffic unless the landing page URL includes the appropriate UTM parameters. As a result, those visits will also end up in the AI Assistant channel.
So, how do we solve that?
UTM4AI: A recommended UTM convention for AI ads
If I were setting up UTM tags for AI ads today, this is the convention I’d use:
| Parameter | Value | Why? |
|---|---|---|
utm_source | chatgpt | The traffic source where the ad is displayed |
utm_medium | paid_ai | Falls under the Paid Other channel while preserving additional meaning |
utm_campaign | black-friday-26 | Campaign name |
utm_id | {campaign_id} | Unique campaign ID |
utm_term | {ad_group} or {intent} | Ad group or targeting intent |
utm_content | {creative} | Ad creative or variation |
I’m not trying to introduce a new standard. My goal is simply to distinguish paid AI ads from organic AI traffic today, while staying compatible with whatever direction GA4 may take in the future.
Why paid_ai?
The most important decision in this recommendation isn’t utm_source. It’s utm_medium.
At first glance, it might seem natural to use utm_medium=cpc, just as many advertisers already do for Google Ads or Meta Ads. However, I believe AI ads deserves something a bit more descriptive.
paid_ai immediately conveys two things. First, the traffic is paid. Second, it comes from AI platforms. That means utm_medium no longer describes only the pricing model, but also the type of channel bringing users to your website.
From a technical perspective, this approach also makes sense. GA4 classifies paid_ai under the existing Paid Other channel. At the time of writing, Google’s official documentation for the Default channel group defines Paid Other using the following regular expression (RegEx):
^(.+cp.+|ppc|retargeting|paid.*)$In other words, paid_ai matches the paid.* part of that rule, which is why it ends up in the Paid Other channel.
As a result, we get a more informative utm_medium without creating custom Channel Groups or adding extra reporting logic just to separate AI ads from other paid traffic.
If I simply used paid, we’d lose the information that the traffic comes specifically from AI platforms. If I used cpc, we’d lose the ability to distinguish AI ads from other CPC campaigns. Using paid_ai preserves both pieces of information while remaining fully compatible with the way GA4 groups traffic into channels.
Why not use chatgpt.com?
Unlike organic traffic, UTM tags are entirely under our control. That means utm_source doesn’t have to match a domain name. Instead, it should simply describe the traffic source as clearly as possible.
That’s why I recommend using simple values such as chatgpt, gemini, or perplexity instead of chatgpt.com, gemini.google.com, or similar domain-based names.
This approach has two advantages. First, the values are shorter and easier to read in reports. Second, they aren’t tied to a specific domain, so they’ll remain meaningful even if a platform changes its domain structure or introduces separate domains for different services.
With UTM tags, consistency matters far more than finding the “perfect” value. If you decide to use chatgpt today, keep using it across future campaigns. After all, you probably use facebook or fb as your utm_source, not facebook.com, don’t you? 😉
How should you tag other AI platforms?
The same principle applies to other AI traffic sources. For utm_source, I recommend using the platform name in lowercase, as shown below.
| AI platform | utm_source values |
|---|---|
| ChatGPT | chatgpt |
| Gemini | gemini |
| Perplexity | perplexity |
| Copilot | copilot |
| Claude | claude |
Why use utm_id?
Many marketers rely solely on utm_campaign, and that’s perfectly fine for smaller campaigns. However, as soon as campaign names start changing over time or need to be translated into multiple languages, it becomes much harder to connect the data and analyze campaign performance consistently across different channels.
That’s why I recommend using utm_id.
Unlike utm_campaign, which is meant for people, utm_id can store the unique campaign ID from your advertising platform. Campaign names may change over time, but campaign IDs usually don’t.
If you ever decide to use Campaign Data Import in GA4 or integrate your analytics with other systems, utm_id is likely to become the most reliable identifier for connecting data across platforms.
What if Google introduces a “Paid AI” channel?
It’s entirely possible that Google will eventually introduce a dedicated channel for paid AI traffic, just as it introduced the AI Assistant channel for organic traffic from AI assistants.
If that happens, I don’t see any reason to panic. That’s exactly why I’m recommending paid_ai as the value for utm_medium, rather than some completely arbitrary name. It clearly describes the traffic while remaining consistent with GA4’s existing channel grouping logic.
Google may eventually recommend a different utm_medium value. It may even learn to recognize paid AI traffic automatically, without relying on UTM tags. At this point, we simply don’t know.
What we do know is that consistently tagged campaigns will always be easier to adapt than campaigns that are either untagged or use ten different naming conventions.
Final recommendation
If you’re already running ads on ChatGPT or other AI platforms, don’t wait for Google to publish an official standard.
Use consistent UTM tags, choose utm_medium=paid_ai, and stay compatible with both today’s GA4 and whatever comes next. If Google eventually introduces a dedicated channel for paid AI traffic, adapting your tracking will be straightforward.
No one knows how Google will classify paid AI traffic a year or two from now. That’s exactly why it’s worth establishing a consistent naming convention today, one we can easily adapt when official recommendations eventually arrive.



