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. Match sources against this list and keep them: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. -
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. - 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.