Skip to content
Concepts

AI visibility

AI visibility is two signals, not one. Kymo measures both and keeps them separate, because they answer different questions.

Crawlers: is AI reading you?

Crawlers fetch your pages. Kymo classifies each by user-agent into three categories — live AI-answer fetches, indexing, and training — detailed in The bot taxonomy. This tells you which systems are ingesting your content and which pages they care about.

The key distinction is between a bulk index sweep and a live per-question fetch:

  • A search-index crawler like OAI-SearchBot or PerplexityBot sweeps hundreds of pages to build an index. High volume, broad, not tied to any one question.
  • A live agent like ChatGPT-User or Claude-User fetches a page because a specific person just asked something it needed your page to answer. Low volume, sharp, genuinely interesting.

Kymo separates these so a sweep cannot masquerade as demand.

What the AI Traffic page counts

The reads on the AI Traffic page count answer crawls only. Indexing and training crawls are excluded from every read number on it. The people numbers on the page come from visitors, not from crawls, so no crawl of any kind feeds them.

An answer crawl is a fetch made while a person is waiting. Someone asked an assistant a question, the assistant needed your page to answer it, and it fetched the page there and then. ChatGPT-User, Claude-User and Perplexity-User work this way. The other two categories do not: an indexing crawl builds a search index ahead of any question, and a training crawl collects text for a future model. Both are bulk work, and neither has a person attached to it.

That is the reason for the exclusion. An answer crawl is the only kind made for one person's question. Counting training fetches would inflate the read number and break its relationship to the visitor number beside it. A page read 400 times by a training crawler and visited by nobody has nothing wrong with it, but on a page that mixed the categories it would read as your worst failure. Kept apart, the two numbers on the AI Traffic page compare: reads are the chances, people are the ones that landed.

The people count does not depend on any crawl. An assistant can also answer from its own search index, which an indexing crawler built days earlier. A person who clicks that answer still counts, because Kymo finds them by the referrer or the utm_source of their visit.

The Crawlers page still shows all three categories. That is the raw log, and it answers a different question: which machines read your site at all.

One exception is marked on the page itself. The reads-over-time chart plots all three categories as separate lines, because seeing indexing and training volume beside answer volume is useful context. Only the chart does this. Every read number, verdict and table row on the page counts answer crawls alone.

AI-referred humans: is AI sending you anyone?

The second signal is a person who read an AI answer, saw you cited, and clicked through. This is a normal human pageview whose referrer is an AI assistant — chatgpt.com, gemini.google.com, perplexity.ai, claude.ai, copilot.microsoft.com and a few others — or whose utm_source names one, such as utm_source=chatgpt.com, which ChatGPT adds to its own links.

The AI Traffic page counts these people by assistant and shows the page each one landed on. A person is counted once per day, because the visitor ID rotates at midnight UTC: someone who comes back on three different days counts three times in a 7-day view.

This is the payoff signal. A crawler reading you is potential; a human arriving from an AI answer is a citation that actually moved someone.

How they connect

When a live agent fetches a page and, shortly after, a human clicks through from that same AI platform to that same page, Kymo can confirm the link between the two. It is a subset of the people AI sent you, and the page shows it as a detail under the people number.

Most AI visitors match no read in the minutes before they arrive, and that is normal. An assistant often answers from what it read days or weeks earlier, or from its own search index. On one site we measured, people sent by ChatGPT arrived a median of 10 days after OpenAI's last read of their page.

So the link Kymo shows is per page, over time. A line on the AI Traffic page compares the pages AI read in the period before with the pages it did not, by how often each got an AI visitor in this period. See Reading the AI Traffic page.

Conversions from AI-referred visitors

A goal completion counts as AI-attributed when the visitor's first visit to your site came from an AI answer, that first visit was within 90 days of the completion, and the completion falls inside the range you are looking at.

First touch, not last touch. AI is a discovery channel. It brings someone to your site, and they convert later by whatever route they happen to take that day: a bookmark, a search for your brand name, a link a colleague sent them. Last-touch attribution would hand the credit to whatever they typed on the day they converted, and AI would look like it never worked. Once AI brought someone in, Kymo keeps the credit with AI however they come back.

Two things follow from that, and both are intended:

  • The completion is in your range. The first visit need not be. Someone whose first AI visit was 60 days ago and who converted yesterday counts in a 7-day view. So the visitor count and the conversion count on the page can describe different people.
  • Conversions are keyed to the page AI first sent them to, not the page they converted on. A page can show conversions in a week when it got no AI reads at all. That is the page doing its job: it brought the person in, and the conversion is its result.

The 90-day figure is a cap on the gap between the first visit and the completion. It is not a cap on how far back you can report.

The number is a floor, not a total

First touch is stored in one first-party key in the browser's own storage, on your domain. It holds a traffic source and never an identity. That storage is what makes the attribution possible, and it is also the limit:

  • Someone who clears their browser data loses their first touch.
  • Someone who first arrived on their phone and converted on their laptop looks like two different people, and the laptop has no first touch.
  • Private browsing stores nothing at all.
  • Any visit from before you installed Kymo has no first touch to read.

A completion with no first touch is not counted as AI. It is not counted against AI either; it simply falls out of the measurement. So the conversion number on the AI Traffic page is the share we can prove, and the real figure is higher by some amount nobody can measure. Read it as a floor.

Prompt inference

For live AI-answer fetches, Kymo infers the likely prompts that led an assistant to your page, from the page type and the pattern of fetches. These are always presented as inferences — phrased as "likely," prefixed "e.g." — never as verbatim user queries, which Kymo does not have. Read them as informed guesses about intent, not transcripts.

See Reading the AI Traffic page for how this surfaces in the dashboard.