Measurement
How to track traffic from AI search in GA4
Visits from ChatGPT, Perplexity, Gemini and Copilot are probably already in your analytics, scattered across Referral, Direct and Unassigned. This guide pulls them into one channel, follows them to leads, and shows where the numbers stop.
Where does AI traffic show up today?
When someone clicks a link inside an assistant’s answer, their browser usually tells your site where they came from. That referrer is how GA4 knows a visit came from chatgpt.com or perplexity.ai. ChatGPT also adds a utm_source=chatgpt.com tag to many of the links it shows.
GA4 then sorts each visit into its default channels, and none of them is called AI. A visit with a referrer usually lands in Referral. A visit tagged with a UTM source but no medium can end up in Unassigned. A click from a mobile app that passes nothing lands in Direct. The same assistant can feed all three.
So the first job is to gather these visits in one place. The second, harder job is to accept that some of them will never carry a label.
Which sources should you look for?
These are the sources to check in GA4’s Traffic acquisition report, with Session source as the dimension. New assistants appear every year, so review the list regularly.
| Assistant | Source you will see | Notes |
|---|---|---|
| ChatGPT | chatgpt.com, older visits chat.openai.com | Many links also carry utm_source=chatgpt.com |
| Perplexity | perplexity.ai, www.perplexity.ai | Shows its sources with each answer |
| Gemini | gemini.google.com | Separate from Google Search |
| Microsoft Copilot | copilot.microsoft.com | Check your referral list for other Microsoft domains |
| Claude, DeepSeek and others | claude.ai, chat.deepseek.com and new ones as they appear | Low volume for most sites, still worth grouping |
| Google AI Overviews and AI Mode | google / organic | Counted with normal Google search and cannot be isolated |
How to build an AI assistants channel in GA4
You need editor access to the property. A standard GA4 property allows two custom channel groups besides the default one (Google Analytics Help).
Create a new channel group
In Admin, under Data display, open Channel groups and choose to create a new one. GA4 starts it as a copy of the default group, so every existing channel keeps working.
Add an AI assistants channel
Add a channel with one condition: Session source matches regex. Use a pattern listing the domains, for example chatgpt.com|chat.openai.com|perplexity.ai|www.perplexity.ai|gemini.google.com|copilot.microsoft.com|claude.ai|chat.deepseek.com.
Move it above Referral
GA4 puts each session in the first channel it matches, in the order listed. If the new channel sits below Referral, Referral keeps the traffic. Drag it to the top.
Save and check past months
Custom channel groups also apply to past data, so you can compare previous months straight away. In Traffic acquisition, switch the channel dimension to your new group.
Mark leads as key events
Make sure form submissions, click-to-call, WhatsApp clicks and bookings are key events. Otherwise the channel shows sessions and nothing you can bank.
Why does so much AI influence look like direct or branded search?
Because people often do not click. They ask an assistant for a good physiotherapist in their city, read three names, and then type one of them into Google an hour later. Or they call the number in the answer. Or they open the assistant’s mobile app, which may pass no referrer at all. None of those visits will say AI in your reports.
Google adds its own blind spot. Clicks from AI Overviews and AI Mode are counted inside the normal Web search data in Search Console and show as google / organic in GA4. You cannot split them out.
So treat your AI channel as the minimum, and watch the indirect signals next to it. Searches for your brand name in Search Console, direct visits landing on a service page nobody would type from memory, and leads who say they heard about you from ChatGPT all point the same way when assistants start naming you.
How do you follow AI visits to leads and revenue?
A session count tells you little. What you want to know is whether the people who arrived from an assistant booked, showed up and paid. That means the source has to travel with the lead.
In practice: capture the referrer and any UTM tags when a visitor first lands, store them, and pass them into hidden fields when the form is submitted. The lead then reaches your CRM with its source attached, and you can compare booked calls and revenue by source at the end of the month. Add a required “how did you hear about us” question with ChatGPT and other assistants among the answers, to catch the visits that came in unlabelled.
This is what our revenue attribution does for every lead, and our SEO and AI visibility tracking puts Search Console data and AI visits next to the leads they produced. Any setup that keeps the source on the lead record will do the job. Our article on cost per booked call explains what to compare once you have it.
Your monthly AI traffic check
- Sessions and key events in the AI assistants channel, by source
- The landing pages AI visitors arrive on, which show what assistants cite
- New AI referrers sitting in Referral or Unassigned that your regex does not catch yet
- Brand-name clicks and impressions in Search Console
- Form answers to “how did you hear about us” that mention an assistant
- Leads, booked calls and revenue from AI sources, next to your other channels
Frequently asked questions
Can I see clicks from Google AI Overviews separately?
No. Google counts clicks from AI Overviews and AI Mode in the Web search type of Search Console, along with all other Google clicks, and GA4 shows them as google / organic. Watch your overall Google clicks and your brand searches instead.
Why is some ChatGPT traffic labelled Unassigned?
When a link carries utm_source=chatgpt.com but no utm_medium, GA4 may not match the visit to any default channel rule, so it falls into Unassigned. A custom channel that matches on source alone brings those visits back into view.
Does ChatGPT tag every link with a UTM?
No. The tag appears on many links, not all, and OpenAI can change the behaviour without notice. That is why the channel should match the referrer domain as well as the tag.
Do AI crawler visits in my server logs count as traffic?
No. OAI-SearchBot, GPTBot and similar crawlers are robots, and GA4 does not count them as users. Their visits in your server logs are still useful: they show the assistants can reach your pages, as explained in our guide on appearing in ChatGPT answers.
Do I need a paid tool to track AI traffic?
Not for visits. GA4 handles them with the setup above. What analytics cannot do is tell you whether assistants name you when nobody clicks. For that you need a fixed list of questions checked every month, by hand or with a tool. Our analytics and attribution work covers both.
Last updated · By the Napexy team