vrid.ai Logo

Track AI Traffic in GA4: ChatGPT & Perplexity Guide

Track AI traffic in GA4: set up the AI Assistant channel, custom regex, and UTM tags to see ChatGPT and Perplexity referrals.

21 min read

Track AI Traffic in GA4: ChatGPT & Perplexity Guide

TL;DR: GA4 added a native AI Assistant channel on May 13, 2026 that auto-classifies referrals from ChatGPT, Gemini, Claude, and other recognized bots, but it excludes Perplexity and misses every session with no referrer header. Set up all three layers, the native channel, a custom regex channel group as backup, and UTM tags on your own AI-facing links, then confirm what you’re seeing with a GA4 exploration report.


Table of contents

  1. Why ChatGPT and Perplexity traffic looks wrong in GA4
  2. GA4’s native AI Assistant channel: what it catches
  3. What the native channel misses
  4. Confirm the native channel is live on your property
  5. Build a custom channel group as a backup
  6. Build the GA4 exploration report to verify your setup
  7. Track Perplexity specifically
  8. UTM-tag your own AI-facing content links
  9. Comparison: native channel vs custom channel group vs UTM tags
  10. Decision tree: which method fits your traffic
  11. Common mistakes that break AI traffic tracking
  12. What GA4 still can’t tell you
  13. Frequently asked questions
  14. Key takeaways

Why ChatGPT and Perplexity traffic looks wrong in GA4

Open your GA4 acquisition report and search “chatgpt” in the source field. For most sites, the number you find is smaller than the number of clicks your links are actually getting from AI chat interfaces. That’s not a tracking bug you introduced. It’s how referrer headers work on mobile apps and privacy-hardened browsers.

According to Search Engine Journal, a large share of ChatGPT visits arrive at destination sites with no referrer at all and land in GA4’s Direct channel, indistinguishable from a bookmark click or a typed URL. The ChatGPT mobile app, Meta AI’s in-app browser, and any client running inside an app webview typically strip the referrer before the click reaches your server. Desktop web sessions with a real referrer fare better, but even there, Similarweb’s chatgpt.com traffic profile reports that 76.14% of desktop visits to chatgpt.com itself are classified as direct, which tells you how thin referrer data is across the AI ecosystem generally, not just for the outbound clicks it sends you.

Perplexity behaves differently. It usually does pass a referrer, but GA4 doesn’t automatically know to treat perplexity.ai as an AI source, so the traffic lands as a plain “Referral” next to any random blog that linked to you. You can’t separate the two without configuration.

This matters because AI referral volume is growing while its share keeps shifting between engines. Similarweb’s 2026 AI search stats report tracked ChatGPT’s share of generative AI website visits falling from roughly 76% in June 2025 to about 53% by May 2026, with the rest split across Gemini, Claude, Perplexity, and newer entrants. If your dashboard only counts one engine, or counts none of them correctly, you’re reporting a shrinking slice of a channel that’s actually still growing in total volume.

The fix isn’t one setting. It’s three layers stacked on top of each other: GA4’s new automatic classification, a manual backup for what the automatic layer misses, and tagged links for the traffic you can control directly. If your traffic drop coincided with an AI Overviews rollout rather than a chatbot referral gap, the AI Overviews recovery plan is a better starting point than anything below.

GA4’s native AI Assistant channel: what it catches

On May 13, 2026, Google added a native AI Assistant channel to GA4’s Default Channel Group, confirmed in its Analytics Help Center change log and reported by Search Engine Journal. No setup is required. When GA4 detects a referrer matching a recognized AI assistant domain, it assigns the medium value ai-assistant, groups the session under the AI Assistant channel, and stamps the campaign dimension with the reserved label (ai-assistant).

Techwyse reported the rollout reached full property coverage by June 7, 2026, and that the recognized-domain list covers more than 20 AI assistants including ChatGPT, Gemini, and Claude. That’s a meaningful upgrade from the manual regex workarounds every analyst was building through 2025. You get a real row in your standard acquisition report, comparable to Organic Search or Paid Social, without touching the admin panel.

Two details change how you should read that row. First, the classification is not retroactive. Clickport notes that GA4 processes and classifies data as it arrives, so sessions collected before your property picked up the update stay under their original channel forever. Don’t compare a “before AI Assistant channel” period against an “after” period and call the difference growth. It’s partly reclassification.

