Features · Measure

AI traffic analytics — see the visitors GA4 files as direct

Roughly seven in ten visits that arrive from an AI assistant land in Google Analytics' "direct" bucket, because Gemini, Perplexity and Copilot mostly send no campaign tag. Vitrus classifies them from the referrer host instead, and keeps AI crawlers strictly apart from the humans they send you.

AI is a channel, not a footnote

ChatGPT, Claude, Perplexity, Gemini, Copilot, Grok, DeepSeek, Kagi and more are matched by host, so a visit counts as AI even when there is no utm_source at all.

Crawlers and humans never mix

GPTBot fetching your page is not a visitor. Crawler reads are labelled and stored, never summed into your visitor count — and never silently discarded either, because "which of my pages is ChatGPT reading" is the only real feedback loop for GEO work.

Which pages get cited, and whether it pays

Crawler reads per page sit next to AI referral sessions per landing page. The gap between what gets read and what gets clicked is the whole of your AI visibility strategy.

A versioned rule table, not a guess

Classification is a deterministic table with a version stamp, measured by a golden-set eval that has to stay at 100% for CI to go green. New assistant appears, table version changes, and every row records which version labelled it.

The evidence

Metric ai.sessions — the query behind the number

SELECT COUNT(DISTINCT session_id) AS value
  FROM events
 WHERE site_id = ? AND ts >= ? AND ts < ?
   AND bot_kind = '' AND channel = 'ai'

bot_kind = '' is what keeps crawlers out. Click any number in the dashboard and this is what you get, with the parameters that ran.

Documentation

More in measure

← All features