People now find websites through ChatGPT, Perplexity, Gemini, Microsoft Copilot, Claude and other AI assistants. When they click a cited link, GA4 usually records the visit. The trouble is that it doesn't label it as AI traffic, so it gets mixed in with ordinary referrals, and some of it disappears into Direct.
This guide covers where AI traffic shows up by default, what you can and can't recover, and how to report on it properly.
Where AI traffic shows up by default.
When someone clicks a link inside an AI assistant in a web browser, the browser normally sends a referrer. GA4 reads it and records the session with that site as the source and "referral" as the medium. In the default channel group, those sessions sit in Referral alongside every other website that links to you.
Typical sources you'll see include:
chatgpt.com(older data may showchat.openai.com)perplexity.aigemini.google.comcopilot.microsoft.comclaude.aichat.deepseek.comand smaller assistants
ChatGPT also adds utm_source=chatgpt.com to many of the links it cites. When that tag is present, GA4 uses it as the session source, so ChatGPT traffic can appear as chatgpt.com even when no referrer was sent.
How to diagnose it: Go to Reports, then Acquisition, then Traffic acquisition. Change the main dimension to Session source, or Session source / medium, and search for the names above. Note the exact hostnames you get. The list changes as assistants launch, rename domains or add subdomains, so your own report is the source of truth.
Why some AI traffic lands in Direct.
GA4 records a session as Direct when it arrives with no UTM parameters and no referrer. A fair amount of AI traffic arrives exactly like that.
- Desktop and mobile apps. The ChatGPT, Claude, Gemini and Copilot apps often open links in a way that sends no referrer. The visit looks the same as someone typing your URL.
- Copied links. People copy a URL from an AI answer and paste it into a browser, an email or a chat. The original source is lost.
- Privacy settings. Browsers, extensions and privacy tools can strip or reduce the referrer before it reaches your site.
This part can't be fully recovered. The information was never sent, so no GA4 setting can bring it back. The Direct traffic guide covers the wider causes.
What you can do: Estimate it rather than guess. In an Exploration, look at Direct sessions by landing page over time. If pages that already get visible AI referrals also show Direct growth you can't explain, some of that Direct is likely AI traffic from apps.
Treat it as a signal, not a number to report.
Google AI Overviews and AI Mode.
Clicks from Google's AI Overviews and AI Mode come from Google Search, so they arrive as google / organic. GA4 can't separate them from ordinary organic search clicks. There is no GA4 dimension or filter for them.
Search Console is the better place to look, but it doesn't separate them cleanly either. It counts AI Overviews and AI Mode activity within its normal Search results performance data, with no dedicated filter.
The most you can do is watch queries and pages where impressions rise while clicks fall, which often points to answers being given on the results page itself.
Step by step: an "AI assistants" channel in GA4.
The cleanest fix is a custom channel group with its own AI channel. You need Editor access or higher on the property.
- Go to Admin, then Data display, then Channel groups.
- Find the Default channel group and copy it. You can't edit the default group itself, but a copy keeps all its rules.
- Give the copy a clear name, such as "Channels with AI".
- Add a new channel called "AI assistants".
- Set the condition to Source, match type "matches regex", and paste the regex below.
- Save the channel, then use the reorder option to move "AI assistants" above Referral.
- Save the channel group.
The order matters. GA4 checks channels from the top down and assigns each session to the first one whose rules it matches. If Referral sits above your AI channel, chatgpt.com / referral matches Referral first and never reaches the new channel.
A regex to start from:
.*(chatgpt|openai|perplexity|gemini\.google|copilot|claude\.ai|deepseek).*
The .* at each end means it works whether GA4 treats "matches regex" as a full match or a partial match. The backslash before each dot makes it a literal full stop rather than "any character".
How to diagnose it: Test it before you rely on it. Take the full list of session sources from your Traffic acquisition report and check which ones the regex catches.
Loose terms can pick up unrelated sources. "copilot" could match a site with Copilot in its name, and adding plain "gemini" would catch anything mentioning Gemini, which is why the pattern uses gemini\.google. Tighten the pattern to the hostnames you see.
How to fix it: Once saved, open Traffic acquisition and switch the primary dimension to your new channel group. Custom channel groups are applied when reports are built rather than when data is collected, so the new channel also shows for earlier date ranges.
Check the result against your source list a few weeks later and add new assistants as they appear.
Standard properties allow only a small number of custom channel groups, so use one for AI rather than creating several variations.
A quick way without admin changes.
If you can't change Admin settings, or just want a first look, filter a report instead.
- In a standard report: open Traffic acquisition, add a filter on Session source, choose "matches regex" and paste the same regex. The report now shows AI sources only.
- In an Exploration: create a Free form exploration with Session source and Landing page as dimensions, add Sessions, Key events and Total revenue as metrics, and filter Session source by the same regex.
Both are views, not settings. They don't change how other users see your data, and they're easy to adjust as you refine the pattern.
What to measure once it's visible.
Session counts from AI assistants are usually small next to search and paid traffic. What matters is what those sessions do.
- Landing pages. Which pages do AI assistants send people to? These are the pages the assistants cite, and they often differ from your top organic pages.
- Key events. Look at key events and session key event rate for the AI channel. Enquiries, sign-ups and bookings tell you more than visits.
- Revenue. For ecommerce sites, compare purchase revenue and conversion rate for AI sessions against other channels.
- Trend. Track the channel month by month. Growth on specific landing pages shows which content is being picked up.
Remember the numbers are a floor. App traffic in Direct and AI Overview clicks in organic search aren't included, so the true figure is higher than what the channel shows.
For BigQuery users.
If you export GA4 to BigQuery, the same regex works on the session source fields, for example with REGEXP_CONTAINS on the session-level traffic source. Custom channel groups aren't part of the export, so you apply the logic in your query instead.
Summary.
GA4 records most AI assistant visits already, but files them under Referral. A custom channel group with an "AI assistants" channel above Referral pulls them together. App visits without a referrer stay in Direct, and Google's AI features stay in organic search, so treat the AI channel as the part you can see, not the whole.
If you'd rather have it checked, the GA4 mini audit covers channel grouping, source attribution and key events, and shows how your AI traffic is being recorded.