How Tracking Works

Two independent data streams combine to show you the full AI visibility picture.

Visibility Kit captures AI activity from two angles. Each stream answers a different question, and neither one alone tells the whole story.

Stream 1. Real referral sessions

A lightweight script (vk-core.js) loads on your site's frontend. When a visitor arrives from an AI chat interface, the browser sends the referrer header (something like chatgpt.com, claude.ai, gemini.google.com, or perplexity.ai). The script classifies the referrer into an AI source and logs a session.

  • Captured by: client-side JavaScript.
  • What it sees: real humans arriving at your site after an AI interaction.
  • Analog: organic search traffic, but from AI instead of Google.
  • Reference: AI referrers.

Stream 2. AI bot detection

On every page load, the server inspects the incoming request's user-agent against about twenty known AI bot patterns. Matches are logged and categorized by what the bot is actually doing. Indexing, fetching on behalf of a user, or scraping for training.

  • Captured by: server-side PHP (the Visibility Kit plugin).
  • What it sees: AI platforms paying attention to your site.
  • Analog: Googlebot crawl activity, but for AI.
  • Reference: AI bots.

Why both streams matter

Bot hits and referral sessions tell you different things:

  • Only bot hits, no referrals. AI platforms know about you but haven't cited you yet, or they cite you without linking out.
  • Only referrals, no bot hits. You're behind a cache that bots hit but never reaches your server. See Cloudflare integration to close the gap.
  • Both, in proportion. The AI layer is working for you. Platforms are indexing, retrieving, and sending clicks.

Optional. Cloudflare Analytics

If your site is fronted by Cloudflare, Visibility Kit can pull bot hits from Cloudflare's edge even when those requests never reach WordPress. Opt-in per site with a Cloudflare API token. See Cloudflare integration.