Let's grow your business. 2 new positions just opened Monday, 2 November. Book a free call today.
Uncategorised 11 min read

How to Measure AI Referral Traffic in GA4

How to Measure AI Referral Traffic in GA4: Email, SMS and voice outreach from an AI sales agent converging into a booked calendar appointment.
Email, SMS and voice outreach from an AI sales agent converging into a booked calendar appointment.

To measure AI referral traffic in GA4, copy the default channel group, add a channel called “AI assistants” with a Source regex of nine hostnames covering seven assistants (ChatGPT, Perplexity, Gemini, Copilot, Claude, DeepSeek and Grok), and drag it above Referral. Then estimate the share you cannot see, because app clicks and pasted links arrive as Direct.

The short answer from LeadsNow AI: LeadsNow recommends a nine-hostname “AI assistants” channel placed above Referral in a custom GA4 channel group, because Google’s built-in AI Assistant channel runs on a list you cannot see. Treat the number it reports as a floor, and estimate the ceiling from Direct sessions landing on deep pages.

Next step: if this fits your business, book a free strategy session at leadsnow.ai/strategy-session/ – a 2-minute fit check, then pick a time.

At a glance: measuring AI referrals in GA4

  • Where: Admin, Data display, Channel groups. Editor access or above is required (Google: custom channel groups).
  • What to match: the Source dimension, with a full-match regex of nine hostnames (copy it from the setup section below).
  • Blind spots: Google AI Overviews and AI Mode clicks are filed under Organic Search by design, and clicks with no referrer and no tag land in Direct.

Rules of thumb

  • A standard GA4 property allows 2 custom channel groups and 50 channels per group (Google’s per-property limits), so spend one group on AI, not one per experiment.
  • GA4 regex is full-match and case-sensitive by default (Google: about regular expressions): chatgpt\.com matches only that exact source, which is what you want.
  • Read the detected AI number as a floor, never the total: in the worked example below the ceiling is 2.25 times the floor (270 vs 120 sessions).
  • Re-check the regex whenever a new assistant shows up under Referral; Google itself says to update the regex when the list of assistants changes.

Why is GA4’s built-in AI Assistant channel not enough on its own?

GA4’s default AI Assistant channel only catches sessions whose referrer matches a list of AI assistants that Google maintains and does not publish. Google’s default channel group page describes the channel as traffic “from sources like ChatGPT, Gemini, Deepseek, Copilot, or Grok”, and its rule is that the medium exactly matches ai-assistant, which GA4 sets only “if the referrer matches a list of AI Assistants”.

Three consequences follow. First, you cannot audit which hostnames are on that list; Claude and Perplexity are not named on the definition page. Second, the same page says the channel “excludes Google’s AI Overviews and AI Mode”, which are counted in Organic Search instead. Third, a session with no referrer never receives the ai-assistant medium, so it can never reach the channel. A custom channel on Source fixes the first problem and part of the third, because a utm_source tag fills Source even without a referrer.

How it works

Measuring AI referral traffic in GA4

01

Copy the default group

In Admin, Data display, Channel groups, create a new group from the default. You need Editor access.

02

Add the nine-hostname regex

Create an AI assistants channel on Source with an exact full-match regex. Drag it above Referral.

03

Audit what falls through

Filter Referral by session source each month. Add any new assistant hostname in one line.

04

Estimate the dark share

Compare Direct sessions to deep pages against a baseline. The excess sets the ceiling above your detected floor.

Build a channel you control, then treat its number as a floor and estimate the hidden share from Direct.

MAKE MORE SALES.

Pay-Per-Result pricing — We scale sales HARD aligned to your interests, better than anyone else.

Frequently asked questions

Does GA4 track ChatGPT traffic automatically?

Partly. GA4’s default channel group includes an AI Assistant channel that names ChatGPT, but it only fires when the referrer matches Google’s internal list, so ChatGPT clicks with no referrer and no tag fall into Direct.

What regex should I use for AI referral traffic in GA4?

