How to Track AI Referral Traffic in GA4 at a Glance
| Step | Action | Expected result |
|---|---|---|
| 1 | Open Traffic acquisition and find the AI Assistant channel | An “AI Assistant” row, if GA4 recognised any AI referrals in the date range |
| 2 | Break the channel down by Session source / medium | One row per assistant, e.g. a ChatGPT source with medium ai-assistant |
| 3 | Search for tagged ChatGPT visits | Sessions with source chatgpt.com, including some that lost their referrer |
| 4 | Create a custom channel group with an AI regex (optional) | A channel group containing your own “AI assistants” channel |
| 5 | Order the AI channel above Referral and save | AI visits counted in your channel instead of Referral |
| 6 | Build a free-form exploration of AI landing pages | A table of pages, sessions and key events by assistant |
| 7 | Record what GA4 cannot see | A note on Direct traffic and Google's AI answers alongside your numbers |
Steps 1 to 3 need no setup. Steps 4 and 5 are only needed if the default channel does not cover the assistants you care about.
What Is AI Referral Traffic in GA4?
AI referral traffic is visits to your site that start with a click on a link inside an AI assistant such as ChatGPT, Gemini, Claude, Perplexity or Microsoft Copilot, identified in analytics by the referrer the browser passes or by a tracking tag in the link.
GA4 assigns every session a source, a medium and a channel. Google defines source as the platform or site “that referred a user to your property” and medium as the type of traffic, such as organic, referral or email (GA4 Help, About traffic-source dimensions). Before May 2026, visits from assistants usually appeared as referrals. Google's release notes of 13 May 2026 announced the new AI Assistant channel, naming ChatGPT, Gemini and Claude as examples (GA4 Help, What’s new). Why some assistants can be identified and others cannot is explained in our research on whether you can tell which AI sent you a visitor.
What You Need Before Starting
- A GA4 property collecting data from your website.
- Any role that can view reports, for Steps 1 to 3 and 6. Google says creating and editing channel groups requires the Editor role or above (GA4 Help, Custom channel groups).
- A free custom channel group slot if you plan Step 4. Standard properties allow two custom groups in addition to the predefined one; GA4 360 properties allow five. Each group can hold 50 channels.
- A date range long enough to contain AI visits. AI assistants send relatively few visits; our research on how much traffic AI assistants actually refer puts the volumes in context.
- For Step 3, your site should not block OpenAI's OAI-SearchBot crawler if you want its content included in ChatGPT search summaries and snippets; OpenAI's FAQ ties its tracking note to publishers who allow that crawler.
Number of channel groups per property, as listed by Google, read October 10, 2026
Source: Google Analytics Help, Custom channel groups, per-property limits table.
Custom groups are in addition to the predefined group. Each group, on either property type, can hold up to 50 channels.
Step 1: Open Traffic Acquisition and Find the AI Assistant Channel
Open the Traffic acquisition report and look for the AI Assistant row.
Why: this is the zero-setup view. The report's default dimension is the session default channel group, which now includes AI Assistant (GA4 Help, Traffic acquisition report).
How: in GA4, select Reports in the left menu, then Acquisition > Traffic acquisition. Set a date range of at least the last 28 days. Look for the row labelled AI Assistant, or type it into the search bar above the table.
Expected result: an AI Assistant row with sessions, engaged sessions and key events, if GA4 recognised any AI referrals in the period.
Verify: Google's channel rule is that the medium exactly matches ai-assistant, so the row should agree with a filter on Session medium = ai-assistant (GA4 Help, Default channel group).
Common mistake: choosing a date range that starts before mid-May 2026. The channel was announced on 13 May 2026; earlier AI visits are likely to appear under Referral.
Step 2: Break the Channel Down by Session Source / Medium
Change the report's primary dimension to Session source / medium to see which assistant sent each visit.
Why: the channel tells you the visits came from an AI assistant; the source tells you which one.
How: in Traffic acquisition, open the dimension drop-down above the first column and choose Session source / medium. To keep only AI rows, click + Add filter, leave Include selected, choose the dimension Session medium and the value ai-assistant, then click OK and Apply.
Expected result: rows such as a ChatGPT or Gemini source paired with medium ai-assistant.
Verify: the session total across these rows should match the AI Assistant row from Step 1 for the same dates.
Common mistake: assuming every assistant is on Google's list. Repeat the search with the filter removed and type perplexity, claude or copilot into the search bar to find any that still appear as referral.
Step 3: Search for Tagged ChatGPT Visits
Search for chatgpt.com across all channels to find ChatGPT visits identified by its UTM tag.
Why: OpenAI says publishers who allow OAI-SearchBot “can track referral traffic from ChatGPT using analytics platforms such as Google Analytics” because ChatGPT adds utm_source=chatgpt.com to referral URLs (OpenAI, Publishers and Developers FAQ). A tag travels in the link itself, so it can survive when the referrer does not.
How: with Session source / medium as the dimension and no filter, type chatgpt into the search bar. In an exploration (Step 6) you can also use Session manual source, which Google says is populated by the utm_source parameter (GA4 Help, dimensions and metrics).
Expected result: one or more rows with source chatgpt.com. The medium may vary; check rather than assume which channel these sessions fall into.
Verify: do not add the AI Assistant total to the tagged total. A single visit can carry both a referrer and a tag, so the counts overlap.
Common mistake: reading the absence of chatgpt.com rows as zero ChatGPT visits. OpenAI documents the tag for ChatGPT search results only.
Step 4: Create a Custom Channel Group With an AI Regex
Create a custom channel group and add a channel that matches AI assistant sources with a regular expression.
Why: this is optional since the AI Assistant default channel arrived, but it lets you decide which assistants count and keeps working for one Google's list does not recognise. Google documents this exact use under “Example: AI assistants” (GA4 Help, Custom channel groups). Custom channel groups apply to past data as well as new data.
How:
- In Admin, under Data display, click Channel groups.
- Click Create new channel group. GA4 starts you with a copy of the default group. Name it, for example “Channels with AI”.
- Click Add new channel and name it “AI assistants”. If the copied group already contains an AI Assistant channel, you can edit that channel instead of adding a second one.
- Click + Add condition group, choose the Source dimension, choose matches regex, and paste the pattern below. The hostnames come from the table in Which Referrer Domains AI Assistants Send.
- Click Save channel.
^(.*\.)?(chatgpt\.com|openai\.com|perplexity\.ai|claude\.ai|gemini\.google\.com|copilot\.microsoft\.com|deepseek\.com|grok\.com)$
What the pattern does: it matches a source that is exactly one of the listed hostnames, or any subdomain of one (so www.perplexity.ai and chat.deepseek.com match). It does not match look-alikes such as gemini.com or chatgpt.com.example.net. We tested it, using Python's regular-expression engine with full-match semantics, against 22 sample source values. We did not test it inside a live GA4 property. Adapt it: add or remove hostnames to match the Session source values you actually see in Step 2, and update it when assistants change domains, as Google's own guidance advises.
Why not paste Google's example? Google's help page offers this pattern:
^.*ai|.*\.openai.*|.*chatgpt.*|.*gemini.*|.*gpt.*|.*copilot.*|.*perplexity.*|.*google.*bard.*|.*bard.*google.*|.*bard.*|.*.*gemini.*google.*$
Run against the same sample values, it matched every assistant in Google's list except DeepSeek and Grok, and also matched unrelated values: any source ending in “ai”, any containing “gpt” (such as a blog domain with gpt in its name) and any containing “gemini”, including gemini.com. Treat it as a starting point, not a finished filter.
Expected result: a saved “AI assistants” channel inside your new group.
Common mistake: writing chatgpt alone. Google says GA4 uses full regex by default, so “without adding metacharacters, the expression only returns exactly matching values” (GA4 Help, About regular expressions). chatgpt would not match chatgpt.com.
Step 5: Order the AI Channel Above Referral and Save the Group
Move the AI assistants channel above Referral (and above Organic Search if needed), then save the group.
Why: Google says “traffic is included in the first channel whose definition it matches given the current order of channels in the group”, and its AI example tells you to reorder so the AI channel “appears above ‘Referrals’” (GA4 Help).
How: click Reorder, drag the AI assistants channel above Referral, click Apply, then click Save group.
Expected result: in Reports > Acquisition > Traffic acquisition, your new group is available from the dimension drop-down and shows an “AI assistants” row.
Verify: select the new group as the primary dimension and Session source as a secondary dimension; every source in the AI row should be one you intended to include.
Common mistake: leaving the channel at the bottom of the list, where earlier rules such as Referral claim the visits first.
Step 6: Build a Free-Form Exploration of AI Landing Pages
Create a free-form exploration that shows which pages AI assistants send visitors to and what those visitors do.
Why: the standard report shows volume by source. An exploration lets you combine source, landing page and key events in one table (GA4 Help, Get started with Explorations).
How:
- Click Explore in the left navigation and start a blank exploration; the default technique is a free-form table.
- In the Variables panel, add the dimensions Session source, Session medium and Landing page + query string, and the metrics Sessions, Engaged sessions and Key events.
- In Tab Settings, drag Session source and Landing page + query string from Variables into Tab Settings as rows, and the metrics into Values.
- Add a filter on Session medium for
ai-assistant, or on Session source using the hostnames from your regex.
Expected result: a table of landing pages by assistant. Landing page + query string will not show a utm_source=chatgpt.com tag: Google says UTM parameters are omitted from that dimension, and “UTM information isn't captured in these dimensions and is instead populated in the Page location dimension” (GA4 Help). Add Page location to see the tag.
Verify: totals should be close to Step 2 for the same dates. Google notes explorations can be sampled above 10 million events, shown by the icon in the corner turning yellow.
Common mistake: concluding a page “ranks in ChatGPT” from a handful of sessions. Small numbers move a lot month to month. For deciding what counts as a result, see how to measure whether placement worked.
Step 7: Record What GA4 Cannot See
Write down, next to your AI traffic figures, the two groups of AI-influenced visits that GA4 cannot attribute.
Why: Search Engine Journal notes that AI assistant traffic arriving without a referrer “still lands in Direct”, which can happen through in-app browsers, mobile apps or copied links (Search Engine Journal). Google's channel definitions also place AI Overviews and AI Mode clicks in Organic Search (GA4 Help).
How: report AI Assistant sessions as a floor, not a total. For Google's own AI answers, the only official measure is impression data in Search Console, covered in what Search Console shows for AI answers.
Expected result: a monthly figure with a stated limitation, e.g. “AI Assistant sessions (referrer- or tag-identified only; excludes AI Overviews/AI Mode).”
Common mistake: attributing a rise in Direct traffic to AI assistants. There is no way in GA4 to tell untagged, referrer-less AI visits from other direct visits.
Which Referrer Domains AI Assistants Send
No single official list exists. Google has not published the referrer list behind its AI Assistant channel (Search Engine Journal, 14 May 2026), and the spreadsheet of sources and categories linked from Google's default channel page, which we downloaded on 6 October 2026, contains no AI assistant entries. The table separates what is documented from what is simply the address where each service runs.
| Assistant | Address the service runs on | What the sources confirm (as of October 2026) |
|---|---|---|
| ChatGPT | chatgpt.com | OpenAI documents utm_source=chatgpt.com on referral links from ChatGPT search results. Google names ChatGPT in the AI Assistant channel. Search Engine Journal describes chatgpt.com sessions previously appearing as referral traffic. |
| Gemini | gemini.google.com | Google names Gemini in the AI Assistant channel. Links from Gemini were reported carrying UTM parameters from about 1 October 2026; Google has not documented the values (Search Engine Journal). |
| Claude | claude.ai | Google's release note names Claude; Search Engine Journal mentions claude.ai sessions previously appearing as referrals. |
| Microsoft Copilot | copilot.microsoft.com | Named in Google's AI Assistant channel description and in its custom channel group example. |
| Perplexity | perplexity.ai | Named in Google's custom channel group example as an assistant to include. We found no official Perplexity documentation of its referrer or tags. |
| DeepSeek | chat.deepseek.com | Named in Google's AI Assistant channel description. |
| Grok | grok.com | Named in Google's AI Assistant channel description. |
| Google AI Overviews and AI Mode | google.com search results | Excluded from the AI Assistant channel by definition; counted as Organic Search. |
How to Verify It Worked
- Default channel: Traffic acquisition shows an AI Assistant row for dates after mid-May 2026, and a Session medium filter on
ai-assistantreturns the same session count. - Source detail: Session source / medium rows for assistants show medium
ai-assistant; any assistant still showing mediumreferralis not on Google's list. - Custom group: in Admin > Data display > Channel groups, your group is listed; in Traffic acquisition it is selectable and shows an “AI assistants” row whose secondary-dimension sources are all intended matches.
- Regex check: every Session source you expect appears under the AI channel, and no unrelated source (a
.aistartup, a site with “gpt” in its name) does. - Exploration: landing-page totals reconcile with the report totals for the same dates, allowing for sampling.
Common Problems and Fixes
| Problem | Likely cause | Fix |
|---|---|---|
| No AI Assistant row | No recognised AI referrals in the date range, or range ends before May 2026 | Widen the range; search Session source for assistant names |
| An assistant still shows as referral | Its referrer is not on Google's unpublished list | Add its hostname to a custom channel group regex |
| Custom AI channel shows no data | Regex written as a partial match, or wrong dimension (e.g. Medium instead of Source) | Use a full-match pattern with anchors and .* where needed; set the condition on Source |
| Custom AI channel catches unrelated sites | Over-broad pattern such as .*ai or .*gpt.* | List exact hostnames, escaping dots as \. |
| AI visits still counted under Referral in the custom group | AI channel ordered below Referral | Reorder so the AI channel is above Referral, then save the group |
| Cannot create a channel group | Viewer or Analyst role, or two custom groups already used | Ask for Editor access; delete or reuse an existing group (deletions are irreversible) |
| ChatGPT sessions much lower than expected | Visits arriving without referrer or tag land in Direct; OAI-SearchBot blocked | Report the figure as a floor; check robots.txt if you want your content in ChatGPT search |
| AI Overview clicks not visible anywhere | GA4 counts them as Organic Search | Use Search Console's impression data; there is no GA4 split |
How to Choose a Tracking Method
| Situation | Recommended method | Why |
|---|---|---|
| You want AI visits counted with no setup | Default AI Assistant channel in Traffic acquisition | Automatic since May 2026; no admin rights needed |
| An assistant you care about still appears as referral | Custom channel group with a hostname regex | You control the list; applies retroactively |
| You need landing pages and conversions by assistant | Free-form exploration | Combines source, landing page and key events |
| You want ChatGPT visits that lost their referrer | Session manual source = chatgpt.com, or landing URLs containing the tag | OpenAI documents the UTM tag on ChatGPT search referrals |
| You have used both custom group slots | Default channel plus a saved exploration | Avoids spending a limited slot |
| You want Google AI Overviews or AI Mode clicks | Not possible in GA4; use Search Console impressions | GA4 files these clicks under Organic Search |
What Not to Do
- Do not paste Google's example regex unchanged. Consequence: unrelated sources inflate your AI figure, and DeepSeek and Grok may be missed. Correction: list exact hostnames and check the matched sources.
- Do not add tagged and referrer-identified counts together. Consequence: double-counting, since one visit can carry both. Correction: use the channel or the custom group as the single count.
- Do not present AI Assistant sessions as all AI-driven traffic. Consequence: understating AI influence, and misleading comparisons with search. Correction: label the figure as identified referrals only, excluding Direct and Google's AI answers.
- Do not filter AI sources out of your data to tidy up Referral. Consequence: you lose the only signal GA4 has. Correction: leave the data intact and group it with channels instead.
- Do not treat AI referral traffic as proof of being cited. Consequence: an assistant can mention a company without a link or click. Correction: track citations separately; our research on which sources AI assistants cite covers what is known.
Frequently Asked Questions
Why does traffic from ChatGPT show up as Direct in GA4?
When a visit arrives with no referrer and no tracking tag, GA4 cannot tell where it came from and files it as Direct. Search Engine Journal notes this can happen through mobile apps, in-app browsers and copied links.
What does the ai-assistant medium mean in GA4?
GA4 sets the medium to ai-assistant, and the campaign to (ai-assistant), when the referrer matches Google's list of AI assistants. Sessions with that medium make up the AI Assistant default channel.
Are clicks from Google AI Overviews and AI Mode counted as AI Assistant traffic?
No. Google's channel definitions exclude AI Overviews and AI Mode from the AI Assistant channel and include them in Organic Search, so they cannot be separated in GA4.
Does GA4 recognise Perplexity as an AI assistant?
Google has not published its full list. Its custom channel group example names Perplexity as an assistant to include. Check whether Perplexity sessions in your property show the ai-assistant medium or referral.
How many custom channel groups can a GA4 property have?
Two on a standard property and five on a GA4 360 property, in addition to the predefined group, with up to 50 channels in each, according to Google's help page.
Do custom channel groups change historical GA4 data?
They apply retroactively in reports and explorations, according to Google. Edits to a group used in an audience apply only from then on.
Is GA4 regex case-sensitive?
Google's regex help page says GA4 regex is full-match and case-sensitive by default, while its channel group page says channel definitions are not case-sensitive. Writing patterns in lower case avoids the question.
Can GA4 show which prompt or question led someone to my site from an AI assistant?
No. Neither Google's nor OpenAI's documentation describes passing the prompt. GA4 records the source, medium, campaign and landing page, plus any UTM tag on the link.
Sources and Methodology
This guide is built from Google Analytics Help pages and OpenAI's publisher FAQ, read on 6 October 2026, with two Search Engine Journal reports for points Google has not documented. Menu labels and button names (Reports, Acquisition, Traffic acquisition, + Add filter, Admin, Data display, Channel groups, Create new channel group, Add new channel, + Add condition group, matches regex, Save channel, Reorder, Apply, Save group, Explore, Variables, Tab Settings) are quoted from those help pages; Google changes its interface, so labels in your property may differ. The regular expression was tested only with Python's regular-expression engine using full-match semantics against 22 sample source strings, not inside a GA4 property, and it uses only syntax that GA4's RE2 engine supports. The “address the service runs on” column records where each assistant is hosted; we did not observe the referrer values those services send. We have no analytics data of our own on AI referrals, and the time estimate is ours.
Limitations: Google has not published the list of referrers behind the AI Assistant channel, nor how UTM-tagged assistant visits are classified. Gemini's reported tags are undocumented. The share of AI-referred visits that arrive without a referrer is not measured in any source we found.
- official Google Analytics Help, [GA4] Default channel group. AI Assistant channel description and rule; Direct, Referral and Organic Search definitions; linked source-category spreadsheet. Read 6 October 2026.
- official Google Analytics Help, What’s new in Google Analytics, entry of 13 May 2026, “New AI Assistant traffic measurement”. Read 6 October 2026.
- official Google Analytics Help, Custom channel groups. AI assistants example and regex, ordering rule, Admin path, limits, roles. Read 6 October 2026.
- official Google Analytics Help, [GA4] Traffic acquisition report. Menu path, dimensions, filters. Read 6 October 2026.
- official Google Analytics Help, About regular expressions (regex). Full-match default; metacharacters. Read 6 October 2026.
- official Google Analytics Help, Get started with Explorations. Explore menu, Variables, Tab Settings, sampling. Read 6 October 2026.
- official Google Analytics Help, Analytics dimensions and metrics and About traffic-source dimensions. Session manual source, Landing page + query string, source and medium definitions. Read 6 October 2026.
- official OpenAI, Publishers and Developers FAQ. utm_source=chatgpt.com on ChatGPT search referrals. Direct requests were refused; read 6 October 2026 through a text-rendering proxy.
- trade press Matt G. Southern, Search Engine Journal, Google Analytics Adds AI Assistant As Default Channel Group, 14 May 2026. Unpublished referrer list; Direct for referrer-less visits. Read 6 October 2026.
- trade press Roger Montti, Search Engine Journal, Google Gemini Adds UTM Parameters For Referral Attribution, 1 October 2026. Reported Gemini UTM tags and John Mueller’s reply; Google has not documented the values. Read 6 October 2026 through a text-rendering proxy.