# Measuring AI traffic

> What to set up so visits from ChatGPT and other assistants show up in your own analytics — and the two kinds of AI visit nobody can count.

Source: https://eoma.ai/docs/start-here/measuring-ai-traffic
Product: EOMA — AI search visibility for brands (https://eoma.ai)
Last updated: 2026-08-16

---
## In 10 seconds

- Some AI visits leave a trace in your analytics and some leave none, so the number you can count is a **floor** — the real figure is higher, always.
- There are four things to set up. One takes a click, one takes two toggles, one depends on where your website is hosted, and one is a question on your contact form.
- Very few AI mentions turn into clicks. A small number is the normal state of this channel, not a sign the work failed.

## The short version

An AI assistant can talk about your business in four different ways, and only the last one is countable.

It can **describe you with no link at all** — the person reads the answer and never leaves the chat. It can **show a link nobody clicks**. It can **send someone to your site in a way that hides where they came from**. Or it can send someone in a way that says plainly: this visit came from ChatGPT.

Your analytics only ever sees that fourth case. Everything before it happened out of sight.

What makes the fourth case work is a small note the browser passes along, called the **referrer** — "the person was on chatgpt.com before landing here". ChatGPT also tags its links with a marker of its own (`utm_source=chatgpt.com`), which is useful because that marker survives even when the referrer note is missing.

EOMA reads your Google Analytics live and checks each traffic source against its own list of AI assistants. Where one matches, the source gets an **AI** badge on **Where Visitors Came From**, and the panel adds a line above the list: *"41 sessions came from AI assistants"*. Sources with no referrer at all are grouped as **Direct / no referrer** — and some unknown share of that group is AI traffic that arrived without its note.

## How it works

1. **Someone asks a question.** The assistant fetches your page to read it. This visit is a robot, not a person, so it never appears in analytics — it appears only in your website's server records.
2. **The assistant answers,** sometimes naming you, sometimes with a link, sometimes with neither.
3. **If the person clicks,** their browser usually passes the referrer note, and Google Analytics records the source as `chatgpt.com`, `perplexity.ai`, and so on.
4. **If they clicked inside a phone app,** the note is dropped before it reaches you. This is how iPhone and Android open links inside apps; no setting on your side changes it. That visit lands in **Direct / no referrer** instead.
5. **EOMA labels what arrived** each time you open the screen. Nothing is imported overnight — the figures are Google's own, read at that moment.

The four things worth setting up, in the order they pay off:

| | What | Effort |
|---|---|---|
| 1 | **Connect Google Analytics** to EOMA — see [Google Analytics 4](/docs/integrations/google-analytics) | one sign-in |
| 2 | In Google Analytics, open Admin → Data Settings and turn **Google Signals off**, or set Reporting Identity to **Device-based** | two toggles |
| 3 | If your site can sit behind Cloudflare, put it there — the free plan includes a report of which AI robots read which pages | a DNS change |
| 4 | Add a **"How did you hear about us?"** box to your contact or quote form — free text, not a dropdown | five minutes |

Step 2 is the one people skip and the one that costs most. Google hides any row in a report covering fewer than about fifty people, to keep individuals from being identifiable. If fifteen people arrived from ChatGPT last month, that row is not shown as fifteen — it is not shown at all, and the screen reads zero. Those two toggles are what stop a real number from being reported as nothing.

Step 3 is the only way to see the robot half of the story — the assistants reading your pages, which happens far more often than anyone clicks. If your site runs on Shopify, Wix or Squarespace, this step is not available to you; those platforms do not expose their records to anyone, including us.

Step 4 catches what no software can. Someone reads about you in the ChatGPT app, types your name into their browser the next morning, and fills in your form. There is no trace to follow. Asking them is the only method that works, and a free-text box beats a dropdown because people write "chatgpt" in words you would never have thought to list.

## What this means for you

**Treat the number as a floor and say so out loud.** "At least 40 visits came from AI assistants last month" is a sentence you can defend. "40 visits came from AI" is not, because the app clicks and the copy-paste visits are missing from it and always will be.

**Do not read a low click count as failure.** Assistants read pages constantly and cite a fraction of what they read; of the pages they cite, only a fraction get clicked. A business can be recommended regularly and see a handful of visits. That is the shape of this channel today.

**Keep some pages untouched.** If every page changes at once, and AI traffic then rises, you cannot tell your work apart from the whole market growing — and it is growing quickly on its own. Leaving a set of pages alone gives you something to compare against, and it has to be decided before the work starts, not after.

**Two toggles are worth more than any tool.** Step 2 takes a minute and decides whether the rest of this is visible at all.

## Common misunderstandings

| People assume | Actually |
|---|---|
| "Nothing shows in analytics, so AI is not recommending me." | Most mentions never become clicks, and a share of the clicks arrive with no trace. Absence of traffic is not absence of recommendation. |
| "The number in EOMA is the total." | It is the part that can be proven. The untraceable part is real and uncounted. |
| "Google's AI answers should show up as AI traffic." | Google files clicks from its AI answers as ordinary search, and gives nobody a way to separate them. Those visits sit in your organic search figures. |
| "Adding a tracking script to my site would fix it." | A script reads the same missing note. Where the referrer was dropped before the visit arrived, there is nothing on the page for any script to find. |
| "Zero means zero." | Google hides small rows. Until step 2 is done, zero can mean "too few people to display". |

## Related

- [Google Analytics 4](/docs/integrations/google-analytics) — the connection steps 1 and 2 depend on
- [Web analytics](/docs/pages/web-analytics) — where the AI badge and the sessions line appear
- [What EOMA does, and what you do](/docs/start-here/what-eoma-does-and-what-you-do) — the split this page is an instance of
