Key takeaways
- GA4 added a native "AI Assistant" channel on May 13, 2026, but Google has not published the full list of assistants it recognises, and Perplexity is not named in the documentation. Check your own data.
- A custom channel group with a source regex gives you one row per assistant. Put it above Referral in the channel order or it will never match.
- GA4 counts visits, not citations. A citation that produces no click leaves no trace, so pair GA4 with citation tracking and crawler logs.
- Treat GA4 AI numbers as a floor. Pasted links, app handoffs and cookie refusals all push AI visits into Direct.
- Review your regex every quarter. Assistants rename and add domains constantly.
What GA4 can and cannot tell you about AI citations
The title of this guide is slightly misleading, and it is worth saying so up front. GA4 cannot show you citations. It shows you visits. When ChatGPT or Perplexity cites your page and a person clicks the link, GA4 records a session. When they cite you and nobody clicks, GA4 records nothing.
So what you are really building here is a click-through view: which assistants send people, to which pages, and what those people do next. That is useful. It is just one half of the picture. The other half (how often you are cited at all) needs a different tool, which I cover near the end.
One more distinction before the setup. AI crawlers such as GPTBot and ClaudeBot fetch your pages without a human involved. GA4 filters most of that out, and it does not belong in your referral reports. Crawler activity lives in server logs. According to Promptwatch Data's AI crawler traffic report, OpenAI made up 79.8% of IP-verified AI crawler requests from Aug 31 to Sep 6, 2026, down from 94.8% in the week of June 8 to 14. That is bot traffic. Your GA4 numbers are people.
Step 1: Check what GA4 already does by default
Google's release notes dated May 13, 2026 introduced an "AI Assistant" channel in the Default Channel Group. It rolled out broadly by early June. When the referrer matches a recognised assistant, GA4 sets:
- Session default channel group = AI Assistant
- Session medium = ai-assistant
- Session campaign = (ai-assistant)
To see it, go to Reports > Acquisition > Traffic acquisition and look in the first column.
This is a real improvement. Until May, a ChatGPT click landed in Referral next to forum links and newsletter footers. But there are limits:
- Google has not published the list of recognised referrers. The default channel group page names ChatGPT, Gemini, DeepSeek, Copilot and Grok. The release note names ChatGPT, Gemini and Claude. Perplexity appears in neither, so verify where it lands in your property.
- Clicks from Google AI Overviews and AI Mode are not in the channel. They show up as Organic Search with a google.com referrer, or Direct without one.
- Visits with no referrer are still Direct.