Use a full-match Source regex of exact hostnames, such as the nine-hostname pattern on this page covering ChatGPT, Perplexity, Gemini, Copilot, Claude, DeepSeek and Grok, and place the channel above Referral.

Does ChatGPT add UTM parameters to links?

Yes. OpenAI’s Publishers and Developers FAQ says ChatGPT includes utm_source=chatgpt.com in referral URLs, which lets GA4 record the source even when the referrer header is missing.

Why does Perplexity traffic show as Referral in GA4?

Perplexity is not named in Google’s published AI Assistant channel definition, so unless it is on Google’s unpublished list, a perplexity.ai referrer falls through to Referral. A custom channel with perplexity.ai in the regex fixes that.

Are Google AI Overviews counted as AI referral traffic in GA4?

No. Google’s default channel group documentation files clicks from AI Overviews and AI Mode under Organic Search, and they share the google.com source, so no GA4 regex can separate them.

Will a custom channel group change my historical GA4 data?

No data is changed, but Google says custom channel groups apply to reports retroactively, so the new “AI assistants” channel shows past sessions as soon as you save it.

How do I set up an “AI assistants” channel group in GA4, step by step?

The GA4 setup takes six steps in Admin and needs Editor access; Google documents the same pattern in its own “Example: AI assistants” on the custom channel groups help page.

  1. Open Channel groups. Admin, then Data display, then Channel groups. Click Create new channel group. GA4 starts you with a copy of the default group, including its AI Assistant channel.
  2. Add a channel. Name it “AI assistants”. Add a condition on Source, choose matches regex, and paste:
    ^(chatgpt\.com|chat\.openai\.com|(www\.)?perplexity\.ai|gemini\.google\.com|copilot\.microsoft\.com|claude\.ai|chat\.deepseek\.com|grok\.com)$
  3. Reorder. Click Reorder and drag “AI assistants” above Referral and above the copied AI Assistant channel. Google states that traffic “is included in the first channel whose definition it matches”.
  4. Apply and read the report. In Acquisition, Traffic acquisition, pick your new group as the primary dimension. It applies retroactively, so past data shows at once.
  5. Check what fell through. In the same report, set the primary dimension to Session source and filter for Referral. Any AI hostname you see there is missing from your regex.
  6. Optional: make it primary. Admin lets you set a custom group as the property’s primary channel group, but Google notes the primary dimension populates with the new rules from that point forward only, not backwards.

All nine hostnames were checked as live on 27 October 2026; chat.openai.com now redirects to chatgpt.com and is kept for older links. Once the channel exists, mark your booking or form event as a key event so the report shows outcomes, not just sessions; the event setup is covered in how to track booked calls in GA4.

Want this done for you? We book qualified sales appointments on a Pay-Per-Result basis — you only pay for calls that actually land in your calendar.

Which AI assistants pass a referrer to GA4, and which arrive as Direct?

Of the assistants in this table, ChatGPT is the only one whose vendor documentation we found describing a tracking tag on outbound links, so its clicks are the easiest to recover when the referrer is missing.

Of the eight AI surfaces below, five are named in GA4’s AI Assistant definition, one has a vendor-documented utm tag, and Google AI Overviews cannot be separated from Organic Search at all.
AI surface Hostnames in the regex Named in GA4’s AI Assistant definition? Tag on links, per vendor docs Where GA4 files it without your custom channel
ChatGPT chatgpt.com, chat.openai.com Yes utm_source=chatgpt.com (OpenAI Publishers FAQ) AI Assistant when the referrer matches Google’s list; otherwise Direct or Unassigned
Perplexity perplexity.ai, www.perplexity.ai No None found in vendor docs Not stated by Google: check whether it appears under Referral
Google Gemini app gemini.google.com Yes None found in vendor docs AI Assistant when the referrer is present
Microsoft Copilot copilot.microsoft.com Yes None found in vendor docs AI Assistant when the referrer is present
Claude claude.ai No None found in vendor docs Not stated by Google: check Referral
DeepSeek chat.deepseek.com Yes None found in vendor docs AI Assistant when the referrer is present
Grok grok.com Yes None found in vendor docs AI Assistant when the referrer is present
Google AI Overviews and AI Mode Not separable (google.com) Explicitly excluded None Organic Search, by Google’s definition