Second, the channel only counts a click that already happened. It has no visibility into whether your brand was named inside an AI answer without a link, which matters if you’re also tracking unlinked citations as part of a share of answer program. That distinction, whether SEO performance and AI visibility performance actually move together, is worth resolving on its own; see is good SEO also good GEO for what carries over and what doesn’t.

What the native channel misses

The AI Assistant channel is a floor, not a ceiling. Two gaps matter for reporting accuracy.

Perplexity is not in the recognized set that triggers the channel. GA Agency’s analysis found that Perplexity sessions still classify as generic Referral, sitting in the same bucket as any inbound link from an unrelated blog. If Perplexity sends you meaningful traffic, and it’s grown fast enough that several tools track it as a distinct engine in their own comparisons of Perplexity, ChatGPT, and Gemini citation behavior, the native channel alone will undercount your real AI traffic.

The no-referrer problem doesn’t go away either. Native app browsers, privacy-focused mobile configurations, and some enterprise ChatGPT deployments strip the referrer before your server ever sees it. Those sessions were never eligible for AI Assistant classification because GA4 has nothing to match against. They land in Direct regardless of which layer of tracking you build on top.

Treat the AI Assistant channel as your baseline signal, not your full picture. It tells you AI traffic exists and is growing. It undercounts by how much depends on your audience’s device mix and app usage, which you can’t know without adding the other two layers below.

Confirm the native channel is live on your property

Before building anything custom, check whether your property already has the automatic classification.

  1. Go to Reports → Acquisition → Traffic acquisition.
  2. Set the primary dimension to Session default channel group.
  3. Look for a row labeled AI Assistant. If it exists with sessions in it, the update is live on your property.
  4. If it doesn’t appear, check Explore → Free-form, add Session medium as a dimension, and filter for ai-assistant. Some properties show the medium in explorations before it surfaces in the standard channel grouping report, depending on data-processing timing.

If you see zero rows for AI Assistant even after checking both places, don’t assume you have no AI traffic. It more likely means either your rollout hasn’t reached full coverage yet, or your AI referrals are arriving with no referrer and landing in Direct, which is exactly the gap the next two sections close.

Build a custom channel group as a backup

A custom channel group catches domains the native list doesn’t recognize yet, including Perplexity, and gives you a channel definition you control instead of one Google can change without notice.

  1. In GA4, go to Admin → Data display → Channel groups.
  2. Click Create custom channel group and name it something explicit, like “AI Referrals (custom)”.
  3. Add a channel rule: Session source matches regex.
  4. Use a pattern that covers the major engines. Swydo’s regex reference recommends starting broad and tightening later:
chatgpt\.com|chat\.openai\.com|perplexity\.ai|claude\.ai|gemini\.google\.com|copilot\.microsoft\.com|edgeservices\.bing\.com
  1. Move the AI Referrals rule above your other custom rules in the rule order, since GA4 applies channel group rules top-down and a broader “Referral” rule elsewhere could otherwise claim the session first.
  2. Save, then wait 24 to 48 hours for the classification to apply to new sessions. It won’t reclassify historical data, the same limitation the native channel has.

Review the regex list quarterly. New AI products and browser integrations ship faster than most teams update their tracking configuration, and a stale pattern quietly loses coverage without throwing any error.

Build the GA4 exploration report to verify your setup

A channel group tells you the summary. An exploration report tells you which pages, which countries, and which sessions are actually converting.

  1. Go to Explore → Free-form.
  2. Add dimensions: Session source, Landing page + query string, Country.
  3. Add metrics: Sessions, Engaged sessions, Conversions (or your key event).
  4. Apply a filter on Session source, matching the same regex you used in your custom channel group, so the exploration and the standard report stay consistent.
  5. Add a second tab that removes the filter and instead segments by Session default channel group equals AI Assistant, so you can compare what the native classification captures against what your regex captures. The overlap should be close to total; if it isn’t, one of your two setups has a gap worth investigating.
  6. Save the exploration and check it weekly for the first month after setup, since new AI referrer domains show up faster than most teams expect.

This is also where you’ll spot whether AI-referred sessions convert differently than organic search. Several teams running this report report engaged-session rates and time-on-page higher for AI referrals than for average organic sessions, on the theory that a user who already got a partial answer from an AI assistant and still clicked through is a more qualified visitor. Treat that as a hypothesis to test on your own data, not a given, since GA4 doesn’t publish this pattern as a standard benchmark.