A warning about saved reports
Before the change, assistant visits had the medium referral. If you saved a filter that combines an assistant's source with medium = referral, it will now miss visits labelled ai-assistant. Filter on source alone to catch both. Also note that some blog posts online still say GA4 has no AI channel. Those were written before May 2026.
Step 2: Quick check in Traffic acquisition
Before building anything, spend two minutes looking at what is there.
- Open Reports > Acquisition > Traffic acquisition.
- Change the primary dimension to Session source / medium.
- Use the table search to look for chatgpt.com, then perplexity, claude.ai, gemini and copilot.
You will see each assistant on its own line, with its medium. Note which medium each one has. If Perplexity shows as referral while ChatGPT shows as ai-assistant, that tells you exactly why a custom channel is worth building.
Step 3: Build a custom channel group
The built-in channel gives you one combined row. A custom group gives you control, lets you include assistants Google does not list (Meta AI, Mistral, Duck.ai), and lets you cross-check against GA4's own numbers.
You need the Editor role or above.
- Go to Admin > Data display > Channel groups.
- Click Create new channel group. It starts as a copy of the default group.
- Click Add new channel and name it, for example "AI assistants".
- Add a condition: Source, matches regex, then paste your expression.
- Save the channel.
- Click Reorder and drag the new channel above Referral. Also put it above any other channel that could match the same visits. Click Apply.
- Save the group, then select it as the dimension in the Traffic acquisition report.
Custom channel groups apply to historical data, so you do not lose the past. A standard property can have 2 custom channel groups and a 360 property 5, each with up to 50 channels.
The hostnames to match
| Assistant | Hostnames |
|---|---|
| ChatGPT | chatgpt.com, chat.openai.com |
| Perplexity | perplexity.ai |
| Gemini | gemini.google.com, bard.google.com |
| Copilot | copilot.microsoft.com, copilot.com |
| Claude | claude.ai |
| DeepSeek | chat.deepseek.com |
| Grok | grok.com |
| Meta AI | meta.ai |
| Mistral | chat.mistral.ai |
| Duck.ai | duck.ai |
A regex to start from
Here is a simple pattern covering the main ones:
chatgpt\.com|chat\.openai\.com|perplexity\.ai|gemini\.google\.com|copilot\.microsoft\.com|claude\.ai
And a broader one if you want to catch more of the long tail:
chatgpt\.com|chat\.openai\.com|perplexity|claude\.ai|gemini\.google\.com|bard\.google\.com|copilot\.microsoft\.com|edgeservices|chat\.deepseek\.com|grok\.com|meta\.ai|chat\.mistral\.ai|duck\.ai
On case sensitivity: my sources disagree. One says GA4 regex is full-match and case-sensitive under RE2 syntax, and another says channel group conditions are not case sensitive. Use lowercase patterns and test the result in a report before you trust either claim.
If you want per-assistant reporting, make separate channels instead: one for ChatGPT, one for Perplexity, one for everything else. It costs nothing and your reports get easier to read.
The mistake almost everyone makes
GA4 assigns a visit to the first channel whose rule matches. If your AI channel sits below Referral, a chatgpt.com visit matches Referral first and your custom channel never fires. The regex can be perfect and the channel will still sit at zero. Reorder it.
The (not set) medium problem
ChatGPT often appends utm_source=chatgpt.com to outbound links without a utm_medium. GA4 uses utm_source when present and falls back to the referrer otherwise, so the source still reads chatgpt.com. But with no medium, such sessions may land in Unassigned or Referral under standard rules. I would verify this in your own property before treating it as fact, then add a second condition if you find it: source matches your regex and medium exactly matches (not set). Checking Unassigned regularly is a decent diagnostic. If AI sources show up there, your rules need an update.
Step 4: Build an exploration for landing pages
The channel report tells you how much. An exploration tells you where. This is the closest GA4 gets to showing which of your pages assistants are actually sending people to.
- Click Explore in the left navigation and start a Blank exploration.
- Name it something like "Traffic from AI platforms" and set a long date range, such as the last 12 months.
- Add dimensions: Session source / medium and Landing page + query string.
- Add metrics: Sessions, Engagement rate, Average engagement time, Key events.
- Add a filter on Session source, choose matches regex, and paste your regex.
- Put the landing page in Rows and the metrics in Values.
Regex works in exploration filters and channel group conditions, but not in the standard report comparison filters, which only accept exact and contains match types. That is why the exploration route is more flexible.
What you get is a list of pages that assistants link to. Read it like a set of questions. If your pricing explainer gets ChatGPT visits and your homepage gets none, you have learned something about what people ask and what the assistant considers a good answer.
What to do with the page list
| What you see | What to try |
|---|---|
| One page gets most AI visits | Strengthen it: update facts, add FAQs, improve internal links to related pages |
| AI visitors bounce quickly | Check that the page answers the likely question near the top, and review UX |
| One assistant sends far more than others | Look at how that assistant formats answers and match that structure |
| AI visitors convert well | Invest in more content around the same questions |
Step 5: Compare AI traffic against other channels
Once the data is clean, compare AI sessions against organic search and direct on engagement rate, average engagement time, key events and revenue. A frequently quoted figure is that AI referrals convert at 4.4 times the rate of traditional search, from Adobe Analytics research in late 2025 on retail sites. Treat that as a retail-specific vendor stat and check the original before quoting it to a client. Your own numbers matter more, and they will vary by industry.
If you want a shareable view, a Looker Studio dashboard works. A calculated field like this reclassifies traffic without needing admin access to the GA4 property:
CASE WHEN REGEXP_MATCH(Session source, "chatgpt|openai|perplexity|claude|gemini|copilot|anthropic|deepseek|meta\\.ai") THEN "AI Traffic" ELSE Session default channel group END
It only works inside Looker Studio and will not appear in GA4's own reports or Explorations, so it is a reporting shortcut, not a replacement for the channel group.
Why your numbers will always be low
This is the part clients and bosses need to hear. GA4 AI numbers are a floor.
- People copy a link from a chatbot and paste it into a new tab. GA4 logs it as Direct with no referrer.
- Mobile app to browser handoffs often drop the referrer. GA4 cannot tell the ChatGPT app from any other app.
- Safari's Intelligent Tracking Prevention and similar features can strip referrers.
- GA4 only records users who accept cookies, so cookieless AI agents are not tracked.
- Assistants frequently mention a brand without linking. The user then types your URL or searches your name on Google, and the visit is credited to Direct or Organic Search.
One proxy for the invisible segment: look at new Direct users landing on FAQ, guide and blog pages. Spikes there often indicate copy-paste behaviour from assistants.
The second fix is human. Add a "How did you hear about us?" field to signup or checkout forms with options like ChatGPT, Perplexity, Claude and "an AI assistant". A SaaS company called Tally reportedly found that 25% of new users mentioned ChatGPT, far more than analytics showed. That is second-hand through an agency guide, so take the exact number lightly, but the direction is consistent with what many teams report.
Attribution model
AI often introduces a brand early and someone converts later through a Google search. Last-click credits the later touchpoint. Switch to data-driven attribution in GA4 where available so AI gets credit for its part in the path.
Step 6: Measure the other half, the citations
Now back to the title. If you want to know how often you are cited, you need a different source than GA4. Two kinds of data fill the gap.
First, citation tracking. Promptwatch Data's average sources per response report gives some context on how contested the slots are: ChatGPT cites about 5 sources per web-search answer, while Google AI Overviews and Perplexity cite about 10. Fewer slots make each one harder to win, which is one reason you can be cited without ever getting a click.
Promptwatch tracks how brands appear across ChatGPT, Perplexity, Google AI Overviews and others, and can show visitor analytics and IP-verified crawler logs next to citation data, which gets you much closer to a full chain from crawl to citation to visit.

