How to see traffic from ChatGPT and Perplexity in Google Analytics 4
Before proposing that a client work on their AI visibility, it helps to be able to point at a row in their own GA4 and say: "this is already happening to you". This tutorial is exactly that: how to isolate, in Google Analytics 4, the visits arriving from ChatGPT, Perplexity, Copilot and the rest, with three methods depending on how much of a hurry you're in, and with the important limitation told at the end — because there is one, and it's a big one.
First: where that traffic comes from (the real referrers)
When someone clicks a link inside an AI answer from the browser, the visit arrives at the site with a referrer (the address of the origin page) that GA4 records as the session's source. These are the domains you'll see today:
| Platform | Source that shows up in GA4 |
|---|---|
| ChatGPT | chatgpt.com (and chat.openai.com in older data: it was the previous domain) |
| Perplexity | perplexity.ai |
| Microsoft Copilot | copilot.microsoft.com (some may arrive via Bing referrers) |
| Gemini | gemini.google.com |
| Claude | claude.ai |
Two nuances that prevent wrong diagnoses: clicks on Google search's AI Overviews don't arrive as Gemini, but mixed into google / organic — there's no way to separate them in GA4. And the desktop and mobile apps of ChatGPT or Claude often send no referrer, so those visits fall into direct traffic (we'll come back to this at the end).
Method 1: the quick check (2 minutes, nothing to set up)
To find out whether there's anything to look at before investing time:
- In GA4: Reports → Acquisition → Traffic acquisition.
- Change the table's primary dimension to Session source/medium.
- In the table's search box, type
chatgpt. Look at the sessions. Repeat withperplexity,copilot,geminiandclaude.
If rows come up, there's identifiable AI traffic. The next method groups it for you so you can watch it evolve.
Method 2: the regex exploration (the agency method)
An exploration is GA4's custom report, and a regex (regular expression) is a text pattern that here we use to say "any of these domains". Setup:
- In the side menu: Explore → blank exploration (free form).
- In the Variables panel, press + under Dimensions and import Session source and, if you want detail, Landing page. Press + under Metrics and import Sessions, Engaged sessions and Key events.
- Drag Session source to Rows and the metrics to Values.
- Under Filters, choose Session source → condition matches regex → paste:
chatgpt\.com|chat\.openai\.com|perplexity\.ai|claude\.ai|gemini\.google\.com|copilot\.microsoft\.com
- Apply, name it ("AI traffic — [client]") and save it. For the monthly evolution, duplicate the tab and change the visualisation from table to line chart.
With Engaged sessions and Key events in the table you can compare the quality of this traffic against organic for the same period. It's worth a look: the industry data collected by roymo.es suggests traffic from AI answers converts at 14.2% against 2.8% for classic organic. If your client's GA4 points in that direction, you've got the second argument for the proposal.
The regex is a living list: when a new source appears (whatever the AI search engine of the moment is), you add it with another |. Review it every few months.
Method 3: the native "AI Assistant" channel (new in May 2026)
Since 13 May 2026, Google has been rolling out an AI Assistant channel in GA4 within the default channel group. When GA4 recognises an AI assistant's referrer, it automatically assigns the medium ai-assistant and groups those sessions in that channel, with nothing for you to configure: it shows up as another row alongside Organic Search or Referral in the acquisition reports.
Three bits of small print before relying on it as your only source:
- It's not retroactive: it only classifies traffic from when it was activated in each property. Your prior history stays as Referral (or Direct).
- The list of recognised assistants isn't public: Google cites ChatGPT, Gemini and Claude as examples, but hasn't published the full list, so minor sources may be left out.
- Gradual rollout: it may not have appeared in your client's property yet.
The sensible practice in 2026 is to use both: the native channel for the quick client report and the regex exploration as a control net, because you decide the regex and it covers the history from when you create it. If you want to go further, you can create a custom channel group (Admin → Data display → Channel groups) with an "AI" channel defined by that same regex on the session source, placing it above Referral in the evaluation order; it takes a day or two to populate and likewise doesn't reclassify the past.
The limitation you have to tell the client (before they find it)
Here's the part almost every tutorial hides: a large share of AI traffic arrives without a referrer and GA4 classifies it as direct traffic. It happens with the assistants' desktop and mobile apps, with some built-in browsers, and when the user copies the answer's link and pastes it. Published estimates vary a lot by site — between a third and two-thirds of AI sessions — and that very wide band is itself the message: nobody knows exactly how much is lost, only that it's not a little.
Practical consequences for your reporting:
- What you see with these methods is the floor, not the total. Always present it that way: "at least this much".
- Direct traffic growing towards deep pages, in parallel with the identified AI traffic, is probably more AI traffic in disguise. How to read that signal — together with the CTR drop in Search Console — is developed in how to check in your Analytics whether AI is affecting your clients' traffic.
- And the underlying limitation: GA4 only measures the clicks that arrive. It doesn't measure the answers where your client should appear and doesn't, nor the times the AI answers without anyone clicking — zero-click searches are already 69%, up from 56% a year earlier (data cited on stucom.com). That invisible half doesn't come out of any analytics: you have to ask the AIs directly and compare. It's the half we cover with Surfeo: it queries the 4 AIs every week with the prompts from each client's sector and tells you where they appear, where they don't, and what's said about them, without doing it by hand or with screenshots.
GA4 and visibility measurement don't compete: one measures the clicks that arrive, the other the recommendations where the decision is made. The full client report carries both — and if the conversation with the client is going to be about why organic is falling, come to it prepared with this narrative.
Frequently asked questions
Why do I see chat.openai.com and chatgpt.com as separate sources?
They're the same platform in two eras: OpenAI migrated ChatGPT from chat.openai.com to chatgpt.com. In recent data you'll see almost everything under chatgpt.com, but keep both in the regex so the history adds up.
Can I see what the user asked the AI before arriving at the site?
No. The referrer carries the origin domain, not the conversation. GA4 will tell you someone arrived from Perplexity to a specific page; the exact prompt doesn't travel. The landing page is your best clue as to what topic prompted the recommendation.
Does this same thing work for any client's GA4?
Yes: the three methods use standard GA4 features, with no new tags or changes to the site. The exploration has to be created in each property (or duplicated if you manage the properties under the same account), and the native channel appears on its own as Google's rollout advances.
How much AI traffic is worth acting on?
Don't wait for it to be large: today's small figure is the argument. "You're already getting visits from ChatGPT without having worked on it at all, and they convert better than average" is a proposal; "there's no data" isn't. And remember the GA4 figure is the floor of the phenomenon, not its real size.
You now know how to measure the clicks arriving from the AIs. The other half — what they answer when asked about your client's sector, and whether they recommend them or their competitor — you see in minutes with the free AI visibility test.