If this exploration is the first time you’ve built a dedicated view for AI-era acquisition, run it alongside a full AI visibility audit so the traffic numbers connect to the citation-readiness checks that explain them.

Track Perplexity specifically

Because Perplexity sits outside the native AI Assistant channel, give it explicit handling rather than relying on your general AI regex to surface it clearly enough for reporting.

Add perplexity\.ai and pplx\.ai to your custom channel group regex from the section above. Then, in your exploration report, add a secondary dimension for Session source / medium rather than just source, since Perplexity referral traffic sometimes arrives tagged with a medium of referral that a source-only filter can miss if the domain format varies by client.

If Perplexity is a meaningful part of your AI traffic mix, it’s worth a dedicated look at how citation and click-through behavior differs across engines. The comparison in Perplexity vs ChatGPT vs Gemini citations breaks down source-selection patterns per engine, which helps explain why Perplexity referral sessions often skew toward different landing pages than ChatGPT ones.

Everything above depends on the AI platform passing a referrer. You can’t control that. What you can control is any link you place yourself in content designed to get picked up and cited by AI answers, such as llms.txt files, structured FAQ pages, or content syndicated to platforms AI engines crawl heavily.

Passionfruit’s implementation guide recommends a consistent UTM pattern for links you control in AI-facing surfaces:

https://yoursite.com/page?utm_source=chatgpt&utm_medium=ai-citation&utm_campaign=llms-txt

Set utm_source to the specific engine when you know it (for content published on a platform AI engines cite directly), and use a generic value like ai-surface when you don’t. Register any custom parameters you add beyond the standard UTM set as custom dimensions under Admin → Custom definitions, so they’re queryable in explorations instead of sitting unused in the raw event data.

This layer won’t recover traffic from AI conversations you don’t control. It closes a narrower but real gap: confirming that content specifically built for AI citation, including anything documented in an llms.txt file, is actually generating clicks worth the effort of maintaining it.

If your team is running keyword research and AI-visibility work through Vrid.ai, the workspace tracks which briefs targeted AI-citation intent, so pairing that list against your GA4 UTM data tells you which specific pages earned the click, not just which topics theoretically should have.

Comparison: native channel vs custom channel group vs UTM tags

MethodCatches PerplexityCatches no-referrer sessionsSetup effortRetroactive
Native AI Assistant channel✗ (excluded from recognized set)✓ (zero config)
Custom channel group (regex)✓ (if you add the domain)✓ moderate (one-time config, quarterly review)
UTM tagging on your own links✓ (works for any engine you tag)✓ (survives app webviews since it’s in the URL, not the referrer)✗ (per-link discipline required)N/A (only covers tagged links going forward)

No single row wins outright. The native channel is free but incomplete. The custom channel group closes the Perplexity gap but not the no-referrer gap. UTM tagging closes both gaps but only for links you personally control, which is a small fraction of total AI-driven clicks. Run all three.

Decision tree: which method fits your traffic

flowchart TD
    A[Do you need AI traffic visibility in GA4?] --> B{Native AI Assistant channel<br/>showing sessions?}
    B -->|Yes| C{Does your AI mix<br/>include Perplexity?}
    B -->|No or unsure| D[Check Explore for<br/>medium = ai-assistant]
    D --> C
    C -->|Yes| E[Add custom channel group<br/>with Perplexity regex]
    C -->|No| F[Native channel + custom<br/>regex as backup]
    E --> G{Do you publish content<br/>meant to be cited by AI?}
    F --> G
    G -->|Yes| H[Add UTM tags to<br/>AI-facing links + llms.txt]
    G -->|No| I[Native + custom channel<br/>is sufficient]
    H --> J[Verify all three in one<br/>exploration report weekly]
    I --> J

Common mistakes that break AI traffic tracking

Comparing pre- and post-rollout periods as growth. The native channel isn’t retroactive. A jump in the AI Assistant row after June 2026 partly reflects reclassification of traffic that was already there under a different label, not new demand.

Filtering only on Session source, not Session source/medium. Some AI referrers pass inconsistent source formatting (with or without www, with or without a trailing slash) across different client versions. A regex anchored too tightly misses variants.

Putting the AI Referrals rule below “Referral” in the channel group order. GA4 applies custom channel group rules in order and stops at the first match. If a generic Referral rule sits above your AI rule, AI sessions get claimed by the generic bucket first.