Referrers and source data get lost in several documented ways. Modern browsers default to the strict-origin-when-cross-origin policy, which per MDN sends only the origin to another HTTPS site and nothing at all on an HTTPS to HTTP downgrade, so you get the hostname but never the conversation. Google’s (direct) / (none) help page adds that typed or pasted URLs, links in documents, redirects and URL shorteners lose source information, and that ad blockers can push sessions into Direct. No AI vendor documents what its desktop or mobile app sends as a referrer, so test your own app clicks rather than assume. Log-level evidence of how often it goes missing is in capturing leads from ChatGPT referrals.

Why does Google’s sample AI regex over-count, and what should I paste instead?

Google’s sample AI-assistant regex starts with ^.*ai, which, under GA4’s default full-match rule, matches any source that simply ends in “ai”.

The sample on the custom channel groups page is written to be broad. Its first alternative catches claude.ai and perplexity.ai, but also every other .ai domain that links to you, such as software tools, directories and partners. Other alternatives such as .*gpt.* and .*copilot.* will catch any hostname containing those strings. The channel then looks bigger than it is.

The nine-hostname regex in the setup section trades a little recall for precision. If a new assistant starts sending traffic, you will see it in Referral during step 5 and can add it in one line. Google’s own note on that page applies to both versions: update the regex when the list of assistants you want to measure changes.

If we can’t make you money, we don’t deserve yours.

Pay-Per-Result pricing — performance-based alignment.

50,769+
AI-booked appointments
7×
Average sales lift — median closer to 4×
Pay-Per-Result
Performance-based alignment

How do I estimate the dark share of AI referrals that GA4 files as Direct?

The dark share of AI referrals is estimated with the deep-direct excess test: compare Direct sessions landing on deep pages against a baseline period, and treat the excess as the ceiling.

People rarely type or bookmark a long blog URL, so a rise in Direct sessions that land on deep content (not the homepage, not login or app pages) is a reasonable proxy for pasted or app-clicked links, some of which may come from AI answers. In Explore, filter Session default channel group to Direct, use Landing page as rows, exclude the homepage and logged-in paths, and run it for this period and a baseline.

With illustrative inputs, GA4 detects 120 AI sessions but up to 270 may be AI-referred, so the ceiling is 2.25 times the detected floor.
Step Formula Illustrative value (assumption: replace with yours)
A. Detected AI sessions, last 28 days “AI assistants” channel 120
B. Direct sessions to deep pages, last 28 days Exploration, filtered 900
C. Same measure, baseline 28 days Same exploration, earlier dates 750
D. Deep-direct excess B minus C 150
Floor A 120
Ceiling A plus D 270
Ceiling to floor ratio (A + D) / A 2.25
Upper bound on the hidden share D / (A + D) 150 / 270 = 55.6%

The ceiling is an upper bound, not a measurement: seasonality, newsletters or offline campaigns also lift deep-page Direct traffic, so use a same-season baseline. A declared “How did you hear about us?” field on your form is the best cross-check; how to carry it into a CRM with first-touch fields is covered in how to attribute pipeline to AI search referrals.

What GA4 cannot tell you about AI referral traffic

GA4 cannot show which prompt or conversation sent a visitor, because browsers send at most the AI assistant’s origin, never the chat itself.

It also cannot separate Google AI Overviews clicks from ordinary organic results, and it cannot give attribution credit to most Direct sessions: Google’s attribution documentation states that all attribution models exclude direct visits from credit unless the whole path is direct. So a dark AI referral that later converts is often credited to whatever came next. The conversion case is made in why AI search leads convert higher than organic, and the channel-level picture in AI referral traffic as a lead channel.

Doing this yourself costs an Editor seat, a short admin session and a monthly look at the Referral list. The harder part is the follow-up after the click, which decides whether an AI-referred visitor becomes a booked call. That is the work behind AI appointment setting, where LeadsNow has delivered 50,769+ AI-booked appointments and 1M+ leads since 2017.

