How do I track ChatGPT and Perplexity referral traffic in GA4?
In GA4, open Reports, then Acquisition, then Traffic acquisition, and change the table dimension to Session source / medium. Search for chatgpt and perplexity separately, or filter Session source with a regex that matches the relevant domains. This reveals attributed website sessions, not every brand mention or citation inside an AI answer.
Confirm the property and reporting window
Use the GA4 property connected to the website you are evaluating. Confirm the measurement tag loads and the date range covers the activity you want to inspect. Use the same property time zone and comparable date windows when preparing recurring reports.
The Traffic acquisition report describes acquisition at the session level. User acquisition answers a different question about where users were first acquired. Choose session dimensions when you want to understand the source of visits during a reporting period.
If the report is missing from navigation, its availability may depend on the published report collection and your access. Ask an existing property editor to expose the relevant report, or use an available exploration. A missing menu item does not prove that no traffic was collected.
Find the source rows in the standard report
- Open Reports → Acquisition → Traffic acquisition. Depending on the property’s report collection, Acquisition may appear inside a business objective group.
- Set the date range, such as the last 28 complete days. Note that reporting can take time to process; avoid interpreting an incomplete day as a drop.
- In the table’s primary dimension dropdown, select Session source / medium instead of the default channel group.
- Use the search box above the table to search chatgpt. Record the exact source and medium values that appear.
- Clear the search and repeat with perplexity. Check both perplexity.ai and perplexity.com if present in your data.
- Inspect sessions, engaged sessions, and your relevant key events. Export the rows with the selected date range and dimension so another person can reproduce the report.
This quick search is useful for discovery. Review unexpected names before grouping them, because a text search can match a source you did not intend to include.
Apply one explicit source filter for both platforms
For a more reproducible view, add a report filter or comparison on Session source. Select a regular expression match when that operator is available. Use the following pattern, then confirm the included rows before saving the view:
(?i)^(?:[a-z0-9-]+\.)*(?:chatgpt\.com|chat\.openai\.com|perplexity\.ai|perplexity\.com)$
The anchors limit matching to those domain names and their subdomains. The expression includes the older chat.openai.com source as well as the current named domains. It deliberately does not match an unrelated source such as chatgpt.example.org.
If your report editor offers value selection instead of regex, choose the exact values observed in your property and combine them with OR. In an exploration, add Session source as a dimension and use a matching filter there. See Google’s documentation for reporting on data subsets and regular expressions.
Do not initially require Session medium to equal referral. A manually tagged destination can produce a different medium. Inspect medium values after selecting the source, then decide whether a narrower definition fits your reporting question.
Find the pages and outcomes behind the visits
In an exploration, put Session source / medium in rows and add Landing page + query string as a second dimension when available. Add Sessions, Engaged sessions, and the key-event metrics relevant to your site. Filter to the same source set and date range as your standard report.
This view can show whether AI-attributed visits reached a product page, a comparison article, or a support page. It also helps identify unexpected query parameters or an intermediate redirect that should be investigated. Keep any personally identifying data out of page URLs and exports.
A source value tells you how Analytics attributed a session. It does not establish which sentence or answer caused the visit. To assess that separately, preserve the source answer when you have it and compare its linked URL with the landing page.
Interpret missing and unattributed traffic carefully
Referrer information and campaign parameters can be lost between an app, browser, redirect, and destination. Consent settings, blocked measurement requests, cross-device behavior, and untagged links can also limit what is observed. A zero row means no matching attributed sessions appeared in that view; it does not prove that nobody saw the brand.
If a destination link contains a campaign parameter such as utm_source=chatgpt.com, check that your redirects preserve it. Do not assume every platform link always has that parameter. Test an actual public link and inspect the resulting destination and analytics event using your existing debugging tools.
Do not relabel all direct traffic as AI traffic. Direct is not a reliable substitute for a missing referrer. Also avoid claiming a sale from a page visit: a purchase needs its own correctly implemented event and transaction record.
Compare traffic with visibility observations
| Evidence | What it supports |
|---|---|
| A saved AI answer mentions the brand | Presence in that observed answer |
| The answer links to your website | A citation in that observed answer |
| A matching GA4 session | An attributed website visit |
| A validated key event or purchase | The measured website action |
Keep these measures side by side. Use the mention monitoring method for answer evidence and GA4 for visits. Their denominators differ, so dividing all GA4 visits by a small manually sampled citation count would not produce a meaningful overall click-through rate.
Frequently asked questions
Why can I see citations but no GA4 sessions?
Users may not click, and a click may not retain enough attribution or measurement data to appear in the selected view. A citation and a tracked visit are different events.
Should I filter only the Referral channel?
Start with Session source. Source and medium can be affected by campaign tags and attribution rules, so a channel-only filter can exclude relevant rows.
Can I identify an individual ChatGPT conversation in GA4?
The source label alone does not identify a conversation. This guide uses aggregate website acquisition data and does not claim access to private AI conversations.
Official sources
Continue with a practical check
Create a free llms.txt draft or read the AI Visibility Check method and availability.