GA4 guide
How to track ChatGPT traffic in GA4
Direct answer
GA4 now groups recognized AI assistant visits on its own. Since mid-2026 the default channel group has an AI Assistant channel, and sessions from apps like ChatGPT, Gemini and Claude get the medium ai-assistant. Open Traffic acquisition to see the total, then add Session source to see each app. For tools GA4 does not recognize, filter session source with a regex in Explore. Expect an undercount, because many AI clicks pass no referrer.
Updated
On this page
Do it by handAsk your AI insteadWorked exampleLimits to knowQuestionsRelated guidesYou see a handful of sessions from chatgpt.com in GA4 and wonder if that is all of it. It probably is not: GA4's AI Assistant channel only counts assistants it recognizes, and only clicks that pass a referrer.
The numbers below are an example site over 28 days.
Do it by hand in GA4
- Open Reports, then Acquisition, then Traffic acquisition, and look for the AI Assistant row. Google added this default channel in May 2026 and rolled it out gradually, so older date ranges may not show it.
- Click the + next to the first column and add Session source to see which assistant sent each session. Recognized assistants show a medium of ai-assistant.
- To catch AI sources GA4 does not recognize, open Explore and start a Free form exploration. Add Session source and Session medium as rows, and Sessions and Engagement rate as values.
- Add a filter: Session source partially matches regex chatgpt|perplexity|claude|gemini|copilot|openai. Use "partially matches", because GA4's plain "matches regex" must match the whole value.
- Any AI-named source with a medium other than ai-assistant sits outside the AI Assistant channel. If that traffic matters, copy the default group under Admin, Data display, Channel groups, and add a channel for it above Referral.
The channel only covers assistants Google recognizes, the regex only finds visits that carry a source, and you rebuild the exploration for every property and date range.
Ask your AI instead
With Rankgaroo connected to Claude, ChatGPT or Cursor, paste a question like this:
Using my GA4 property for example.com, show sessions and engagement rate from AI sources (ChatGPT, Perplexity, Claude, Gemini, Copilot) for 2026-09-25 to 2026-10-22, grouped by session source and medium. Flag any AI-named source that sits outside the AI channel, and tell me what share of total sessions this traffic is.
What the AI calls
ga4_run_report(dimensions: ["sessionSource", "sessionMedium"], metrics: ["sessions", "engagementRate"], filters: [{dimension: "sessionSource", matchType: "FULL_REGEXP", value: ".*(chatgpt|perplexity|claude|gemini|copilot|openai).*"}], startDate: "2026-09-25", endDate: "2026-10-22")ga4_run_report(..., dimensions: ["sessionDefaultChannelGroup"], metrics: ["sessions"])for the total, so the AI can work out the share and spot sources with a (not set) medium.
Worked example
| Session source | Medium | Sessions | Engagement rate |
|---|---|---|---|
| chatgpt.com | ai-assistant | 412 | 74.0% |
| perplexity.ai | ai-assistant | 96 | 66.7% |
| gemini.google.com | ai-assistant | 78 | 69.2% |
| claude.ai | ai-assistant | 31 | 71.0% |
| copilot.com | ai-assistant | 23 | 52.2% |
| perplexity | (not set) | 7 | 42.9% |
| chatgpt.com | (not set) | 4 | 50.0% |
What the answer says
The regex found 651 AI sessions: 416 from ChatGPT, 103 from Perplexity, 78 from Gemini, 31 from Claude and 23 from Copilot. Eleven of them (7 from perplexity, 4 from chatgpt.com) have a medium of (not set), so they sit outside the AI Assistant channel, and only 3 of the 7 perplexity sessions were engaged. That is about 3.0% of the site's 21,400 sessions, and the 4,280 Direct sessions may hide more.
Limits to know
- GA4 only knows a visit came from an AI app if the click passes a referrer or UTM tags. Many AI app and browser clicks pass neither and are counted as Direct, so any AI total is a floor.
- GA4 counts visits, not citations. An AI answer that mentions your site but never gets clicked leaves no trace.
- Source names change (chat.openai.com became chatgpt.com), so recheck the list every few months.
- ga4_run_report uses a full-match regex, so patterns need .* on each side. It returns up to 1,000 rows per call.
Questions
Why is my ChatGPT traffic in GA4 so low?
ChatGPT traffic in GA4 looks low because many visits arrive with no referrer and are counted as Direct. Only clicks that pass a referrer get a source. In the example above, chatgpt.com showed up as 412 sessions in 28 days out of 21,400, about 1.9%.
What source does ChatGPT traffic show as in GA4?
ChatGPT traffic usually shows as chatgpt.com, and older visits as chat.openai.com. In the example above it appears as chatgpt.com with a medium of ai-assistant, plus 4 sessions with a medium of (not set).
Can GA4 show which prompt sent a visitor from ChatGPT?
No. GA4 records the source and the landing page, not the prompt. Search Console does not show it either, because AI app visits are not search queries.
Do I need a custom channel group to track AI traffic?
Not for the main assistants. GA4's default channel group has included an AI Assistant channel since May 2026. A custom channel group only helps when you want AI sources GA4 does not recognize in that same row.