# How to measure AI referral traffic in GA4

This guide helps you verify visits that may arrive after someone clicks a link in an AI answer. It measures observable human visits, not crawler activity and not whether an AI system cited your page.

## What you need

- A website you control.
- GA4 already installed, or server/application logs that record the first request.
- A test page and a separate test campaign that you will exclude from production reporting.

## 1. Create a controlled test

Use a URL such as:

    https://your-site.example/pricing?utm_source=chatgpt.com&utm_medium=referral&utm_campaign=ai-referral-test

Open it in a new browser session and check the first request. The address bar is not proof that GA4 received the values. Do not put names, emails, order IDs or secrets in UTM parameters.

## 2. Check GA4

Start with **Reports → Realtime** to see whether the test visit arrived. Then use **Reports → Acquisition → Traffic acquisition** and inspect the actual session source / medium and campaign values.

GA4's default channel group includes **AI assistants**, with examples such as ChatGPT, Gemini, DeepSeek, Copilot and Grok. This channel does not represent Google AI Overviews or AI Mode. Use the values your property actually receives; do not assume every AI click adds UTM parameters or preserves a Referer header.

Normal reports can be delayed. Consent settings, browser privacy controls and referrer policies can remove signals. A missing signal means the source was not observable in that request, not that AI definitely did not send the visitor.

Official documentation: https://support.google.com/analytics/answer/9756891?hl=en

## 3. Preserve a small evidence record

Record only what you need:

| Field | Example | Why |
| --- | --- | --- |
| source | chatgpt.com | observed UTM or normalized host |
| medium | referral | channel context |
| campaign | ai-referral-test | exclude controlled tests |
| landing_path | /pricing | page that received the visit |
| evidence | utm / referer | what was actually observed |
| observed_at | 2026-10-11T12:00:00Z | time window |
| converted | true / false | an event you define |

Prefer a normalized referrer host over storing the full URL. Set a retention period and follow your consent notice and privacy policy.

## 4. Interpret the result

You may say: “We observed visits carrying utm_source=chatgpt.com,” or “We observed a Referer host of chatgpt.com.” You may not say that a hand-opened test proves ChatGPT recommended the site, or that one visit proves business growth.

## Next step

Use MadeInRed's [AI referral tutorial](https://madeinred.com/monitor) for request-header examples and a test-link generator. Use [AI Search Audit](https://madeinred.com/) separately for technical crawl and citation readiness. They answer different questions.
