Blog
guidemcp

How to Measure Traffic From ChatGPT, Perplexity and Claude With an AI Agent

Musthaq Ahamad
Musthaq Ahamad
(updated)

To measure traffic from ChatGPT, Perplexity, Claude and Gemini, pull GA4 sessions by source and medium over 90 days and keep two sets: sessions where the medium is ai-assistant, which GA4 has assigned automatically to recognised assistant referrers since May 2026, and sessions whose source matches chatgpt.com, chat.openai.com, perplexity.ai, claude.ai, gemini.google.com, copilot.microsoft.com and the smaller assistants, which covers older data and anything Google has not yet classified. Aggregate the trend to weeks, pull the landing pages those sessions arrive on with engagement rate and conversions, and compare the totals with Google organic so the size stays in context. Then cross-reference the cited pages with Search Console: pages assistants cite that rank weakly in Google are a distinct opportunity. Finally, check robots.txt for the answer crawlers that produce the citations, because the first explanation for an assistant sending nothing is a block. An AI agent with GA4 and Search Console connections runs all of it in one pass.

TL;DR

QuestionAnswer
Where the data isGA4 session source and medium, plus Search Console for the cross-reference
The new shortcutGA4's ai-assistant medium and AI Assistant channel group, since May 2026
The old method, still neededA regex on session source for older data and unrecognised assistants
What the number isA floor. Stripped referrers and zero-click answers are invisible
What is invisibleGoogle AI Overviews, which arrive as google / organic
Playbooksai-referral-traffic, ai-crawler-access-check

AI assistants are a small but fast-growing referral channel that most analytics setups lumped into "referral" and never looked at. The visitors tend to arrive with a specific question already half-answered, which makes them unusually valuable to understand.

Google made the first step easier this year. On 13 May 2026 Google Analytics added an AI Assistant default channel group that assigns the medium ai-assistant to sessions from recognised assistant referrers, naming ChatGPT, Gemini and Claude as examples. That solves classification for new data from the assistants Google recognises. It does not solve the trend before May, the assistants not on Google's list, or the question of which pages are being cited. This guide covers all of it, following Sequel's ai-referral-traffic playbook.

What AI referral traffic is

AI referral traffic is the set of sessions that start when someone clicks a link inside an AI assistant's answer. The assistant cited your page; the visitor followed the citation. It is the only part of AI search visibility that shows up in your analytics, and it undercounts by design.

Step 1: find the AI sources

google_analytics.run_report with dimensions: ["sessionSource", "sessionMedium"], metrics: ["sessions", "engagementRate", "conversions"] over 90 days, limit: 5000.

Keep rows where the medium is ai-assistant. Then, separately, match sources against this list and keep those too:

chatgpt.com, chat.openai.com, perplexity.ai, claude.ai, gemini.google.com, copilot.microsoft.com, you.com, poe.com, meta.ai, phind.com, kagi.com

ChatGPT often appends utm_source=chatgpt.com, so the same source can arrive with medium referral or a UTM medium. Keep both. The prompt:

How much traffic do we get from ChatGPT, Perplexity, Claude and Gemini, and is it growing?

Step 2: pull the trend

google_analytics.run_report with dimensions: ["date", "sessionSource"], metrics: ["sessions"], and a dimensionFilter on sessionSource with matchType: "FULL_REGEXP" and a value like:

.*(chatgpt|openai|perplexity|claude\.ai|gemini\.google|copilot\.microsoft).*

Aggregate to weeks. A channel with 40 sessions a week doubles and halves on daily noise. Weekly is the smallest unit that means anything.

Step 3: pull the landing pages

Same filter with dimensions: ["landingPage", "sessionSource"], metrics: ["sessions", "engagementRate", "conversions"]. These are the pages the assistants are citing. This list is the finding most teams have never seen.

Step 4: compare with Google organic

Run the landing-page report again with dimensionFilter on sessionMedium equal to organic. Compare total sessions, engagement rate and conversion rate, and report AI referrals as a share of organic sessions.

MetricAI assistantsGoogle organicRead it as
SessionsSmallLargeSize. Report the share
Engagement rateOften higherBaselineIntent. Visitors arrive with a question
Conversion rateVariesBaselineThe only number leadership will ask about
Weekly trendGrowing from a low baseFlat or decliningDirection

Say which GA4 key events you counted as conversions. "Conversions" is whatever the property configured, and a report that does not name them is unverifiable.

Step 5: cross-reference with Search Console

google_search_console.query with dimensions: ["page"], 90 days ending three days ago, rowLimit: 500. Join to the AI landing pages on path.

Cited by assistantsRanks in GoogleWhat it means
YesStronglyProtect it. This page works everywhere
YesWeaklyContent that works for answer engines. It could work for search with the right targeting
NoStronglyGoogle likes it; assistants do not cite it. Check crawler access and structure

The middle row is the one worth a content plan. Our guide to joining Search Console and GA4 covers the path normalisation that makes this join work.

Step 6: check who can crawl you

