How to See AI Referrals in GA4 (ChatGPT, Gemini, Perplexity)
You cannot open GA4 and press a button labelled AI traffic. ChatGPT, Gemini, and Perplexity do not send your property a channel with that name. When someone clicks a link inside one of those products, the browser may pass a referrer. GA4 stores a session source from that hostname. If the referrer is missing, the click usually lands in Direct. A citation with no click never arrives.
A percentage of sessions “from AI” is not a method unless it names the hostnames, the dates, and the export.
Short answer: In Traffic acquisition, set the dimension to Session source and search for chatgpt, perplexity, and gemini. A row whose medium is referral is an AI referral you can defend. Direct, dark social, and Unassigned are different buckets. Do not rename them.
What an AI referral is, in this report
An AI referral, here, means a GA4 session whose session source is a hostname from the product the person was in when they clicked. The ones readers ask about are chatgpt.com, the older chat.openai.com, gemini.google.com, and perplexity.ai. The medium is referral. The landing page is the URL they opened, not the prompt they typed.
It does not include a mention with no click, a Google result after a chat, a typed URL, a bookmark, a LINE share, or a screenshot. No session source means you do not have an AI referral. A useful lead can still exist. Keep those facts apart.
How a citation happens, as opposed to how a click is counted, is in how to get ChatGPT, Gemini, and Perplexity to cite your brand. The vocabulary sits in how AEO, GEO, and SEO differ. Measurement of the site itself is on our SEO services page. This post does not replace either page, and it does not quote a fee.
Hostnames you can actually filter
Start from hostnames you can see. Open a range you will reuse, such as the last 28 days or the last 90. Search Session source for chatgpt.com, chat.openai.com, perplexity.ai, and gemini.google.com. Write down only the rows that exist. Add claude.ai or copilot.microsoft.com only if that row exists. openai.com on its own is too broad. Leave an unrecognised subdomain off the list.
Gemini the product and Google Search are not the same source. A click from gemini.google.com can show that hostname. A click from an AI Overview on a Google results page has no default label of its own in Traffic acquisition. It commonly remains google / organic. Do not recode organic into AI. You cannot see the prompt. Search Console will not list ChatGPT as a query, and it will not split Perplexity out of Google.
Menus move. In English the path is Reports, Acquisition, Traffic acquisition. In a Thai UI, set the primary dimension to session source, not the channel group.
How to see the rows
Session source, not a channel name
GA4 has no default channel called AI. These sessions sit in Referral when a referrer arrived, or in Direct when it did not. If a dashboard’s only AI number is a custom name with no rule, ask for the rule.
- Confirm the property. The web stream’s measurement ID should be the one on the site you care about.
- Open Traffic acquisition. Change the primary dimension from Session default channel group to Session source.
- Search chatgpt, then openai, perplexity, and gemini. Medium referral is an AI referral you can defend. (none) with source (direct) is not.
- Add the sessions from the hostnames you listed, name the dates, and stop. A handful of sessions is a finding. Zero rows is also a finding.
Thresholding can hide a small hostname. That is not a measured zero. Check an exploration before you say the product never sends traffic.
Landing page next to the source
Add Landing page + query string. A referral to a service page and a referral to a blog are not one number. These products do not accept tracking parameters you write onto their links. A stray utm_source is a URL someone placed. No query string is normal. If the click opens a page that does not say who you are, the session is real and the page still failed the visit.
An exploration you can open again
In Explore, start a free form. Dimensions: Session source, Session medium, Landing page. Metrics: Sessions, Engaged sessions, and Key events only if you already marked one. Filter Session source to hostnames you have seen, for example chatgpt\.com|chat\.openai\.com|perplexity\.ai|gemini\.google\.com. Save it. Next month, change the date, not the definition. Write down any hostname you add later.
Engaged sessions follow GA4’s rule on that property, commonly longer than 10 seconds, a key event, or a second page. An empty key-event column means the event is not marked, not that the traffic does not convert. Form, phone, and LINE clicks belong in the tag setup.
A custom channel group, only after a hostname exists
Under Admin, Data display, Channel groups, copy the default group. Add a channel such as AI referral. Match Session source to the regex, and place it above Referral, or the new channel stays at zero. This relabels rows. It does not create sessions, and it does not recover Direct. Leave chatgpt.com, gemini.google.com, and perplexity.ai off the unwanted-referrals list. That list is for payment returns. An AI hostname on it hides the source you want.
What AI traffic is not
Direct
Direct is session source (direct) and medium (none), or the close variant your property shows. GA4 did not get a usable referrer or campaign tag. That is not the same as a typed URL. Bookmarks, apps, and shortened links land here. ChatGPT’s own app often drops the referrer. Those clicks can be real, and they are still not identifiable AI referrals. Leave them in Direct. Do not move a share of Direct onto an AI line. You do not know the share.
Dark social
Dark social is private sharing: LINE, WhatsApp, Messenger, email, SMS. A pasted URL does not send perplexity.ai as the referrer. In Thailand the usual case is LINE. The session looks like Direct, or like a specific app if a referrer survives. A lead who saw you in an assistant, then got the link on LINE, is a form note, not a session source. Do not call LINE traffic AI because the message named a model.
Unassigned
Unassigned means the source and medium matched no channel rule. Typical causes are a missing medium, a broken UTM, a Measurement Protocol hit, or a tag that lost fields. It is a data-quality bucket, not a synonym for AI. If it is large, read Session source / medium on those rows. An empty source is a tagging problem. A hostname you recognise means the rule failed. Do not brief Unassigned as “AI and other.”
Organic search after a mention
Someone can ask an assistant for a supplier, then search the brand and click. GA4 records google / organic. Search Console records the query, when it is not anonymised. Neither says the session began in a chat. Do not recode organic as AI because AI Overviews sit on Google. If you want that signal, ask on the form or in the first LINE reply, and label it as what the lead said.
What never shows up as a session
A mention without a click is invisible to GA4. So is an answer with no link. That count is a prompt log. Keep a dated log of the same prompts if mentions matter. Do not paste it into GA4. noreferrer, some apps, and a consent banner that blocks the tag will also drop or hide a click that did happen. Fix the tag. There is no official pixel that unlocks AI traffic.
A monthly check, not a fake dashboard
A useful report should show the hostname, date range, property and landing pages. If the source cannot be identified, do not estimate it as AI traffic. Use the same definition every time. List each hostname that had sessions, the medium, and the landing pages. Add key events only if that event already exists. Note hostnames you searched and did not find. Then stop.
If a session arrived, read the landing page. A thin URL wastes the click. Measurement will not create a mention. That sequence is in the citation article. The scoped work is on AEO and GEO services. Site measurement is on SEO services. Neither page is a price for this article.
When this is an agency job
Do the first look in-house if someone can open GA4 and read a source table. Bring help when nobody is sure which stream is live, when Unassigned is large, when form, phone, and LINE events are not firing, or when English and Thai pages disagree. Digital Agency Bangkok can take the measurement as part of SEO services, and the citation side as AEO and GEO services. This article is the method. It is not a promise that those products will send sessions. The SEO FAQ and the AEO and GEO FAQ cover how those engagements differ. Look at the live site before anyone quotes a plan. If the tag is not on the page, no hostname filter will save the report.
FAQ
Does GA4 have an AI traffic channel by default?
No. You see ChatGPT, Gemini, or Perplexity as a session source, usually referral, or you do not see them. A custom channel group can rename hostnames you have listed. It cannot invent the sessions.
Why do some ChatGPT clicks show as Direct?
The app or in-app browser did not pass a referrer, so GA4 files (direct) / (none). You cannot prove the click started in ChatGPT from that field. Leave it in Direct. Do not assign a share of Direct to AI.
Is Unassigned the same as AI traffic?
No. Unassigned means the source and medium matched no channel rule. Fix the tag or the UTM. Do not brief it as AI, and do not blend it with Referral from chatgpt.com.
Can we see a citation in GA4 if nobody clicked?
No. GA4 records sessions on your site. A mention or an answer with no link is not a session. Keep a prompt log if you need citations, and keep it out of the acquisition table.
Should we add ChatGPT or Perplexity to unwanted referrals?
No, not if you want the source. That list is for domains that should not start a new session, such as a payment return. Adding those hostnames hides the referral.