See visits from ChatGPT and other assistants in GA4

Pick the assistants, copy one regular expression, and follow the exact clicks to give AI visits their own line in Google Analytics 4.

Your expression

Assistants to count (17)

·

^(www\.)?(chatgpt\.com|chat\.openai\.com|perplexity\.ai|claude\.ai|copilot\.microsoft\.com|copilot\.com|m365\.cloud\.microsoft|gemini\.google\.com|aistudio\.google\.com|notebooklm\.google\.com|grok\.com|duck\.ai|you\.com|chat\.qwen\.ai|chat\.deepseek\.com|doubao\.com|alice\.yandex\.ru|chat\.mistral\.ai|meta\.ai|phind\.com)$

325 characters. Paste it as is: GA4 matches the whole source value and is case sensitive.

Set up a channel group: step by step

A channel group makes AI visits a line of their own in every acquisition report, past visits included. The button names are from the English GA4 interface and Google's help page on custom channel groups.

  1. Open GA4 and click Admin (the gear, bottom left).
  2. Under the property, go to Data display → Channel groups.
  3. Click Create new channel group. It starts as a copy of the default channels. Name it, for example, Channels with AI.
  4. Click Add new channel and name it AI assistants.
  5. Click + Add condition group, choose the dimension Source, the condition matches regex, and paste the expression above.
  6. Click Save channel.
  7. Click Reorder, drag AI assistants above Referral (channels are checked from the top, and the first match wins), then click Apply.
  8. Click Save group.
  9. Open Reports → Acquisition → Traffic acquisition, click the name of the first column and switch it to your new group.

Or use it in an exploration

If you would rather not change the property, or you already have two custom groups (the limit on a standard property), use an exploration. It only affects your own view.

  1. Click Explore → Free form.
  2. Under Dimensions click +, find Session source, tick it and click Import. Do the same under Metrics for Sessions and Key events.
  3. Drag Session source to Rows and the metrics to Values.
  4. Under Filters choose Session source, then matches regex, paste the expression and click Apply.
  5. Set the date range at the top. The table now lists only visits from assistants, one row per source.

Compare the total with Google's own AI Assistant channel in Traffic acquisition. If yours is higher, the difference is visits Google did not file under AI.

GA4 shows clicks from AI. It does not show the times AI named a competitor instead of you.

Most AI answers end without a click, and GA4 only sees the visits that happened. The free OperStack check asks ChatGPT the questions your buyers ask and shows whether it names you, and whom it names instead.

Run the free AI visibility check →

Related free tools

All free tools · Our study of 731 websites

Questions

Does GA4 not already have an AI channel?

It does now. Google's default channel group has a channel called "AI Assistant" for visits from sources like ChatGPT, Gemini, DeepSeek, Copilot or Grok, and it excludes Google's own AI Overviews and AI Mode (Google: default channel group). Google does not publish the full list of sources behind it. A group of your own shows exactly which addresses are counted, and you can compare the two.

Why does the expression start with ^ and end with $?

GA4 compares a regular expression with the whole value and is case sensitive (Google: regular expressions in Analytics). The anchors make that explicit, the escaped dots stop chatgpt.com from matching look-alikes, and (www\.)? covers sources recorded with www.

Why are some assistants missing, and why is ya.ru not on the list?

The list is strict on purpose: an address is on it only when a visit from it means a person read an assistant's answer and clicked. Ordinary search is left out. ya.ru is ordinary Yandex search (Alice lives at alice.yandex.ru), duckduckgo.com is ordinary search (its assistant is duck.ai), openai.com is the company's marketing site. Google AI Overviews arrive as Google organic traffic and cannot be separated by source.

Some ChatGPT visits still show as Direct. Why?

When an app or a browser does not pass the address the visitor came from, GA4 has nothing to match and files the visit under Direct. No expression can recover that. ChatGPT often adds utm_source=chatgpt.com to the links it shows, which GA4 reads as the source, so those visits are caught.

Will the new group rewrite my old reports?

No data is changed. Google says custom channel groups can be applied to your reports retroactively, so the new group also sorts past visits. A standard GA4 property can have 2 custom channel groups and a GA4 360 property 5 (Google: custom channel groups).

Do you see my Analytics data?

No. This page runs entirely in your browser: the expression is built on your screen and nothing is sent to us. We never connect to your GA4 property.

Built by Maksim Shchegolev, founder of OperStack. Free, no account, no cookie. The address you check is not stored.