People are clicking through to websites from ChatGPT, Gemini, Copilot and Perplexity, and most site owners want to know how many, and what they do once they land. Google Analytics 4 can show you some of this. How much it shows depends on how each visit is recorded and how your property groups it.
Here is how to track AI traffic in GA4 with the reports Google already gives you, a custom channel group to catch what the default misses, and some checks that keep the numbers honest. Expect an undercount, and the guide explains why.
What GA4 now does by default
Google's default channel group definitions include a channel called AI Assistant. According to Google's help page, a session lands there when its medium matches "ai-assistant", and it also applies when the referrer matches a list of AI assistants, in which case GA4 sets the medium to "ai-assistant". Google names ChatGPT, Gemini, DeepSeek, Copilot and Grok as examples. The page also states that Google's own AI Overviews and AI Mode are excluded and are reported under Organic Search.
That has two consequences. Look at your own property before you build anything custom, because the default channel may already be catching most of your AI traffic. And this channel cannot split Google AI Overviews or AI Mode visits out of ordinary organic search.
Step 1: look at the report you already have
Go to Reports, then Acquisition, then Traffic acquisition. Change the primary dimension to Session default channel group and look for an AI Assistant row. Add Session source / medium as a secondary dimension to see which assistants send the visits. If the row is missing or tiny, read on before you conclude anything.
Step 2: understand why visits go missing
A single AI visit can be recorded in several ways, and only some of them count as AI traffic.
-
A click that carries an assistant's referrer might land in AI Assistant, Referral or some other channel, depending on the source and medium values.
-
If a link has a source parameter but no medium, GA4 cannot place it in a named channel, and the visit ends up as Unassigned.
-
Visits from apps often arrive without a referrer, and GA4 records those as Direct.
-
A link copied from an AI tool and pasted into a browser by hand shows up as Direct too.
OpenAI has been reported to add the parameter utm_source=chatgpt.com to links in ChatGPT search results. Whatever the platform does, make sure your redirects keep their tracking parameters, since a redirect that strips them removes the signal with them.
Step 3: build a custom channel group if the default is not enough
Google's documentation on custom channel groups covers the process, and its worked example happens to be an AI assistants channel built from a regular expression on the source.
-
Open Admin, then Data display, then Channel groups.
-
Choose Create new channel group. This copies the default group, so give your copy a name.
-
Add a channel called AI assistants and set a condition on Source that matches a regular expression listing the assistants you care about, for example chatgpt|openai|perplexity|gemini|copilot|claude|grok|deepseek. Regular expressions in Analytics are case sensitive by default, so check how the sources appear in your reports.
-
Click Reorder and drag the new channel above Referral, and above Organic Search if some assistants appear there. GA4 gives each session to the first channel whose rule it matches, so the order settles the outcome.
-
Click Apply, then Save group.
Google explains that custom channel groups can be applied to historical data in reports, explorations and segments, but that audiences use the new definition only from the point of the change. If you make the custom group your primary channel group, data takes the new criteria only from that point forward. Check the regular expression against your actual list of sources before relying on it. A pattern that is too broad will sweep in unrelated domains.
Step 4: see what AI visitors do
With the channel in place, compare it against your others. Filter the Landing page report to the AI channel and you will see which pages assistants send people to. Then look at engagement rate, average engagement time and key events for the same segment. A key event is a conversion action you have marked in GA4, such as a form submission or a purchase. Small numbers jump around, so compare periods of a month or more and do not read much into a handful of sessions.
Compare AI traffic with search console data
GA4 shows what happened after the click. To understand how your pages perform in Google's own AI features, use Search Console alongside it, and keep in mind that Google reports those impressions within its search performance data and not as a separate AI source in GA4. Each tool answers a different question. Search Console covers visibility in Google. GA4 covers what people do on your site.
Keep your own tagging clean
Assistants are not the only source of confusion. If your team tags links in emails, social posts or partner pages, pick one naming scheme for source and medium, and never reuse a medium name that the default channel group treats as something else. Google's definitions use the medium value "ai-assistant" for the AI channel, so avoid it for your own campaigns. Check the Unassigned row regularly: a growing Unassigned total usually means a tagging inconsistency, and fixing it improves every channel report, not only the AI one.
Reading the numbers in practice
Suppose the AI Assistant row shows a few dozen sessions a month against several thousand from organic search. Report that figure as it is, with a note on the undercount, and compare engagement and key events with other channels. Do not project a grand total from a small sample, and do not say assistants drive sales unless your own conversion data shows it. Where an AI session is followed by a later return visit from the same person, GA4's attribution reports may credit the later channel instead, which is another reason to treat the AI figure as a floor.
Privacy and consent
AI traffic is measured with the same GA4 tag as everything else, so your existing consent settings apply. If a visitor declines analytics cookies in a region where you require consent, GA4 will record less data for that person, which adds to the undercount. Confirm the tag respects your consent banner before you read anything into a change in the AI numbers.
Record the setup and review it
Note the date of the change, the regular expression and the channel order. AI products change how they link out, and your numbers will move when they do. Look over the source list every quarter and add any new assistant that turns up in the Session source / medium report.
Limitations to explain to clients
-
The numbers undercount. Direct and Unassigned will hold some AI-driven visits that no setting can recover.
-
Google AI Overviews and AI Mode traffic is reported with Organic Search and cannot be isolated with this method.
-
A visit is not an influence measure. A person may read an assistant's answer, remember your brand and search for it later, which GA4 records as a branded search visit.
-
Assistants send small volumes for most sites, so averages are unstable.
Our wider approach to measurement rests on the same principle: automation helps with reporting, and people decide what the numbers mean.
Frequently asked questions
Does GA4 have a built-in channel for AI traffic?
Google's default channel group definitions list an AI Assistant channel. Check your own property's reports to confirm that it appears and holds data, because a property that uses a custom primary channel group may not show it.
Why is some ChatGPT traffic marked as Direct?
Visits that arrive without a referrer or tracking parameters have no source for GA4 to read, so they are recorded as Direct. Reports that some links lose their tags are unconfirmed, so test your own links.
Will a custom channel group change my old data?
In reports, explorations and segments it can be applied to historical data, according to Google. Audiences use the new definition only from the change onwards.
Set up the channel once, keep the list of sources current, and read the figures as a floor and not a total.


Comments (0)
No comments yet. Be the first to share your thoughts.
Share your thoughts
Comments are published after approval. Your email address will not be shown.
Thank you, your comment has been received.
It will appear here once it has been approved.