Treating GSC as a substitute. Google Search Console shows impressions and clicks from Google’s own AI Overviews inside its standard Search results report, but it has no visibility into ChatGPT, Perplexity, or Claude referrals at all, since those aren’t Google properties. You need GA4 (or server logs) for anything outside Google’s own AI surfaces.

Skipping the exploration report. The standard acquisition report shows totals. It won’t tell you whether AI-referred sessions land on your homepage (low intent to act) or a deep comparison page (high intent), which is the difference between “interesting number” and “this changes what content to prioritize next.”

Assuming every AI referral came from a chatbot conversation. A share of AI-attributed sessions in GA4 trace back to content platforms AI engines cite heavily, including Reddit threads that rank inside AI answers. If a landing page in your exploration report is pulling AI traffic from an unexpected source URL, check whether it’s benefiting from a Reddit citation strategy rather than a direct chatbot click.

What GA4 still can’t tell you

Even with all three layers running, GA4 answers “how many people clicked through from an AI engine,” not “how many people saw my brand named in an AI answer.” Those are different numbers, and the second one is usually larger. A user asking ChatGPT for a comparison of tools might read your product’s name in the answer, form an opinion, and later type your URL directly, a session GA4 will show as Direct with zero connection to the AI conversation that actually drove it.

That’s why AI traffic tracking in GA4 works best as one input into a broader reporting shift, not the whole picture. Pairing it with the SEO KPIs that matter now that clicks are disappearing and a GA4 reporting setup built for AI-era acquisition gives you both the click data GA4 can measure and the citation-and-mention signals it can’t, so a quarter where AI referral sessions look flat doesn’t read as failure when share of answer is climbing behind it.

If you’re still seeing strong Google rankings with almost no AI Assistant channel traffic at all, that’s worth investigating separately. It usually points to a citation problem upstream of anything GA4 can diagnose, which is the exact gap covered in why you rank on Google but stay invisible in ChatGPT and Perplexity.

Frequently asked questions

Does GA4 track ChatGPT traffic automatically now?

Yes, as of May 13, 2026, GA4’s Default Channel Group includes a native AI Assistant channel that classifies recognized referrers, including ChatGPT, without any manual setup. Broad property coverage was reached by June 7, 2026. It still misses sessions with no referrer header and doesn’t include every AI engine, so treat it as a starting point rather than complete coverage.

Why does my ChatGPT traffic show up as Direct in GA4?

Mobile apps, in-app browsers, and privacy-hardened clients frequently strip the referrer header before the click reaches your server. With no referrer to classify, GA4 has nothing to match against an AI source and defaults the session to Direct, the same behavior it applies to bookmarks or typed URLs.

Does GA4 track Perplexity traffic separately?

Not automatically. Perplexity is excluded from the domain list that triggers GA4’s native AI Assistant channel, so its sessions classify as generic Referral traffic unless you add perplexity.ai to a custom channel group regex yourself.

What’s the best regex for tracking AI traffic in GA4?

A starting pattern that covers the major engines is chatgpt\.com|chat\.openai\.com|perplexity\.ai|claude\.ai|gemini\.google\.com|copilot\.microsoft\.com. Apply it as a Session source rule in a custom channel group, positioned above any generic Referral rule, and review it quarterly since new AI domains ship often.

Can I see AI traffic in Google Search Console instead of GA4?

Search Console shows impressions and clicks from Google’s own AI Overviews inside the standard Search results report, but it has no data on ChatGPT, Perplexity, or Claude, since those aren’t Google properties. You need GA4 or server logs for anything outside Google’s AI surfaces; pairing both is covered in the GSC data analysis guide.

Is the GA4 AI Assistant channel retroactive?

No. GA4 classifies sessions as they’re processed, so traffic collected before your property received the AI Assistant channel update keeps its original classification permanently. Comparing pre- and post-rollout periods will overstate AI traffic growth because part of the increase is reclassification, not new volume.

How do I set up a custom channel group for AI traffic in GA4?

Go to Admin, then Data display, then Channel groups, and create a new custom group. Add a rule where Session source matches a regex covering your target AI domains, place that rule above your other custom rules, and save. New sessions classify within 24 to 48 hours; existing data isn’t reclassified.

What percentage of ChatGPT traffic is invisible in GA4?

Independent analyses put a substantial share of ChatGPT-referred sessions, particularly from mobile and app-embedded browsers, into GA4’s Direct channel because no referrer header reaches the destination site. The exact percentage varies by audience device mix and by which report you check, so measure it on your own traffic with an exploration report rather than assuming a fixed figure.