Second, other trackers. Profound, Otterly.AI and LLMrefs also monitor how often models mention your brand.

If you want to compare more options, the directories at bestgeosoftware.com and ai-rank-tools.com list a lot of them.
What each source tells you
| Source | What it shows | What it misses |
|---|---|---|
| GA4 AI Assistant channel | Clicks from recognised assistants | Unlisted assistants, no-referrer visits, Google AI Overviews |
| GA4 custom channel group | Per-assistant clicks, including ones Google omits | Copy-paste and app handoff visits |
| Citation tracker | How often and where you are cited | Whether anyone clicked |
| Crawler logs | Which AI bots fetch which pages | Human behaviour |
| Post-conversion survey | Self-reported AI influence | Precision, and it relies on memory |
No single row is enough. Read them together.
Optional: track AI referrals with Google Tag Manager
If you want a dedicated event, create a Custom JavaScript variable in GTM that checks document.referrer against a list of AI domains and returns the platform name or null. Add a trigger that fires on Page View when the variable is not null, and send a custom event such as ai_referral_detected with the platform as a parameter. Then register it as a custom dimension in GA4 under Admin > Custom definitions. It is more work, but it gives you a clean event to build audiences and conversions on.
A maintenance checklist
- Review your regex every quarter. New assistants launch and domains change.
- Scan Unassigned and Referral for AI-looking sources your rules miss.
- Check that saved filters do not depend on medium = referral.
- Confirm your AI channel is still above Referral after any channel group edits.
- Make sure you are not blocking AI crawlers in robots.txt by accident. If they cannot read your pages, they are less likely to cite them, though the link is not perfectly direct since some assistants search live.
Wrapping up
Set up the custom channel, put it above Referral, build one exploration for landing pages, and add the survey question. That is about half an hour of work and it will show you the part of AI influence that GA4 can see. For the rest, citations without clicks, you need a citation tracker and crawler data. Start with the quick filter on Session source this week and see which assistants already send you people. The answer is probably more than you expect, and less than the real number.

