AI assistants are a small but fast-growing referral channel that most analytics setups lump into "referral" and never look at. The visitors tend to arrive with a specific question already half-answered, which makes them unusually valuable to understand. This playbook isolates them.
Steps
-
Find the AI sources.
google_analytics.run_reportwithdimensions: ["sessionSource", "sessionMedium"],metrics: ["sessions", "engagementRate", "conversions"]over 90 days,limit: 5000. Keep two sets. First, rows whose medium isai-assistant: since May 2026 GA4 assigns that medium (and the "AI Assistant" default channel group) to sessions from assistant referrers it recognises. Second, rows whose source matches this list, which covers data from before that change and assistants Google has not added: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 appendsutm_source=chatgpt.com, so the source may carry mediumreferralor a UTM medium; keep both. Deduplicate: a row is counted once even if it matches on medium and on source. -
Pull the trend.
google_analytics.run_reportwithdimensions: ["date", "sessionSource"],metrics: ["sessions"], and adimensionFilteronsessionSourcewithmatchType: "FULL_REGEXP"and a value like.*(chatgpt|openai|perplexity|claude\.ai|gemini\.google|copilot\.microsoft).*. Aggregate to weeks. -
Pull the landing pages. Same filter with
dimensions: ["landingPage", "sessionSource"],metrics: ["sessions", "engagementRate", "conversions"]. These are the pages the assistants are citing. -
Compare with Google organic. Run the landing-page report again with
dimensionFilteronsessionMediumEXACTorganic. Compare total sessions, engagement rate and conversion rate. Report AI referrals as a share of organic sessions so the size is in context. -
Cross-reference with Search Console.
google_search_console.querywithdimensions: ["page"], 90 days ending 3 days ago,rowLimit: 500. Pages the assistants cite that rank weakly in Google are a distinct finding: the content works for answer engines and could work for search with the right targeting. Pages strong in both are the ones to protect. -
Report. Sessions by assistant with the weekly trend, the top ten AI-cited landing pages with engagement and conversions, the comparison with Google organic, and the cross-reference findings. Continue with
ai-crawler-access-checkif a major assistant sends nothing, since a block is the first thing to rule out.
Gotchas
- This undercounts. Referrers are often stripped, in-app browsers may send none, and answers that are read without a click send 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.combecamechatgpt.com; new assistants appear. Check the raw source list in step 1 for anything that looks like an assistant before trusting the regex or theai-assistantmedium, which only covers the assistants Google recognises. - Small numbers swing. A channel with 40 sessions a week doubles and halves on noise. Report trends over weeks, not days.
- GA4 conversions are whatever key events are configured. Say which ones you counted.