{
  "slug": "ai-referral-sessions",
  "name": "AI referral sessions",
  "aliases": [
    "Assistant referral sessions",
    "LLM referral sessions",
    "AI-sourced sessions"
  ],
  "definition": "Sessions that begin on your site after a visitor follows a link out of an AI assistant, the visit half of the AI story, as distinct from being cited inside an answer.",
  "category": "AI referral traffic",
  "type": "raw measure",
  "unit": "sessions",
  "direction": "higher-better",
  "verification": "review",
  "aggregation": "The underlying session measure is a distinct-count sketch, not a sum, so session rows must never be added across a breakdown to reach a total, the total is its own read. Whole-domain only; the analytics dataset does not accept a segment.",
  "grain": "One traffic-source value (or the whole-domain total) for one date range.",
  "dimensions": [
    "source/medium",
    "landing page",
    "country",
    "device",
    "keyword",
    "intent",
    "category"
  ],
  "requiredFilters": [
    "date range"
  ],
  "sources": [
    "web-analytics"
  ],
  "reports": [
    "ai-referral-traffic-report"
  ],
  "skills": [
    "search-to-revenue",
    "ai-citation-monitoring",
    "cross-domain-correlator"
  ],
  "verbs": [],
  "rungs": [
    "R5"
  ],
  "levers": [
    "L7"
  ],
  "questions": [
    "How much traffic do AI assistants send us?",
    "Is AI referral traffic growing?",
    "Which assistant sends the most visits?"
  ],
  "caveats": [
    "Nothing in the product classifies a traffic source as an AI assistant. The analytics feed carries a free-text source/medium string, no code or semantic-layer field interprets any value as an assistant, and the governed surface says explicitly that there is no AI or LLM channel bucket to ask for. The grouping is done by eye.",
    "The way it is done: enumerate the real traffic-source values, pick the assistant ones by hand, and request that exact set, the read is restricted to those values, and any requested value that matched nothing is echoed back rather than silently dropped. A saved segment or a handful of contains-matches in the app is the same manoeuvre.",
    "The web-analytics dataset is whole-domain only: no segment scoping, so an assistant figure cannot be narrowed to a tracked segment.",
    "Assistants that strip or rewrite the referrer never appear at all, so any figure produced this way is a floor and not a total.",
    "Assistant hostnames and medium strings change without notice; a source that falls to zero is a renaming until proven otherwise."
  ],
  "freshness": "loads nightly, a same-day question gets yesterday's number, labelled as yesterday's.",
  "failureModes": [
    "Reading a hand-picked set of source/medium rows as if it were a measured AI channel.",
    "Reading a requested source that returned no rows as proof it does not exist, when the read was narrowed by the period and the other filters.",
    "Taking a top-N breakdown as the full assistant list, when a named source can be requested explicitly.",
    "Comparing an AI referral session count against a Search Console click count as if they were the same quantity."
  ],
  "notSameAs": [
    {
      "slug": "ai-citation-count",
      "why": "Being cited is not being visited. A citation is an answer engine using your URL as a source of its answer, it is counted on the AI-visibility dataset at R3 Referenced, and it happens whether or not anyone clicks. A referral session is a person arriving on your site, counted in web analytics at R5 Rewarded. Most citations produce no session, and a session can arrive from an assistant that never cited you in the tracked prompt basket, so the two never reconcile and neither can stand in for the other."
    }
  ],
  "related": [
    "ai-referral-conversions",
    "ai-referral-conversion-rate",
    "ai-referral-session-change",
    "ai-referral-source-split",
    "sessions"
  ],
  "workflows": [],
  "lastVerified": "2026-08-04"
}