The short answer

Open GA4, go to Reports, then Acquisition, then Traffic acquisition, and look for a channel called "AI Assistant". If it is there, that is your starting number. If you want more control or you need to look at past dates, add a regex filter as a backup. Either way, expect to see only part of the picture.

Step 1: look at the built-in channel

Google's help page on the default channel group lists an "AI Assistant" channel. It says the channel covers sources like ChatGPT, Gemini, Deepseek, Copilot or Grok, and excludes Google's AI Overviews and AI Mode. Google says clicks from those two are counted in Organic Search. The channel's rule is that the medium exactly matches "ai-assistant", with a second rule that sets that medium when the referrer matches a list of AI assistants. The page does not show that list.

To look:

  1. Open Reports, then Acquisition, then Traffic acquisition.
  2. Make sure the table's first column is "Session default channel group".
  3. Find "AI Assistant" in the list. Set the date range to the last 90 days.
  4. If you do not see the row, no sessions in that range were put in that channel.

Write the number down, with the date. If it is zero, that is useful to know too.

Step 2: add a regex as a backup

You cannot see Google's list, and Google says default channel groups can't be edited. You can make a custom channel group instead, or filter a report.

Google's help page on custom channel groups says to go to Admin, then Data display, then Channel groups, and create a new group. It says a custom group can be applied to reports retroactively, that traffic goes to the first channel it matches, and that you should put your AI channel above "Referrals".

On that page Google gives an example "AI assistants" channel with a "matches regex" condition. Google also says to update the pattern if the assistants' addresses change. Build your own and test what it catches.

Google's regex page says the default is full regex and case sensitive, and that without special characters an expression only returns exactly matching values. So the pattern must match the whole source value, and the dots in domain names must be escaped.

Here is an example. Use it as a start, not a final answer:

^(.*\.)?(chatgpt\.com|perplexity\.ai|claude\.ai|gemini\.google\.com|copilot\.microsoft\.com)$

Notes on that pattern:

  • ^ and $ mean the whole value must match.
  • \. means a real dot. A bare . would match any character.
  • | means "or".
  • (.*\.)? allows any subdomain, such as www..
  • Only chatgpt.com is documented by its company (see step 3). The others are hostnames that analytics guides report seeing, and the companies do not publish a full list. Check your own reports for what actually shows up under Session source, and add or remove names to suit.

Our free tool will build a correctly escaped version for the assistants you pick: see the AI referral regex tool.

To use it, in the custom channel group, add a channel called "AI assistants", choose Source, "matches regex", paste the pattern, and drag the channel above "Referral". Or, in Explore, make a free-form report with "Session source" and a filter using "matches regex".

OpenAI says ChatGPT automatically includes utm_source=chatgpt.com in referral URLs, so that inbound traffic from ChatGPT search results can be tracked and analysed. So if you look at "Session source" in your reports, you may see chatgpt.com. Page URLs in your landing page report may also carry that parameter.

Do not add utm_source=chatgpt.com to your own links. It is for the assistant to add. Putting your own tags on links you control is fine, but give them your own names so you can tell them apart.

What you may see

In your reports you may see:

  • A small number of sessions from AI assistants.
  • Some tagged chatgpt.com, because of the tag above.
  • Visits from other assistants with no referrer, which GA4 counts as Direct (Google describes Direct as a saved link or a typed URL, with source "(direct)").

Look at which pages those visitors landed on. If they are your pricing or product pages, those visitors may be closer to buying. If they are old blog posts, that tells you something too.

How to check it worked

  1. Click a link from an assistant to your site yourself, from a normal browser, then check GA4's Realtime report. You should see the session appear with a source. Not every app sends one.
  2. Compare the regex view with the built-in channel. Differences are normal, since Google's list is not public. Look at which sources one catches and the other misses.
  3. Change the date range to before you set it up. A custom channel group applies to past data too, per Google's help page.

What this won't do

  • It counts clicks, not mentions. Most answers never lead to a click, so a quiet report does not mean you are missing from answers.
  • Some apps and browsers send no referrer, and those visits fall into Direct.
  • Clicks from Google's AI Overviews and AI Mode are counted with Organic Search. You cannot separate them with this method.
  • Google does not publish its full list of assistants, and company hostnames can change. Re-check every few months.
  • If a visitor declines analytics or blocks the tag, GA4 may not record the visit at all.
  • It cannot show why a visitor came, or whether the assistant recommended you.

Traffic is the late signal. To see whether assistants name you in the first place, use the baseline and tracking guides.

Sources

  1. Google Analytics Help: Default channel group Accessed
  2. Google Analytics Help: Traffic acquisition report Accessed
  3. Google Analytics Help: Custom channel groups Accessed
  4. Google Analytics Help: About regular expressions (regex) Accessed
  5. OpenAI: Publishers and developers FAQ Accessed