In this article
Somebody on your team will eventually ask how much traffic comes from ChatGPT. GA4 can answer part of that question in about fifteen minutes, if you set it up to look. It cannot answer all of it, and the part it cannot answer, Google's own AI Overviews, is often the largest. This is how to build the view, and how to report it without overstating what it shows.
What GA4 can and cannot see#
GA4 attributes a session by its source, and for most AI tools the source is the referrer: the domain the click came from. When someone clicks a cited link in Perplexity, the visit usually arrives with perplexity.ai as its source. GA4 records it correctly, then files it under the Referral channel alongside every blog and directory that links to you. Nothing is missing. It is just unlabelled.
That covers the AI assistants that send people to you through an ordinary link. It does not cover two important cases, and it is worth saying so before building anything, because they decide how you report the number. Our wider guide to AI visibility tracking explains how this fits next to citation tracking.
Google AI Overviews and AI Mode. Clicks from these arrive as google / organic. There is no separate referrer, and Search Console reports them as ordinary web search. If you want to know how they affect you, you have to infer it from query and landing-page patterns, which our guide on getting cited in AI Overviews covers.
Visits with no referrer. Apps, copied links and some privacy settings strip the referrer entirely. Those sessions land as direct, and nothing in GA4 can tell you they started in an AI tool.
The sources to include#
Start from your own data. Open the Traffic acquisition report, switch the primary dimension to Session source, and look for AI domains in the list. Then use this as a starting checklist:
| Assistant | Source to match | Notes |
|---|---|---|
| ChatGPT | chatgpt.com (older links: chat.openai.com) | ChatGPT also adds utm_source=chatgpt.com to many links it shows, which helps |
| Perplexity | perplexity.ai | Usually passes a referrer, since sources are ordinary links |
| Gemini | gemini.google.com | Separate from Google Search; AI Overviews do not show up here |
| Microsoft Copilot | copilot.microsoft.com | Some Copilot surfaces may refer as bing.com, which you cannot separate from Bing search |
| Claude | claude.ai | Lower volume for most sites, but cheap to include |
| Others | chat.deepseek.com, grok.com, meta.ai, poe.com, you.com | Check your own referral report and add what you actually see |
Joined into one regular expression, with the dots escaped, a starting version looks like this:
chatgpt\.com|chat\.openai\.com|perplexity\.ai|gemini\.google\.com|copilot\.microsoft\.com|claude\.ai|chat\.deepseek\.com|grok\.com|meta\.ai|poe\.com|you\.com
Treat that as a draft. Domains change, new assistants appear, and the list that matters is the one in your own referral report. Review it every month or two.
Build the AI channel group#
A custom channel group is the cleanest approach, because it gives you an AI channel inside the standard acquisition reports rather than a one-off exploration. You need editor access to the property. GA4 menus move from time to time, so labels may differ slightly in your version.
Open channel groups
In Admin, under Data display, open Channel groups. You will see the Default channel group, which you cannot edit. Copy it to create a new group, so you keep every standard channel and only add one.
Add a channel called AI assistants
Add a new channel and set its condition to Source matches regex, then paste your regex. Save the channel.
Move it above Referral
Channels are evaluated in order, and a session goes to the first one it matches. If AI assistants sits below Referral, every AI session is caught by Referral first. Drag it above Referral and save the group.
Switch your reports to the new group
In Traffic acquisition, change the primary dimension from the default channel group to your custom one. AI assistants now appears as its own row, with engagement and conversions alongside every other channel.
Check it against the raw sources
Add Session source as a secondary dimension and filter to the AI channel. Every row should be an AI domain. If something else slipped in, tighten the regex.
If you cannot edit channel groups, for example because you only have analyst access, you can get the same view from an exploration. Create a free-form exploration, add Session source and Landing page as dimensions and Sessions, Engaged sessions and Key events as metrics, then add a filter where Session source matches your regex. It is less convenient, because it lives outside the standard reports, but it answers the question and you can share it with the team.
A standard GA4 property allows only a small number of custom channel groups, so if you already use one for another purpose, add the AI channel to that group rather than making a second.
The three reports worth keeping#
Trend by month. Sessions from the AI channel, month over month, with the major assistants as separate lines. This is the number people ask for, and the trend is more meaningful than any single month.
Landing pages. Build a free-form exploration with Landing page as the row and the AI channel as a filter. This tells you which pages are being cited and clicked, which is far more useful than the total: it shows you what kind of content earns AI citations on your site, so you can make more of it.
Quality next to volume. Compare engaged sessions, key events and conversion rate for the AI channel against organic and referral. AI visitors have often already read a summary, so they can arrive further along. Whether that is true for your site is something your data will tell you, and it is the number that justifies, or does not justify, investing in the channel.
Keep the samples in proportion. For many sites the AI channel is still small, and a conversion rate calculated on a few dozen sessions will swing wildly from month to month. Look at quarters rather than weeks, and resist drawing conclusions about an assistant until it has sent you enough visits for the pattern to be stable.
The total tells you the channel exists. The landing pages tell you what to write next.
Limits, and how to report around them#
AI Overviews are invisible here. Do not let the AI channel number stand in for "AI search" as a whole. Report Google organic alongside it, and if impressions in Search Console rise on a page while clicks fall, flag that as a likely AI Overview effect rather than burying it.
Direct traffic hides some of it. If direct visits to deep pages are climbing, especially to pages that answer specific questions, some of that may be AI traffic without a referrer. You cannot prove it, but you can note it.
Your own links are the exception. When you control a link, for example one you share in a custom GPT or a public prompt, tag it with UTM parameters so it is attributed regardless of referrer. Our free UTM builder makes the tags consistent.
Attribution is still attribution. A visitor who first met you in a Perplexity answer and came back a week later from a branded Google search will be credited to Google under most models. Our glossary entry on attribution covers why no model gets this fully right. A short "how did you hear about us" field on your demo or contact form is still one of the best checks on the analytics.
Once the channel is in place, the useful next step is upstream: work out which questions you want to be cited for and improve those pages. Our guides on ranking in Perplexity and ranking in ChatGPT cover that side.
Try it on autopilot
Measure the AI channel, then grow it.
Wysera plans and drafts the answer-first content that earns AI citations, with Wyse writing and a person approving before anything publishes.
Frequently asked
How do you see AI search traffic in GA4?
Create a custom channel group in GA4 with a new channel, for example AI assistants, defined by a session source that matches a regex of AI domains such as chatgpt.com, perplexity.ai, gemini.google.com and copilot.microsoft.com. Place it above Referral so those sessions are not swallowed by the referral channel, then switch your acquisition reports to the new channel group.
Does GA4 track ChatGPT traffic automatically?
It records it, but it does not label it. By default, a click from ChatGPT usually shows up as a referral from chatgpt.com, mixed in with every other referring site. ChatGPT also adds utm_source=chatgpt.com to many links, which makes it easier to find. To see it as its own channel you need a custom channel group or a filtered exploration.
Can GA4 show traffic from Google AI Overviews?
No. Clicks from AI Overviews and AI Mode arrive as Google organic search, the same as a click on an ordinary result, and Search Console does not separate them either. You can infer the effect from query and landing-page patterns, but there is no referrer that isolates it.
Why does some AI traffic show as direct?
Because the referrer is often missing. Desktop and mobile apps, copied links and some privacy settings strip the referrer, so the visit lands with no source and GA4 calls it direct. That means a referrer-based AI channel undercounts. Treat it as a floor, not a total.
What regex should I use for AI referrers in GA4?
Start with a list of the AI domains you actually see in your referral report, joined with a pipe and with dots escaped, for example chatgpt\.com|perplexity\.ai|gemini\.google\.com|copilot\.microsoft\.com|claude\.ai. Review the referral report every month or two and add new sources as they appear, because new assistants and new domains turn up regularly.