GA4 for AI Traffic

The hands-on GA4 configuration how-to for AI traffic — the native AI Assistant channel, a custom channel group with a source regex, the channel-order rule, Explorations for landing-page and conversion analysis, UTM behavior by platform, and joining Search Console.

First published: Jul 3, 2026 · Last updated: Jul 18, 2026 · Advanced
demand #5 in Measurement and Reporting#29 in AI Search#347 on the site

GA4 now gives you two ways to see AI traffic: the native AI Assistant channel (added to the Default Channel Group on May 13, 2026 — automatic but referrer-only and not retroactive) and a custom channel group you build with a Source-matches-regex rule. The one thing everyone gets wrong is channel order: GA4 stops at the first matching channel, so your AI channel must sit above Referral or every chatgpt.com session gets silently absorbed into Referral. But setup is step one, not the finish line. The real value is in an Exploration: cross-tab Session source/medium against Landing page and key events to see which pages AI tools actually send traffic to and whether it converts — the parts most guides skip. UTM behavior is platform-specific (ChatGPT increasingly appends utm_source=chatgpt.com; Perplexity, Gemini, and Claude generally don't), and combining with Search Console is a manual URL-level join, not a native report. And 35–70% of AI visits arrive with no referrer at all, so everything you configure here measures a floor, not a ceiling.

Custom channel definitions are ordered, so an earlier broad rule can capture a session before a later AI-specific rule. Evidence for this claim GA4 lets editors create custom channel groups from ordered rules, and a session is assigned to the first matching channel. Scope: GA4 custom channel groups; availability and limits depend on the property and product configuration. Confidence: high · Verified: Google Analytics: Custom channel groups Source and medium analysis remains limited to acquisition information that reaches GA4. Evidence for this claim GA4 exposes session source and session medium as acquisition dimensions for analyzing where sessions originated. Scope: Observable acquisition metadata; traffic without a usable referrer or campaign tag can be unattributed or classified as direct. Confidence: high · Verified: Google Analytics: Traffic-source dimensions

TL;DR — Two layers: GA4’s native AI Assistant channel (Default Channel Group, added May 13, 2026 — automatic, referrer-only, not retroactive, narrower recognized-source list) and a custom channel group you build (broader, works on historical data, costs one of your 2 standard-property custom-group slots). Channel order is load-bearing: GA4 assigns traffic to the first channel whose definition it matches, so AI must sit above Referral or AI sessions get silently absorbed into Referral. Setup is step one — the payoff is a Free Form Exploration cross-tabbing Session source/medium × Landing page × key events, and an AI segment you can reuse across any report. UTM behavior is platform-specific: ChatGPT increasingly appends utm_source=chatgpt.com; Perplexity, Gemini, and Claude generally don’t. Combining with Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. is a manual URL-level join (GSC impressions × GA4 sessions on the same landing page), not a native report — and GA4 can’t isolate AI OverviewsAI Overviews are the AI-generated summary box Google shows above or within its regular search results, written by Gemini models from pages retrieved out of Google's normal Search index. It's a Search feature, not a separate platform or index. from Organic Search at all. Everything here measures the referred slice; 35–70% arrives with no referrer and stays in Direct.

The two layers, and what each one actually covers

Since May 2026 there are two distinct ways to see AI traffic in GA4, and it’s worth being precise about what each does.

Layer 1 — the native AI Assistant channel. On May 13, 2026, Google added an AI Assistant channel to GA4’s Default Channel Group. Google’s description: “AI Assistants is the channel by which users arrive at your site from sources like ChatGPT, Gemini, Deepseek, Copilot, or Grok.” Mechanically, when a session’s referrer matches Google’s internal list of recognized AI Assistant sources, GA4 assigns medium ai-assistant and campaign (ai-assistant) and routes it to this channel. Three things to know: it’s automatic (nothing to configure), it’s referrer-only (no referrer, no classification), and it is not retroactive — it classifies going forward from rollout, not your historical sessions. The recognized-source list also isn’t fully published, so treat it as a moving target.

Layer 2 — a custom channel group you build. This is where you get control: broader domain coverage, the ability to re-segment historical data the native channel skips, and a channel that behaves exactly how you define it. The cost is one of your 2 custom channel groups on a standard property (GA4 360 gets 5; the predefined group doesn’t count against the limit), and each group allows up to 50 channels. Most practitioners run both — the native channel for a zero-maintenance baseline, a custom group for the fuller picture.

The one thing neither layer can do: separate Google’s AI OverviewsAI Overviews are the AI-generated summary box Google shows above or within its regular search results, written by Gemini models from pages retrieved out of Google's normal Search index. It's a Search feature, not a separate platform or index. / AI Mode clicks from regular blue-link Organic Search. Google’s channel definitions fold AI-feature clicks into Organic Search, and the referrer is indistinguishable from a normal Google click — so no regex and no custom channel can pull them out. That’s a boundary condition to state and move past; the why behind it is a whole topic of its ownAI traffic attribution is the practice of correctly identifying and measuring website visits that come from AI tools — ChatGPT, Perplexity, Gemini, Claude, AI Overviews, and AI browsers. It's hard because many of those tools strip the referrer header, so the visits land in your analytics as Direct traffic with no source..

The dark-traffic floor, stated once

Before configuring anything, set the expectation: a large share of AI-driven visits — studies put it at 35% to 70% (Loamly’s 446,405-visit sample puts the high end at 70.6%) — arrive with no referrer at all and land in Direct by construction. That’s not a detection failure GA4 could fix; Direct is defined as the “no signal at all” bucket, so referrer-stripped AI visits fall there the same way a typed-in URL does. Nothing you build in this article recovers those. The dark-traffic mechanism (referrer policies, noreferrer, in-app browsers, copy-paste) is covered in depth by the attribution deep dive — I’m stating the headline once and moving straight to what you can instrument.

Session-scoped vs. first-user dimensions — pick the right field before you build

GA4 exposes AI-source data at two different scopes, and mixing them up quietly changes what a report is actually telling you.

  • Session source / medium (session-scoped) — records the source and medium for that specific visit. This is the field every configuration step in this article uses: the custom channel’s Source-matches-regex condition, the Exploration in Step 4, and the landing-page report in Step 5. It answers “did this visit come from an AI tool,” which is the question this article’s setup is built to answer.
  • First user source / medium (user-scoped) — records the source and medium of a user’s very first visit, and never changes after that no matter how many times they return through a different channel. GA4’s User acquisition report is built on this scope; Traffic acquisition is built on the session scope.

Why it matters here: pull your AI channel into a User acquisition report instead of Traffic acquisition and you’re asking a different question — “how many of our users were first acquired via AI” — not “how many visits this period came from AI.” A returning user who first arrived via organic search and later clicks back in from ChatGPT shows up as AI traffic in the session-scoped view and as Organic Search in the user-scoped one. Neither number is wrong; they answer different questions, and citing one while meaning the other misleads whoever reads the report.

Every report this article builds — the Exploration in Step 4, the landing-page report in Step 5, the conversion comparison in Step 6 — is deliberately session-scoped, because “which visits did AI send, and to which pages” is a session-level question. If you also want the user-scoped answer (“how many of our users’ first-ever touch was AI”), build a second, clearly-labeled Exploration using First user source / medium instead, and don’t merge the two into one table. Google’s traffic-source dimensions documentation covers the full scope distinction across every acquisition dimension, not just source/medium.

Step 1 — check whether the native channel is already live

Reports > Acquisition > Traffic acquisition, switch the primary dimension to Session default channel group, and look for an AI Assistant row. If it’s there, the native classification is running on your property. Wide availability rolled out through early June 2026 (the exact “wide availability” date is secondary-sourced — Google dated the classification logic to May 13 but didn’t separately date the availability milestone), so if you don’t see the row yet, it may still be arriving.

Step 2 — build a custom channel group

Admin > Data display > Channel groups > Create new channel group. (GA4 shuffles its Admin layout periodically — if that path has moved, search Admin for “Channel groups.” Verify live before you rely on any screenshot, including mine.)

  1. Name the group something like “AI + Default” so you know at a glance what it is.
  2. Add new channel, name it AI.
  3. Set the condition: Sourcematches regex → paste an anchored, domain-scoped pattern (see the Scripts tab — do not use the overly broad “any string containing ai” patterns floating around secondary summaries; they false-positive on domains like mail.com and wikipedia.org).
  4. Drag the AI channel above Referral. This is the load-bearing step (next section).
  5. Save.

Supported match fields, if you want to get fancy: Campaign ID, Campaign name, Default channel group, Manual ad content, Medium, Source, and Source platform. For a belt-and-suspenders setup, add a second condition matching utm_source containing chatgpt to also catch ChatGPT Search’s self-appended tag (more on that below).

Step 3 — get the channel order right (the silent failure mode)

This is the single most important sentence in the whole setup, straight from Google’s docs: “Traffic is included in the first channel whose definition it matches given the current order of channels in the group.” Read that again with AI traffic in mind. A session from chatgpt.com legitimately matches Referral (it’s a referring domain). So if Referral sits above your AI channel in the ordering, every single AI session gets claimed by Referral first and never reaches your AI channel.

There’s no error. No warning. No red flag in the UI. The report just quietly reads zero (or near-zero) AI traffic while your AI channel silently does nothing — and you’ll spend an afternoon debugging a regex that was fine all along. Drag AI above Referral, save, and confirm by checking that the AI row now has sessions in a Traffic acquisition report scoped to your custom group.

Step 4 — the part most guides skip: build an Exploration

A channel is a label. It tells you how much AI traffic you got. It does not tell you which pages got it or whether any of it converted — and that’s the part stakeholders actually care about. That lives in an Exploration.

Explore > Blank (Free Form). Then:

  • Dimensions: add Session source / medium, Landing page + query stringThe `?key=value` data tacked onto the end of a URL after a question mark — used for tracking, sessions, filtering, sorting, and search — and one of the biggest sources of duplicate URLs and wasted crawling in SEO., and optionally Session default channel group (or your custom group). Drag Landing page into Rows and Session source/medium into a secondary row or a column.
  • Metrics: add Sessions, Engagement rate, and — the one that matters — your Key events (conversions). Revenue too, if you have ecommerce or a value on your key events.
  • Filter or segment to AI sources. You can add a filter (Session source/medium matches regex your AI domains), but the better move is to build a reusable segment (next section) so this view drops into any report, not just this one.

Now you have a table that answers real questions: which landing pages AI tools send traffic to, how engaged that traffic is, and what it converts.

Build the AI segment once, reuse it everywhere

In the Exploration’s Segments panel, + > Build a new segment > Session segment. Condition: Session source / medium matches regex with your AI pattern (and, if you want ChatGPT Search’s tagged traffic, an OR condition on utm_source containing chatgpt). Name it AI Sources. Now you can:

  • Drop it into any Exploration alongside Organic Search, Paid, and Referral segments for side-by-side comparison.
  • Compare AI’s engagement and conversion rate against your other channels in the same table — which is far more persuasive than quoting a conversion stat from someone else’s blog post.

A segment is more flexible than a channel because it isn’t bound to one report or one channel-group slot. Build both — the channel for at-a-glance reporting, the segment for analysis.

Step 5 — the landing-page-by-AI-source report (the most actionable one)

If you build one report from this article, build this. Landing page in Rows, your AI Sources segment applied, Sessions and Key events as metrics. What you get is a ranked list of the pages AI tools are actually driving people to — which is a usable proxy for which of your content is winning citations and retrieval in AI answers.

What to do with the output: double down on the page types that concentrate AI traffic. When Ahrefs ran this analysis on our own data, we foundA 302 (\"Found\") is a temporary redirect: it forwards users to a new URL while telling search engines the original URL should stay in the index. It's a weak canonicalization signal, not the zero-equity dead end of SEO folklore. that 80% of our AI search traffic went to our homepage, product pages, and free tools — not our blog posts. That’s exactly the kind of insight this report surfaces: it tells you where to invest (more free tools, stronger product pages) rather than guessing. Your concentration will differ, but the report type is the same.

TIP Cross-check the referred slice outside GA4

Use server logs to find requests carrying a known AI-assistant referrer and keep them separate from AI-crawler traffic with my free Log File Analyzer Free

  1. Analyze the same date range used in the GA4 AI Sources segment.
  2. Separate assistant-referrer requests from crawler user-agents; a crawler request is not a human referral.
  3. Use mismatches as an investigation cue, not as a way to recover referrer-less visits that neither system can attribute.

Step 6 — conversion and revenue reporting for AI traffic

Session count is the vanity number; conversions are the one that gets budget. Apply your AI Sources segment to your standard key-event / conversion reports, or build the comparison directly in an Exploration with Sessions, Key events, and (if you have it) Revenue as metrics, segmented AI vs. Organic vs. Paid. The story that tends to land with stakeholders is conversion rate, not volume — AI traffic is frequently a small share of sessions that punches well above its weight on conversions, so a table that shows “AI is 1% of sessions but converts at Nx organic” reframes the whole conversation. (The specific conversion-premium figures — the 23x and Loamly’s 10.21% vs 2.46% numbers — are owned by the attribution siblingAI traffic attribution is the practice of correctly identifying and measuring website visits that come from AI tools — ChatGPT, Perplexity, Gemini, Claude, AI Overviews, and AI browsers. It's hard because many of those tools strip the referrer header, so the visits land in your analytics as Direct traffic with no source.; pull your own numbers from this report rather than quoting theirs.)

Step 7 — UTM tagging: platform-specific, not “AI strips everything”

The blanket claim you’ll read everywhere — “AI platforms strip all UTMs, so tagging is pointless” — is wrong in both directions. The reality in 2026:

  • ChatGPT increasingly appends its own utm_source=chatgpt.com on some outbound links, notably from ChatGPT Search. This is the rare case of an AI platform making attribution easier — worth catching with a utm_source condition in your channel or segment. (Search Engine Roundtable reported OpenAI expanding this behavior; the page 403’d during research, but multiple secondary sources corroborate the direction.)
  • Perplexity, Gemini, and Claude generally don’t add or preserve UTMs on cited links. No vendor documents its outbound-link behavior, so this is from independent testing, not official docs — treat it as “here’s what testing shows,” which is the honest framing for all of this.
  • None of it helps with links you don’t control. When an AI tool cites you, it cites the canonical URLHow search engines pick one canonical URL among duplicates and consolidate signals onto it. it found — not some tagged URL you’d like it to use. You cannot UTM-tag your way into attribution for citations.

Where UTM tagging does still earn its keep: links you place yourself in your own outbound content (newsletters, syndication, citation-bait you publish elsewhere), where you control the URL and can tag it — provided the destination platform doesn’t scrub it. Marginal, but real. Just don’t expect it to solve the citation-attribution problem, because it structurally can’t.

Step 8 — combining with Search Console for AI-features context

Google’s Gen AI performance reports (June 3, 2026) surface your appearances in “AI Overviews, AI Mode, and generative AI features in Discover” — but impressions only: no clicks, no CTR, no position. So you can’t get “AI Overview clicks” from GSC any more than you can from GA4.

The practical workaround is a manual URL-level join, and it’s worth being blunt that it’s manual:

  1. In Search ConsoleGoogle's free tool for monitoring crawling, indexing, and search performance. > Performance, filter by the AI-features search-appearance type and export the pages that appear (impressions).
  2. In GA4, open your landing-page report (Step 5) and pull sessions/key events for those same URLs.
  3. Join the two exports on landing-page URL — not on channel, because GA4 can’t isolate AI-feature clicks, so a channel join is impossible.

The output tells you which URLs are showing up in AI features (GSC impressions) and what those same URLs do in GA4 (sessions, conversions). If you’ve linked GA4 and GSC via Admin > Product links > Search Console links, some of this surfaces in GA4’s Search Console reports — but the AI-feature slice still requires the manual join because neither product tags sessions as “came from an AI Overview.” Set expectations accordingly: this is a workflow, not a button.

Cross-reference Bing Webmaster ToolsMicrosoft's free portal for monitoring and improving how a site appears in Bing search — the peer to Google Search Console, plus IndexNow instant indexing, richer backlink data, and keyword volumes. Because Bing's index also feeds Microsoft Copilot, it doubles as a window into AI-search visibility.’ AI Performance reportThe Google Search Console report that shows how your site actually performed in Google Search, built from real impressions and clicks. It reports four metrics — clicks, impressions, average CTR, and average position — and keeps the most recent 16 months of data. (public preview, Feb 2026) the same way — it exposes citations and the groundingGrounding is anchoring an AI model's answer to source documents it retrieves at the moment you ask — not to the patterns frozen into its weights during training. Retrieval-Augmented Generation (RAG) is the most common way to do it. queries Copilot searched to find you. Copilot’s referrer behavior is inconsistent (Copilot web passes one intermittently; the Windows app never does), so a GA4 regex under-counts Copilot no matter what — the Bing citation count is your cross-check.

Where this still falls short

Several honest limits, then hand off:

  1. The 35–70% dark floor is untouched by everything above. You’re instrumenting the referred slice well; the referrer-less slice stays in Direct.
  2. AI Overviews / AI Mode can’t be isolated — permanently merged into Organic Search by Google’s own channel definitions.
  3. Longer-range reports run into retention, not just referrers. GA4’s event-level data retention (Admin > Data settings > Data retention) defaults to 2 months and tops out at 14 — an Exploration built on event-scoped data can’t look back further than that window, independent of anything AI-related. Your property’s start date is a second hard boundary: there’s no AI traffic to report before the property existed or before you started collecting. And in contexts where consent signals fall below GA4’s reporting thresholds, low-count rows — a thin AI-traffic segment is a prime candidate — get modeled or suppressed rather than shown as zero. Don’t read a missing row as “no AI traffic”; read it as “below the reporting threshold, or outside the retention window.”
  4. Channel-group edits can change how a report reads, including for past dates. Renaming, reordering, or adding a rule to your custom channel group can change how already-collected sessions get classified the next time you pull a report, since custom groups are evaluated against current rules at query time. A mid-quarter regex edit can quietly shift a month-over-month AI comparison — note the date whenever you edit the group, the same discipline the regex change log below already asks for.
  5. A conversion comparison from Step 6 is session-scoped counting, not multi-touch attribution credit. The Exploration technique in this article counts Sessions and Key events directly. GA4’s separate Attribution reports apply a chosen attribution model (data-driven by default) that can assign AI a different share of credit in journeys with more than one touchpoint. If you need AI’s multi-touch credit rather than its session-level volume, pull that number from Attribution, not from the Exploration technique in Steps 4–6.

For the full “why it’s dark and what to do about the Direct baseline,” see the AI traffic attributionAI traffic attribution is the practice of correctly identifying and measuring website visits that come from AI tools — ChatGPT, Perplexity, Gemini, Claude, AI Overviews, and AI browsers. It's hard because many of those tools strip the referrer header, so the visits land in your analytics as Direct traffic with no source. deep dive; for where GA4 sits inside the broader five-layer measurement approach, see the measurement and reporting hubAI search measurement and reporting is the practice of tracking and communicating how AI search features — AI Overviews, AI Mode, ChatGPT, Perplexity, Gemini, Copilot — affect a brand's visibility, traffic, and revenue. It exists because most AI-referred traffic and exposure is invisible in standard analytics.. This article is the config; those own the strategy.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.