If you want to track AI traffic in GA4, the data is already there. It’s just hidden. Visits from ChatGPT, Perplexity, Gemini, Copilot and Claude arrive as normal referrals from domains such as chatgpt.com and perplexity.ai. So GA4 puts them under Referral, and sometimes Unassigned or Direct, next to every other website that links to you.
The fix takes about 15 minutes. You create a custom channel group with an “AI assistants” channel defined by one regex (a text pattern that matches many values at once). Then you use it in your acquisition, landing page and key event reports. I’ll walk through each step and explain what the numbers can and can’t tell you.
Why GA4 Doesn’t Show AI Traffic on Its Own
GA4 sorts every session into a channel using its default channel group. It applies a fixed set of rules based on source, medium and campaign. A visit from ChatGPT matches none of the rules for Organic Search, Paid Search or Social, so it falls through to Referral.
That causes two problems:
- It gets buried. AI assistants sit in the same bucket as directory listings, partner sites and forum links, so trends are hard to spot.
- It gets split. When a link carries
utm_source=chatgpt.combut noutm_medium, the medium is recorded as “(not set)”. Those sessions usually land in Unassigned, not Referral. So even someone who checks the Referral report misses part of the picture.
A custom channel group fixes both, because you decide the rules and the order they run in. It’s the first thing I set up when I want to see AI traffic.
The Referrer Domains AI Assistants Send
When someone clicks a link inside an AI assistant’s web app, the browser normally passes the assistant’s domain as the referrer. GA4 records it as the session source. These are the domains to look for:
- ChatGPT:
chatgpt.com. Older sessions may showchat.openai.com, the address ChatGPT used before it moved to chatgpt.com. You may also seeopenai.com. - Perplexity:
perplexity.ai, sometimes recorded aswww.perplexity.ai. - Gemini:
gemini.google.com. Very old data may showbard.google.com, from before Bard was renamed. - Microsoft Copilot:
copilot.microsoft.com. Some Copilot features inside Edge and Bing passedgeservices.bing.cominstead. - Claude:
claude.ai.
Smaller assistants follow the same pattern. Examples include chat.deepseek.com, grok.com, chat.mistral.ai and meta.ai. Before you build anything, check which of these actually appear in your own property. The quickest way, and the one I use, is the Traffic acquisition report with the dimension set to “Session source”.
What utm_source=chatgpt.com Means
ChatGPT adds utm_source=chatgpt.com to many of the links it shows, especially cited sources in search-style answers. You’ll see it in the landing page URL, and GA4 uses it as the session source. If you also run paid ads there, my guide to ChatGPT ads covers tagging them separately.
That’s useful, because the tag survives even when the browser removes the referrer. The catch is that ChatGPT doesn’t tag every link, and the tag comes without a medium. That’s why I match on source alone, not source/medium.
Don’t strip or redirect these parameters at the server or CDN level. Some caching and “clean URL” setups remove query strings before the GA4 tag fires. Your ChatGPT sessions then turn into Direct. I check for this early, because it’s easy to miss.
How to Track AI Traffic in GA4 With a Custom Channel Group
A custom channel group is a copy of the default channel rules that you can edit. Standard GA4 properties can have two custom groups, and GA4 360 properties can have five. Each group can hold up to 50 channels. You need Editor access or higher on the property.
Custom channel groups also apply to your past data in reports. So you’ll see AI traffic for past months as soon as you save the group. Google explains the full setup on its custom channel groups help page.
The Regex to Use
This pattern catches the main assistants, both as referrers and as UTM sources:
.*(chatgpt|openai|perplexity|gemini.google|bard.google|copilot.microsoft|edgeservices.bing|claude.ai|chat.deepseek|grok.com|chat.mistral|meta.ai).*
A few notes on how it works:
- The
.*at the start and end let it match subdomains such aswww.perplexity.aiand values with extra text, such aschatgpt.comor plainchatgpt. - The escaped dots (
.) keep matches tight.gemini.googlematches Gemini’s domain, but not a random site with “gemini” in its name. - The pattern avoids
google.comandbing.comon their own. Matching them would pull all your normal search traffic into the AI channel. - It’s kept narrow on purpose. Some examples online use loose patterns like
.*ai.*or.*gpt.*. Those also match sources such as “mail”, “retail” or a newsletter tool with “ai” in its name. This is the mistake I see most often.
Channel group conditions aren’t case sensitive, so you don’t need to handle capital letters. Review the list every few months, because new assistants appear and existing ones change domains.
Step-By-Step Setup
- In GA4, go to Admin > Data display > Channel groups.
- Click Create new channel group. GA4 starts you with a copy of the default group, so all your normal channels stay in place. Name it something like “Channels with AI”.
- Click Add new channel and name it AI assistants.
- Click Add condition group, choose the dimension Source, set the match type to matches regex, and paste the regex above. Click Save channel.
- Click Reorder and drag AI assistants above Referral. To be safe, I also place it above Organic Search and Unassigned. GA4 gives each session to the first channel whose rules it matches, so a channel placed too low will never collect anything. Click Apply.
- Click Save group.
- Open Reports > Acquisition > Traffic acquisition. Click the dimension drop-down above the table and choose your new channel group. “AI assistants” should now show as its own row.
If the row is missing, check two things first. Is the channel above Referral? And do the sources in your property match the regex exactly? A typo in an escaped dot is the most common cause.
Should You Make It Your Primary Channel Group?
GA4 lets you set a custom group as the primary channel group. It then drives the default reports and attribution for future data. Past data isn’t re-sorted.
For most sites, I’d keep it as a secondary group. You select it whenever you need it, and the default group stays clean for comparisons with older reports. Make it primary only if your team reports on AI traffic every week, and you’re happy for the change to show from that date forward.
Build an Exploration for AI Traffic
The standard reports show you totals. An exploration (GA4’s custom report builder) lets you break AI traffic down by assistant, page and outcome in one view.
- Go to Explore and start a Free form exploration.
- Import these dimensions: Session source, Landing page + query string, and your custom channel group (listed as “Session” followed by the group’s name).
- Import these metrics: Sessions, Engaged sessions, Engagement rate, Key events and Session key event rate. Add Total revenue if you run ecommerce.
- Add a filter: your custom channel group exactly matches “AI assistants”. If you’d rather not build the channel group yet, you can filter on Session source matches regex with the same pattern.
- Put Session source in rows and the metrics in values. You now have a table of sessions and outcomes for each assistant.
- Add Landing page + query string as a second row dimension, or swap it in, to see which pages each assistant sends people to.
Set the date range to at least three months. AI referral numbers on most sites are still small, and a single week can swing a lot because of one popular answer.
Which Landing Pages Get AI Traffic
For me, the landing page view is where this report really pays off. AI assistants rarely send people to your home page. They link to the specific page that answered the question.
When you look at the list, ask yourself three questions:
- What do these pages have in common? Often it’s clear definitions, step-by-step instructions, comparison tables or original data. That tells you which formats assistants are willing to cite. My guide to writing content AI assistants can quote covers how to build more pages like these.
- Are the pages doing their job? A page that gets AI clicks but has a weak engagement rate may not deliver what the assistant promised. Check that the answer is near the top and that the page loads quickly.
- Is the next step obvious? Visitors from AI arrive in the middle of a task. A clear internal link, product link or contact option helps turn the visit into something you can measure.
Also look at the query string. Pages with utm_source=chatgpt.com on the end show you exactly which URLs ChatGPT is citing, even when the referrer is missing.
Measure Key Events From AI Visitors
Traffic counts are interesting. But leads, sign-ups and sales are what make the effort worth it. In GA4 these are tracked as key events, which Google called “conversions” until 2024.
If you haven’t marked your important actions yet, start there. A form submission, a demo request, a phone click or a purchase all count. My guide to setting up GA4 key events walks through which events to mark and how.
Once key events exist, you can read them by channel:
- Traffic acquisition report: with your custom channel group selected, the Key events and Session key event rate columns show how AI visitors convert compared with Organic Search or Referral.
- Your exploration: add a single key event as a metric, for example “Key events (generate_lead)”, to see which assistant drives which action.
- Advertising > Attribution: the attribution paths reports show whether AI visits tend to start journeys that convert later through another channel.
Compare rates, not raw numbers. AI assistants will usually send far fewer sessions than Google search, so comparing volume tells you little. The better question is whether those sessions engage and convert at a similar or better rate. That’s the number I’d show a manager.
Here’s a simple example. A B2B service site might find that Perplexity sends a handful of sessions a month. But most of them land on a pricing or comparison page, and a high share submit a form. That’s a reason to keep those pages accurate and well structured, even though the channel is small.
Build an Audience and a Comparison
Two more small additions make the data easier to use day to day.
- Comparison: in any standard report, click Add comparison and set your custom channel group to “AI assistants”. You can then see landing pages, devices or countries for AI traffic next to all traffic, without opening an exploration.
- Audience: in Admin > Data display > Audiences, create an audience of users whose session source matches the regex. Audiences only collect users from the moment you create them, so set this up early if you plan to use it.
The Limits of Tracking AI Traffic in GA4
Your AI assistants channel will undercount real AI influence, sometimes by a lot. Knowing why stops you drawing the wrong conclusions.
Missing Referrers
The referrer only reaches GA4 if the browser sends it. It gets lost when:
- The link opens with a
noreferrerattribute or a strict referrer policy. - The user copies a URL from an answer and pastes it into a new tab.
- A privacy-focused browser or extension removes referrers.
- Your site redirects through a step that drops the original referrer, such as some HTTP-to-HTTPS or tracking redirects.
Without a referrer or a UTM tag, those visits show as Direct.
Mobile and Desktop Apps
Many people use ChatGPT, Gemini, Claude and Perplexity through mobile or desktop apps, not a browser tab. When a link opens from an app, it may open in an in-app browser. Or it may hand off to the default browser without a referrer. ChatGPT’s UTM tag helps here when it’s present. The other assistants generally don’t add one, so app clicks from them often show as Direct.
Dark AI Traffic
A lot of AI influence never produces a click at all. Someone reads an answer that names your brand, then searches for you on Google or types your URL later. GA4 records that visit as Organic Search or Direct, with no link back to the AI chat. My guide to measuring zero-click search covers other ways to show value.
The only way to catch some of this is outside analytics. You can add a “How did you hear about us?” field on forms, keep sales call notes, or watch branded search trends in Search Console. I treat the AI assistants channel as a minimum, not the full figure.
AI Overviews and AI Mode Count as Google Organic
Clicks from Google’s own AI features don’t come from a separate domain. A visitor who clicks a link in an AI Overview or in AI Mode arrives from google.com. GA4 counts the session as google / organic, exactly like a classic blue-link click. I explain how this shows up in Search Console’s AI Mode data in a separate post.
Search Console doesn’t split them out either. Google’s documentation on AI features and your website says this traffic is included in the Performance report under the “Web” search type. So your AI assistants channel measures third-party assistants only. To understand how the two Google features differ, see my explainer on AI Overviews vs AI Mode.
Crawlers Aren’t Visitors
Don’t mix up AI referral traffic with AI crawlers. Bots such as GPTBot or PerplexityBot fetch your pages to train models or build answers. They generally don’t run your GA4 tag, so they won’t show in these reports. Their activity shows up in your server logs. Whether you let them in is a separate decision, covered in my guide to robots.txt and AI crawlers. Blocking the crawlers an assistant relies on can reduce how often it cites and links to you.
Consent and Ad Blockers
Like all GA4 data, AI traffic is affected by cookie consent choices and tracking blockers. If your consent banner lowers measured traffic overall, it lowers measured AI traffic too. That matters most when you compare against numbers from tools that use server logs.
A Simple Monthly Routine
Once the setup is done, the ongoing work is light. This is the routine I follow once a month:
- Open Traffic acquisition with your custom channel group and note AI sessions, engagement rate and key events.
- Check Session source for new AI domains that the regex doesn’t catch yet, and update the channel if needed.
- Review the top AI landing pages. Refresh the ones that convert, and fix the ones with poor engagement.
- Compare against branded search impressions in Search Console for a rough sense of indirect influence. The Search Console AI report builder makes that comparison quicker to set up.
Conclusion
To track AI traffic in GA4, you don’t need a new tool. You need one custom channel group, a carefully written regex placed above Referral, and an exploration that links AI sessions to landing pages and key events. That turns a hidden slice of your referral data into a channel you can actually report on.
Just remember what it leaves out: app clicks without referrers, dark traffic, and every click from AI Overviews and AI Mode, which GA4 counts as Google organic. If your key events aren’t set up properly yet, fix that first. Then build the channel group this week, so next month’s report already has a baseline. In my experience, your numbers are only as useful as the outcomes you measure against them when you track AI traffic in GA4. To chart them next to Search Console data, see my Looker Studio SEO dashboard guide.