If a major assistant sends nothing, a block is the first thing to rule out. The ai-crawler-access-check playbook reads robots.txt for two groups of agents and explains what each block does:

  • Answer crawlers, whose results cite the site: OAI-SearchBot, ChatGPT-User, Claude-SearchBot, Claude-User, PerplexityBot, Perplexity-User, Bingbot, Googlebot, DuckAssistBot.
  • Training crawlers, which send no traffic: GPTBot, ClaudeBot, anthropic-ai, Google-Extended, CCBot, Bytespider, Amazonbot, Applebot-Extended, meta-externalagent.

Blocking GPTBot keeps the site out of model training and has no effect on ChatGPT search. Blocking OAI-SearchBot removes it from ChatGPT's answers. Google-Extended controls Gemini training only; AI Overviews use Googlebot, and the only controls are nosnippet and max-snippet, which also affect the normal result. Most sites have never made this decision. The answer is whatever the robots.txt happened to say.

Gotchas

  • This undercounts. Referrers are often stripped, in-app browsers may send none, and an answer read without a click sends nothing at all. The number is a floor.
  • Google AI Overviews are invisible here. Clicks from them arrive as google / organic. Search Console does not separate them either.
  • Source strings drift. chat.openai.com became chatgpt.com. New assistants appear. Check the raw source list in step 1 for anything that looks like an assistant before trusting the regex or the channel group.
  • The edge can block what robots.txt allows. A CDN or WAF bot rule can return 403 to these agents with nothing in robots.txt. Test the top pages with a custom user agent if you can.
  • Blocking is not neutral. A site invisible to answer engines loses citations to competitors that allowed them. Present the trade-off rather than a default.

Running it with an agent

The first r/GoogleAnalytics threads about the new channel asked the obvious question: has anyone actually seen it yet, and a follow-up a month later shared what one property was seeing. The interesting questions come after the count: which pages, how engaged, and compared with what.

An agent with authenticated GA4 and Search Console access answers those in one session. Sequel supplies both connections over MCP, read-only, and the two playbooks so the measurement and the crawler audit follow the same procedure every month. Install both:

npm install -g @sequelsh/cli@latest
sequel install claude-code

Connect GA4 (the Claude Code guide and the ChatGPT guide cover the two common routes) and Search Console, then ask which assistants send traffic and which pages they cite. The agent reads ai-referral-traffic through sequel_read_skill, runs the reports, and returns the trend, the cited pages and the organic comparison. If an assistant is missing, it hands off to ai-crawler-access-check, and llms-txt-audit-and-draft gives the allowed crawlers a curated map. For the wider picture of why GA4 numbers mislead agents that query it without a plan, see why GA4 MCP tools return wrong numbers.

The channel is small. The pages it cites are not. Get started free and find out which ones they are.

Try Sequel

Build your company brain.

Sequel connects the systems your company runs on and learns how your team defines every metric, so any AI agent can answer from it. Free for up to 3 seats, no credit card required.

Get started free

Frequently asked questions

How do I see ChatGPT traffic in GA4?

Since May 2026 GA4 tags sessions from recognised AI assistants with the medium ai-assistant and groups them under an AI Assistant default channel. For older data, or assistants Google has not added, filter session source with a regex covering chatgpt, openai, perplexity, claude.ai, gemini.google and copilot.microsoft. Keep both methods, because ChatGPT often arrives with utm_source=chatgpt.com and a UTM medium.

Why is my AI referral traffic so low?

The number is a floor. Referrers are often stripped, in-app browsers may send none, and an answer that is read without a click sends nothing. Google AI Overviews are invisible entirely: clicks from them arrive as google / organic. Treat the trend as the signal, not the absolute count.

Which pages are AI assistants citing?

Run the GA4 landing page report filtered to AI sources. Those are the pages the assistants send people to. Cross-reference with Search Console: pages the assistants cite that rank weakly in Google are content that works for answer engines and could work for search with better targeting.

Does blocking GPTBot remove my site from ChatGPT?

No. GPTBot is OpenAI's training crawler. Blocking it keeps the site out of model training and has no effect on ChatGPT search, which uses OAI-SearchBot. Blocking OAI-SearchBot is what removes the site from ChatGPT's answers. The same split applies to Anthropic (ClaudeBot for training, Claude-SearchBot for answers) and Google (Google-Extended for Gemini training; AI Overviews use Googlebot).

Do AI assistants convert better than Google organic?

Often the engagement rate is higher, because the visitor arrives with a specific question half-answered. Whether that holds for your site is exactly what the comparison step measures. Report AI referrals as a share of organic sessions so the size stays in context, and remember that small channels swing on noise.

Can I track AI Overviews clicks?

Not separately. Clicks from Google AI Overviews arrive as google / organic in GA4 and Search Console does not split them out either. The only observable signature is impressions holding while CTR falls.

Can Claude or ChatGPT measure this for me?

Yes, with authenticated GA4 and Search Console connections. Sequel exposes both over MCP and ships an ai-referral-traffic playbook and an ai-crawler-access-check playbook, so the agent runs the measurement and the robots.txt audit in the same session.

Written by

Musthaq Ahamad
Musthaq Ahamad

Co-founder and CEO of Sequel. Previously built developer tools and data infrastructure. Passionate about making data accessible for everyone.