"How much traffic do we get from ChatGPT?" is now a common question in my client calls, and GA4 rarely answers it cleanly out of the box. Some ChatGPT visits show as referrals, some land in Direct or Unassigned, and once a business starts running ChatGPT Ads, paid clicks can get mixed up with organic mentions.
This guide shows how I measure both sides in Google Analytics 4 (GA4): organic visits from ChatGPT answers, and paid clicks from ChatGPT Ads. I cover how ChatGPT traffic is identified, how to tag ads with UTMs, how to build a custom channel group, which explorations to use, and how to attribute key events. I also touch briefly on other AI assistants such as Perplexity, Gemini and Copilot.
How does ChatGPT traffic show up in GA4?
ChatGPT traffic shows up in GA4 through two signals: the chatgpt.com referrer, and a utm_source=chatgpt.com parameter that ChatGPT has been reported to add to some links it shows. Which signal arrives depends on the device, the app and the type of link.
From what practitioners have reported (OpenAI does not document this for publishers, so treat it as observed behaviour):
- Referrer present. The visit appears with session source
chatgpt.comand mediumreferral. - UTM but no medium. A link tagged only with
utm_source=chatgpt.comand noutm_mediumcan land in the Unassigned channel. - Neither signal. Clicks from apps or links opened without a referrer fall into Direct, and you cannot recover them reliably.
Several analytics blogs also reported periods in 2026 when tagged ChatGPT traffic dropped suddenly because links stopped carrying the referrer or UTM for a while. If you see a sharp fall, check whether Direct rose at the same time before assuming you lost visibility.
Does GA4 have an AI assistant channel?
GA4 has reportedly added an "AI Assistant" channel to its default channel group in 2026, with recognised assistant traffic given an ai-assistant medium. Reports say it is not retroactive and that Google has not published the full list of recognised sources. Check Reports > Acquisition > Traffic acquisition in your own property to see whether the channel appears and what it includes. I still build a custom channel group, because it covers history and sources the default may miss, and it separates paid from organic.
How should you tag ChatGPT Ads with UTMs?
You should tag every ChatGPT Ads landing page with your own UTM parameters, so paid clicks never get confused with organic ChatGPT referrals. OpenAI's help centre confirms that static parameters such as UTMs added to landing page URLs persist on ad clicks.
I use a source value that is clearly different from the organic chatgpt.com:
https://example.com/quote/?utm_source=chatgpt_ads&utm_medium=cpc&utm_campaign=spring_cleaning_us&utm_content=ad_a
| Parameter | My convention | Why |
|---|---|---|
utm_source |
chatgpt_ads |
Keeps paid separate from organic chatgpt.com |
utm_medium |
cpc (or cpm for impression campaigns) |
Puts paid traffic in a paid channel |
utm_campaign |
Same name as in Ads Manager | Easy matching between reports |
utm_content |
Ad variant | Compare creatives in GA4 |
Keep everything lowercase and consistent, because GA4 treats ChatGPT_Ads and chatgpt_ads as different sources. ChatGPT Ads also adds its own oppref click reference to the URL. Leave it alone: the OpenAI pixel needs it for attribution. Make sure no redirect strips either the UTMs or oppref.
How do you build an "AI assistants" custom channel group?
You build it in GA4 Admin under Data display > Channel groups, by copying the default group and adding new channels above the standard ones. Order matters, because GA4 assigns each session to the first channel whose rules match.
- Go to Admin > Data display > Channel groups and click Create new channel group (or copy the default).
- Add a channel called Paid AI ads with the rule: session source exactly matches
chatgpt_adsAND session medium matches regex^(cpc|cpm)$. - Add a channel called AI assistants with the rule: session source matches regex:
^(chatgpt\.com|chat\.openai\.com|perplexity\.ai|www\.perplexity\.ai|gemini\.google\.com|copilot\.microsoft\.com|claude\.ai)$
- Drag both channels above Referral, Paid Other and Unassigned.
- Save, then select the new group in Traffic acquisition and in explorations.
Custom channel groups apply to historical data, which is one advantage over relying on a new default channel. Review the regex every few months, because AI tools change domains and new assistants appear.
Which explorations help analyse AI traffic?
A free-form exploration with landing page and source dimensions is the most useful view, because it shows where AI visitors arrive and whether they convert.
Set up a Free form exploration with:
- Dimensions: your custom channel group, session source / medium, landing page + query string, device category
- Metrics: sessions, engaged sessions, key events, session key event rate, total revenue
- Filter: custom channel group is "AI assistants" or "Paid AI ads"
Two more views I find useful:
- Landing page + query string filtered to contain
utm_source=chatgpt.com. This catches organic ChatGPT sessions that GA4 filed under Unassigned or another channel. - Path exploration starting from AI-sourced sessions, to see which pages people read after arriving from an AI answer.
How do you attribute conversions from ChatGPT traffic?
You attribute conversions from ChatGPT traffic by marking your important events as key events in GA4 and reading them by your custom channel group. If your forms, calls and purchases are not tracked yet, fix that first; my guide on tracking WhatsApp clicks, calls and forms in GA4 is a good place to start.
Then keep three things in mind:
- GA4 and Ads Manager will not match. GA4 uses its own attribution model and only sees sessions it can identify. ChatGPT Ads Manager uses its own click window and an optional one-day view-through window, which GA4 cannot see at all. The reasons are the same ones I describe in why GA4 and Google Ads disagree.
- Use the Advertising workspace for comparisons. The attribution paths and model comparison reports show whether AI traffic tends to start journeys or close them.
- Check lead quality in your CRM. For lead generation, pass the source into your CRM so you can see whether AI-sourced leads become paying customers.
For the platform side of paid measurement, set up the OpenAI pixel and Conversions API as described in my ChatGPT Ads conversion tracking guide.
What about Perplexity, Gemini and Copilot?
Other AI assistants send traffic in similar ways, so the same channel group covers them. Perplexity usually appears as perplexity.ai, Gemini as gemini.google.com, and Microsoft Copilot as copilot.microsoft.com, though apps may again hide the referrer. Google's AI Overviews and AI Mode come through Google Search, so GA4 reports them as organic search rather than as a separate source.
Quick checklist:
- Custom channel group with "Paid AI ads" and "AI assistants" above Referral
- UTMs on every ChatGPT Ads URL, with a source different from
chatgpt.com - Key events defined for purchases, leads and calls
- Saved free-form exploration for AI traffic
- Quarterly review of the AI source regex
Final thoughts
Measuring ChatGPT traffic in GA4 comes down to clean labels: separate paid from organic with UTMs, group AI sources in a custom channel group, and judge them on key events rather than sessions. If you want this set up alongside ChatGPT Ads tracking, see my ChatGPT Ads tracking service or book a free tracking audit.


