You have a hunch that ChatGPT and Perplexity are sending people to your site. You just cannot prove it yet. That is a frustrating place to be, especially when leadership asks how much traffic AI answers actually drive.
Here is the good news. You already have the tool you need. Google Analytics 4 records the visits that arrive after someone clicks a link inside an AI answer, and with about an hour of setup you can pull those visits into a clean, repeatable report. This guide shows you how to measure ChatGPT traffic and Perplexity clicks, how to build an AI search traffic GA4 view you can check every week, and where the numbers stop being reliable so you never over-claim.
One honest caveat before we start. GA4 measures clicks that become site sessions. It cannot see an AI answer that mentions your brand but sends no click, and it cannot give you the AI platform's total outbound-click count. That is the influence side of AI visibility, and it lives in a different report. We will come back to that at the end so your dashboard tells the whole story.
The short version
Open Reports, then Acquisition, then Traffic acquisition. Change the primary dimension to Session source/medium, then search for sources like chatgpt.com, chat.openai.com, openai.com, and perplexity.ai. Those rows are your AI-attributed visits.
For a report you can reuse to track AI referral traffic, build a custom channel group with an AI channel that requires Medium equals referral and Source matching your AI hostnames, and place it above the generic Referral rule. For deeper digging, build an Exploration filtered to the same sources.
That is the whole shape of it. Now let us do each part slowly, with the places people trip built right in.
Step 1: Confirm GA4 is actually collecting these visits
Before you filter anything, make sure the data exists. A clever segment cannot recover visits that GA4 never recorded.
Pick the correct GA4 property and web data stream first. It is surprisingly easy to spend twenty minutes building a report in the wrong property. Then open Reports, Acquisition, Traffic acquisition, and set a recent date range. Confirm you are seeing sessions and source data for the right site and hostname.
While you are here, check that your important actions are set up as key events or conversions. Sign-ups, demo requests, purchases, and contact submissions are what turn a traffic number into a business number later.
You are done with this step when the report shows real sessions with source data, and your key events are configured.
Where people go wrong: they start slicing data before checking that the GA4 tag is even firing on their landing pages, or they analyze the wrong property, stream, or date range. Get this boring part right and everything after it is easier.
Step 2: Inspect your real referral sources before you filter
Do not paste in a giant list of AI domains you found online. To measure ChatGPT traffic accurately, look at what your own property actually records first. This one habit will save you hours.
In Traffic acquisition, set the table dimension to Session source/medium, or add it as a secondary dimension if your interface prefers that. Then search, one term at a time, for chatgpt, openai, perplexity, gemini, claude, and copilot. Also open the Referral channel and scan the Session source values there.
Write down the exact spelling and medium you see. Is ChatGPT arriving as chatgpt.com, or as the older chat.openai.com, or both? Is Perplexity showing up as perplexity.ai or www.perplexity.ai? Your regex later has to match the real recorded value, not the one you assumed.
At a minimum, most sites will want to check for chatgpt.com, chat.openai.com, openai.com, and perplexity.ai. That short list is where the bulk of your Perplexity referral traffic and ChatGPT clicks tend to land.
You are done when you have an observed source list from your own data, not a copied one.
Pro tip: start narrow, then expand. A short, accurate filter beats a sprawling list of unrelated AI software domains that quietly creates false positives. You can always add a source next month when you actually see it.
Where people go wrong: they filter for the word ChatGPT and miss the legacy OpenAI hostname, assume every Perplexity visit uses the same form, or use a source string that never matches what their property recorded.
Step 3: Build an Exploration to isolate AI sessions
Reports are great for a quick look. When you want to diagnose, compare, and save a view, use Explore. Think of this as your workbench.
Open Explore and start a blank or free-form exploration. Add dimensions you will actually use: Session source/medium, Session source, Page referrer, and Landing page. Add Device category and Country if those breakdowns help you. For metrics, pull in Sessions, Users, Engaged sessions, Engagement rate, Average session duration, and your configured key events.
Now create a session segment. Name it something you will recognize later, like AI Sources or AI Traffic. Set the condition so Session source or Session source/medium matches your AI expression. A practical pattern for ChatGPT and Perplexity is:
.*(chatgpt\.com|chat\.openai\.com|openai\.com|perplexity\.ai).*
Want to cover more platforms in one filter? Use the broader core pattern:
.*(chatgpt\.com|chat\.openai\.com|openai\.com|perplexity\.ai|claude\.ai|anthropic\.com|gemini\.google\.com|bard\.google\.com|copilot\.microsoft\.com|copilot\.com|meta\.ai|www\.meta\.ai|chat\.mistral\.ai|deepseek\.com|grok\.com|grok\.x\.com|you\.com|poe\.com|phind\.com).*
That pattern is deliberately contains-style, so it catches a www prefix, a full referrer URL, or a source/medium value that holds the hostname. Escape the dots so they mean literal dots. GA4 regex behavior varies by field and interface, so test the output instead of trusting it on faith.
Put Session source/medium in the rows and Sessions in the values, then add Landing page as a breakdown or on a second tab. For a trend, use a line chart with Sessions at weekly granularity. AI referral volume is often small, so a weekly or monthly view reads better than a jumpy day-by-day one. Save the Exploration when it works.
You are done when the Exploration returns sessions grouped by AI source and landing page, and the total roughly lines up with what you saw in Traffic acquisition.
Where people go wrong: they use a user segment when the real question is sessions, they filter Page referrer but read it as session acquisition, or they paste a full-URL regex into a field that only holds the bare source. Page referrer is wonderful for discovery and troubleshooting. Session source/medium is what you report on.
Step 4: Create a custom AI channel group for ongoing reporting
An Exploration is your workbench. A custom channel group is the clean, always-on view your team checks without thinking. This is the step that turns a one-time investigation into a standing way to track AI referral traffic.
Go to Admin, then Channel groups under Data display. Choose to create a new channel group, and base it on the default channel grouping if that option exists, so your other channels stay intact. Add a channel and name it something plain like AI, AI Assistants, or AI referrals.
Here is the part that matters most. Give the channel two conditions, not one. Require Medium equals referral, and require Source to match your observed AI hostname pattern:
.*(chatgpt\.com|chat\.openai\.com|openai\.com|perplexity\.ai).*
The Medium equals referral condition keeps a manually tagged campaign that happens to use a similar source name from sneaking into your AI channel. That small guard is what makes your GA4 AI traffic number trustworthy.
One more thing, and it is easy to miss. Move your new AI rule above the generic Referral rule. GA4 evaluates channel definitions in priority order, so if Referral sits first, it grabs the session before your AI rule ever sees it. Save, then switch the primary dimension in Traffic acquisition to your custom channel group and confirm AI shows up as its own row.
A quick expectation reset: a brand-new channel group can take a little time before it looks fully populated, and it does not backfill old sessions the way you might hope. For history, lean on Explore and your existing source/medium data, then let the custom group prove itself on new data.
You are done when AI sessions sit in their own row, separate from ordinary referrals, and you can still drill into Session source/medium underneath.
Where people go wrong: they place the AI rule below Referral, drop the Medium condition, overwrite the default group and lose their other channels, or expect the group to repair sessions whose referrer was never sent.
Step 5: Test it with a real AI link click
Do not wait weeks to find out your filter is wrong. Prove it with one deliberate click.
Open the web version of ChatGPT or Perplexity, find an answer that links to your site, and click the link. Do not copy and paste it into a new tab, because that strips the referrer and defeats the test. Land on your site, generate a normal page view, then check Realtime or DebugView if they are available to you.
After processing time, search for that exact hostname in Session source/medium and glance at Page referrer. Jot down the date, the platform, the browser, how you clicked, and what value GA4 recorded. That little log is gold the next time something looks off.
You are done when your test visit shows up as an attributed AI source. If it lands in Direct instead, that is not a broken channel group. It is a real measurement limit, and knowing that now is far better than being surprised by it in a board meeting.
Where people go wrong: they test by copying the link, use a mobile app that strips the referrer, click a link that redirects through another domain, or expect the standard reports to update the instant they hit the site.
Step 6: Report on sessions, pages, engagement, and key events
Now you get to answer the question everyone actually asked: is this traffic worth anything? Build your recurring report on the custom AI channel group, and keep Session source/medium as your drill-down.
Anchor the report on a handful of fields:
| What you want to know | GA4 field or metric |
|---|---|
| How many AI visits arrived | Sessions |
| How many distinct people | Users or Total users |
| Which platform sent them | Session source or Session source/medium |
| Which page they entered on | Landing page |
| Whether they engaged | Engaged sessions, Engagement rate, Average session duration |
| Whether they took action | Configured key events or conversions and the rate |
| Whether the trend is up or down | Sessions by week or month versus a prior period |
Use Sessions as your headline traffic number in the AI search traffic GA4 report. If you find yourself writing clicks, add a quick clarification that GA4 counts resulting site sessions, not every click ChatGPT or Perplexity registered. Those are not the same thing, and the honesty protects you.
Two small disciplines keep this report credible. Show the denominator whenever you report a rate, and do not crown a winning platform on conversion rate when it only sent a handful of sessions. When AI volume is low, trust the direction of the trend and the landing-page patterns more than any precise percentage.
You are done when you can say which AI sources sent visits, which pages they hit, whether those visits engaged, and whether they completed a key event.
Where people go wrong: they report a source row as an exact AI outbound-click total, swap Page views in for visits, or compare a tiny AI sample against a huge organic one without ever showing the sample size.
Step 7: Keep your list current, and remember traffic is only half the picture
You built the report. Now keep it honest as the ground shifts under it.
Revisit your source table every so often, add newly observed AI hostnames, and keep the regex documented right in the report description. Recheck things after a platform changes its domain, after a redirect change, after a consent-banner update, or after a big GA4 interface change. When a number moves, say why: a source-list update, an implementation change, a consent change, or a genuine shift in traffic.
Here is the reframe that makes all of this worthwhile. GA4 tells you about the downstream side: the clicks that became sessions, the pages they landed on, and whether they converted. It cannot tell you about the answers where an AI named your brand, cited a competitor, or summarized your product without ever sending a click. That is the influence side, and for most brands it is the larger story.
You need both lines of sight. GA4 covers the traffic that arrived. Something built for AI visibility covers whether you are even showing up in the answers, before any click exists to measure. This is where DeepSmith fits alongside your analytics rather than inside it. Its AI Visibility area tracks answer-level signals like mention rate, citation rate, share of voice, and visibility trend across engines like ChatGPT, Perplexity, and Gemini, and it shows which of your pages get cited and which competitor pages win the prompts you care about. GA4 measures the clicks. DeepSmith helps you understand the visibility that produces them, including the visibility that never turns into a click at all.
You are done when your reporting has two clear lines of sight: AI answer visibility, and AI-generated site traffic.
Where people go wrong: they call every AI-driven visitor the whole story, assume no GA4 session means no influence, or judge whether they are being cited using traffic numbers alone.
Why some AI clicks show up as Direct, or not at all
Set the right expectation with yourself and your team, and you will never panic when the numbers look smaller than the buzz.
A meaningful share of real AI-driven visits never carries a referrer. Someone copies a link from an answer and pastes it into a fresh tab. A mobile or desktop AI app opens the link without passing a browser referrer. A no-referrer policy, a privacy setting, a consent choice, or a redirect strips the acquisition data on the way in. When that happens, GA4 often files the visit under Direct or leaves the source unset.
So treat referrer-present traffic as the visible, directly attributable slice, treat some no-referrer traffic as mixed into Direct, and remember that no-click influence is not traffic at all. You can investigate a labeled hypothesis using landing-page and behavior patterns, but resist the urge to sweep all your Direct traffic into an AI channel. New-user status and high engagement can support a hunch. They cannot prove a source.
Two more limits worth naming out loud. Google AI Overviews and AI Mode are Google Search surfaces, so their clicks tend to stay bundled with Google organic and will not split out cleanly with a ChatGPT or Perplexity referral regex. And GA4 already excludes known bots, so the AI crawlers that fetch your pages to build answers are not the human clicks you are counting here. Both facts are features, not failures, once you know them.
The steady truth underneath all of it: AI referral volume is growing fast and can be commercially real, but the measurable portion varies by platform, device, referrer policy, consent, and your own setup. One third-party estimate put AI-platform referral visits to the top 1,000 sites worldwide at more than 1.13 billion in June 2025, up 357% year over year. Report the slice you can see with confidence, and name the rest as a known gap.
What to do next
You do not need a perfect system this week. You need the first honest report. Set up the Session source/medium view today, add the custom AI channel group when you have an hour, and check your GA4 AI traffic report weekly. Momentum matters more than precision here.
When you are ready to see the other half, the answers themselves, and not just the clicks they send, DeepSmith tracks your AI search visibility and turns the gaps into on-brand content in the same platform. You can start a free trial and see real data before you pay.