Should I use UTM parameters for AI traffic tracking?

Yes, for any link you control that’s placed specifically for AI citation, such as llms.txt entries or syndicated content. UTM parameters survive app webviews that strip referrer headers because the tracking data travels in the URL itself, not in the HTTP referrer. They only cover links you tag, not organic AI conversation clicks you don’t control.

How do I build a GA4 exploration report for AI traffic?

Use Explore, Free-form, and add Session source, Landing page + query string, and Country as dimensions with Sessions, Engaged sessions, and Conversions as metrics. Filter Session source with your AI regex, then add a second comparison filtered by Session default channel group equals AI Assistant to check whether your custom setup and the native channel agree.

Does GA4’s AI Assistant channel cover Gemini and Claude?

Yes. Google’s rollout documentation lists Gemini and Claude among the more than 20 recognized AI assistant domains that trigger automatic classification into the AI Assistant channel, alongside ChatGPT.

Why did my AI Assistant channel sessions jump after June 2026?

Broad property coverage for the update was reached around June 7, 2026. If your property picked up the feature partway through a reporting period, sessions before that date remained under their prior classification while sessions after it started routing into AI Assistant, producing a jump that reflects rollout timing more than actual traffic growth.

Can I track AI traffic in GA4 without any custom configuration?

Partially. The native AI Assistant channel requires zero setup and catches a meaningful share of recognized-engine referrals automatically. But it misses Perplexity and any session with no referrer, so relying on it alone will undercount your true AI-driven traffic by an amount that depends on your audience’s device and app mix.

What’s the difference between AI Overview traffic and AI Assistant channel traffic in GA4?

AI Overview clicks originate from Google’s own search results page and typically still classify under Organic Search in GA4, since the click technically comes from google.com. AI Assistant channel traffic comes from separate AI products like ChatGPT or Claude, which pass their own domain as the referrer. They require different reports to measure.

How often should I update my AI traffic regex in GA4?

Quarterly is a reasonable baseline. New AI products, browser-integrated assistants, and client updates change referrer domains faster than most teams revisit their analytics configuration, and a stale pattern fails silently since GA4 won’t flag traffic it no longer recognizes.

No. UTM parameters are standard query string additions that don’t affect how search engines crawl or rank a page, provided your canonical tag points to the clean URL. They’re purely an analytics measurement tool and don’t change page content or structure.

Can I combine the native channel and a custom channel group without conflicts?

Yes, and it’s the recommended setup. The native AI Assistant channel operates at the medium level (ai-assistant), while a custom channel group is a separate reporting dimension. Running both lets you compare their coverage in an exploration report and spot gaps in either one.

Why does my exploration report show different AI traffic numbers than my acquisition report?

The acquisition report uses GA4’s channel grouping logic, which stops at the first matching rule in a defined order. An exploration report applies whatever filter you build directly, which can produce a different (usually larger, if your filter is broader) count. Reconciling the two is exactly why the verification step in this guide matters.

Is Bing Copilot traffic classified the same way as ChatGPT?

Bing Copilot referrers, often appearing as edgeservices.bing.com or similar Microsoft domains, are inconsistently recognized across GA4’s native classification and vary by rollout stage. Adding the domain explicitly to your custom channel group regex is the more reliable way to guarantee it’s captured.

What should I do if I see zero AI Assistant channel sessions?

First confirm the update has reached your property by checking Explore with Session medium filtered to ai-assistant. If it’s genuinely at zero, check whether your AI referral traffic is arriving without a referrer header and landing in Direct instead, which a custom channel group can’t fix but which UTM tagging on your own AI-facing links can partially address.

Key takeaways

  • GA4’s native AI Assistant channel launched May 13, 2026 and requires no setup, but it excludes Perplexity and any session with no referrer header.
  • Build a custom channel group as backup, with a regex covering ChatGPT, Perplexity, Claude, Gemini, and Copilot, positioned above generic Referral rules.
  • UTM-tag links you control in AI-facing content, since tagged URLs survive app webviews that strip referrer data entirely.
  • Verify all three layers with a GA4 exploration report comparing Session source filters against the native channel, checked weekly for the first month.
  • None of this measures unlinked brand mentions inside AI answers. Pair GA4 data with citation tracking to see the fuller picture of your AI visibility.

Set up the native channel first since it costs nothing, add the custom regex group the same week, and put UTM tagging on your next batch of AI-facing content before you publish it, not after.

Related Posts