AISEO.la Book an audit call
Measurement

Tracking AI referrals and citations: what you can (and can’t) measure

How to measure AI search visibility honestly: AI referral channels in GA4, repeated prompt logging for citations, server-log signals, and the blind spots.

By AISEO.la··5 min read
Analytics dashboard showing referral sessions from AI assistants

TL;DR

  • You have three partial signals: referral clicks in analytics, citations you log by prompting assistants yourself, and assistant fetches in your server logs.
  • Group referrals from chatgpt.com, perplexity.ai and similar sources into their own channel. Some ChatGPT links carry utm_source=chatgpt.com.
  • Citation tracking means sampling: a fixed prompt set, run repeatedly, with every answer logged. Single runs are anecdotes.
  • Some things aren’t measurable today, including answer impressions, unlinked mentions and training influence. Say so in your reports.

Three signals, three different questions

There’s no AI Search Console that covers every assistant. What exists is a handful of partial views, and each one answers a different question:

  • Referrals (analytics): did people click through from an assistant to your site, and what did they do next?
  • Citations and mentions (your own prompt logs): when people ask relevant questions, do assistants cite or name you, and how do they describe you?
  • Assistant fetches (server logs): are assistants retrieving your pages when users ask questions?

Report them side by side and never add them up. They measure different things with different blind spots.

Step 1: Give AI referrals their own channel

By default, GA4 mixes assistant traffic into Referral, and some of it lands in Direct. Pull it out so you can trend it. Here’s how:

  1. In GA4, go to Admin, then Data display, then Channel groups, and copy the default channel group.
  2. Add a channel called “AI assistants” with the condition Session source matches regex, using a pattern like the one below.
  3. Move the new channel above Referral. Channels are evaluated in order, so a session that matches Referral first will never reach your AI channel.
  4. Use the new group in your acquisition reports and in Explorations, then break it down by landing page and key events.
.*(chatgpt\.com|chat\.openai\.com|perplexity\.ai|gemini\.google\.com|copilot\.microsoft\.com|claude\.ai).*

The leading and trailing .* make the pattern behave the same whether the matching is full or partial. Review the source list every quarter. New assistants appear, and domains change, as ChatGPT’s move from chat.openai.com to chatgpt.com showed.

Some links in ChatGPT answers include utm_source=chatgpt.com. That means GA4 attributes those sessions to chatgpt.com even when no referrer is passed. Check how they land in your property, because the medium can differ from referrer-based sessions. If your site strips or rewrites query parameters on redirect, fix that first, or you’ll lose the tag.

Practical tip: look at landing pages for the AI channel before you look at volume. They show you which pages assistants actually send people to, and that’s often not the pages you’d expect.

Step 2: Know where referrals go missing

Referral counts understate AI-driven visits, and you can’t tell by how much. Known gaps:

  • Missing referrers. Desktop and mobile apps, privacy settings and some link handling may not pass a referrer. Those visits show up as Direct unless a UTM tag survives.
  • Copy and paste. A user who reads an answer and then types your brand into Google appears as organic or direct traffic.
  • Google’s AI features. Clicks from AI Overviews arrive as Google organic traffic. In Search Console, Google has said AI features are counted within overall Search performance, and there’s no dedicated filter for them at the time of writing.
  • Zero-click answers. Often the assistant answers the question fully and nobody clicks at all.

Treat the AI channel as a floor, not a total.

Step 3: Log citations with repeated prompting

To see whether you’re cited, you have to ask. Answers vary by run, mode, account state, location and model version, so the method matters more than any single result.

  1. Write a fixed prompt set of 20 to 50 prompts that match real buyer questions: category queries, comparisons, “best X in Los Angeles” and brand queries. Freeze the wording.
  2. Define the environment. Choose your assistants and modes (search on or off), and use logged-out or clean accounts where possible. Record location and date.
  3. Run each prompt several times per session, because responses aren’t deterministic. Repeat the whole set on a schedule, such as every two weeks.
  4. Log every answer in a structured sheet rather than relying on screenshots.
  5. Report rates over time, such as the share of runs where you’re cited for a prompt cluster, alongside the sample size. Avoid single-run claims.
date,assistant,mode,prompt_id,run,brand_mentioned,brand_cited,cited_urls,competitors_cited,factual_errors,notes

The factual_errors column ties into entity work. If an assistant keeps getting your founding year or location wrong, the entity SEO playbook explains how to trace the source. Commercial tracking tools automate this kind of sampling. When you evaluate one, ask how many runs, which modes and which locations sit behind each number.

Step 4: Read assistant fetches in server logs

Your access logs record requests your analytics tag never sees, because most AI agents don’t run JavaScript. Two kinds of hits are useful:

  • User-initiated fetches from ChatGPT-User, Claude-User and Perplexity-User. Each one suggests an assistant retrieved that URL while handling someone’s request. Trend them by page.
  • Search crawlers such as OAI-SearchBot, Claude-SearchBot and PerplexityBot. Regular crawling suggests your pages are eligible for those assistants’ indexes. If they’re absent, check your robots.txt and firewall against the AI crawlers playbook.

Caveats: a fetch doesn’t mean the page was cited, assistants may answer from an index without fetching, and user-agent strings can be spoofed. Verify against published IP ranges where vendors provide them.

What you can’t measure (yet)

  • Answer impressions. There’s no cross-assistant equivalent of search impressions. You don’t know how often you appeared in answers you didn’t sample.
  • Unlinked mentions. Being named without a link drives awareness that no click log captures.
  • Training influence. You can’t see whether, or how much, your content shaped a model’s built-in knowledge.
  • Precise share of voice. Any single “AI visibility score” depends on its prompt set and sampling method. Read the methodology before you trust the number.

This landscape is changing. Vendors may add reporting, and referrer behavior can shift with an app update. Re-check your assumptions whenever a number moves sharply.

Put it in one monthly view

A useful report has four parts: AI channel sessions and conversions, citation rates by prompt cluster with sample sizes, assistant fetches by page, and a short list of known gaps. Pair it with the content fixes in structuring content so LLMs can quote it, so each report leads to something your team can act on.

If you’d like help setting up the channel group, prompt protocol and log pipeline, or training your team to run it, see our services and book an audit call.

AISEO.la
We test how AI assistants find, read and cite the web, and publish what holds up. About us

next step

Bring us a question. We’ll bring the lab.

On a short call we look at how assistants describe your brand today, together, and tell you what we’d test first. No promised rankings, no pitch deck.