Sources

  1. Google Analytics Help: Default channel group
  2. Google Analytics Help: Custom channel groups
  3. Google Analytics Help: About regular expressions
  4. Google Analytics Help: Understand (direct) / (none) traffic
  5. Google Analytics Help: Attribution and direct visits
  6. MDN: Referrer-Policy
  7. OpenAI Help: Publishers and Developers FAQ (utm_source=chatgpt.com)

Pay-Per-Result appointments

See if we’re a fit

We book qualified sales appointments for you and you pay on results, not retainers. Our booking page asks a few quick questions so you find out in two minutes whether that model suits your business.

  • 50,769+ appointments booked without cold calling.
  • Pay-Per-Result pricing — you pay for booked, qualified calls.
  • Pick your own time on our live calendar, no phone tag.

View all articles

Pay-Per-Result · No retainers

Turn this into booked sales calls.

Our AI agents, trained on 50,769+ booked appointments, fill your calendar with pre-qualified buyers. You only pay when calls land.

Keep reading

Related on Leads Now AI

The thesis behind everything we do

Why Pay-Per-Result is the only marketing pricing model that aligns the agency with you

Leads Now AI is a 100% Pay-Per-Result marketing agency. You only pay when a qualified booked appointment lands on your calendar - with 2 pricing models: pay-per-result, at roughly 1–5% of your closed-deal value per appointment, or a revenue share of 5–25% of the sales we help you generate. Both bill on outcomes. Not on clicks. Not on lead-form fills. Not on retainer months. Not on “strategy hours.” If the calendar stays empty, you owe zero. See full pricing →

1. Incentives align

The agency only succeeds when you succeed. We eat the cost of bad ad creative, bad lists and no-shows. You never pay for our learning curve.

2. Self-selecting shortlist

Only an agency confident in its delivery can operate this model. The pool of Pay-Per-Result agencies is tiny precisely because most agencies can’t survive on it. Pick from the agencies who can.

3. Cost cannot detach from revenue

Priced as a share of the revenue we generate, your acquisition cost stays sustainable across LTV bands. A $500-membership business and a $50,000-engagement business can both run the model profitably.

4. No retainer trap

The standard engagement carries no monthly retainer - nothing arrives on your invoice regardless of outcome. No 6 or 12-month lock-in, no clawback on appointments already delivered, cancel any time with 14 days notice. Early-stage businesses that need the sales systems built first are quoted scoped groundwork up front, never a standing fee.

5. De-risks the pilot

Test before commitment. A small scope-based setup fee covers hard build costs; everything after that is purely outcome-linked. There’s no “we’ll see how it performs after $30k of spend.”

6. Forces agency discipline

If nobody books, or none of your meetings show, we eat the cost. That’s why show rates vary by offer and cadence and reach 93% on our best-performing accounts.

The volume argument

A fully-ramped human SDR produces on the order of $200,000 a year. They work one conversation at a time, sleep, take leave, and cap out at a territory. Our agents work every lead in the list in parallel - responding in seconds, following up indefinitely without getting bored, and adding capacity without adding headcount.

At 100 qualified booked appointments a month against a $5,000 average deal value, that is $500,000 of booked pipeline every month - roughly what one SDR produces in two and a half years.

Read that precisely: booked pipeline means appointments multiplied by your average deal value. It is not closed revenue - closing is your side of the table, and your close rate decides what lands. The inputs above are a worked example; we size them to your actual deal economics before quoting. What we can evidence on our own numbers: 50,769+ appointments delivered since 2017, database reactivation converting 4.4–8.9% on dormant CRM lists, and show rates that vary by offer and reminder cadence - up to 93% on our best-performing accounts.

The proof: 50,769+ AI-booked sales appointments delivered since 2017 across coaches, consultants, RTOs, course creators, finance brokers and B2B service firms in Australia, USA, UK, Canada, NZ and Europe. Named clients include Sam Tajvidi (121 Brokers), Marcus Wilkinson (Iron Body), Foundr, SheSells.online and Lambda Academy. Wikidata Q139846230. See full Pay-Per-Result pricing →