The instrument

Pulse — see which AI systems read your site, the moment they do.

AI crawlers and answer-time agents read your pages constantly, and none of it shows up in your analytics. Pulse is a beacon that records each visit as it happens — what came, what it requested, and whether it was on the live citation path or ingesting for training.

Why install Pulse

Your analytics see humans. They are blind to the AI systems deciding how — and whether — you appear in answers. Pulse is the first-party record of the machines that visit.

Pulse
Visited
you start here

An AI agent reached your page. The only first-party proof — your logs don’t separate it out.

Benchmark
Mentioned

A model named your brand in an answer. Common — most brands are mentioned.

Benchmark
Cited

A model used your domain as a source. Scarce — few brands earn it.

In our 45-domain study, AI models mentioned most brands but cited only a few. Both depend on one thing first — the model actually reaching your pages. Pulse is the only first-party record of whether, and which, AI systems do: the ground floor the rest is built on, split into answer-time fetchers and training crawlers. See the finding →

Questions Pulse answers

The things you can't answer today — because the traffic is invisible.

?Why does Claude never visit my site?
?Which pages do AI systems read most?
?Did GPTBot stop crawling me?
?Are AI visits rising or falling?
?Which agents are answer-time vs training?
?Am I actually being cited — or just mentioned?

Two ways to install

Same dashboard, same live feed. The difference is how much of the AI traffic each one can physically see.

◉ Pulse Lite
Pulse Lite

One line of HTML before </body>. Works on any site in about 30 seconds. It runs when a page is rendered — so it catches the answer-time agents that browse like a person (ChatGPT browsing, Perplexity, Claude-Web).

It cannot see crawlers that never run JavaScript. That is not a setting — it is physics. For those, use Pulse.

● Pulse
Pulse complete

The Lite snippet plus a server-side hook (a Cloudflare Worker today) that watches every request before your page is served. That is the only place a training crawler like GPTBot, ClaudeBot or CCBot can be seen — they fetch raw HTML and never execute scripts.

The complete picture: answer-time agents and training crawlers, in one feed.

What each one can see

We would rather you know the limit before you install than discover it in your dashboard.

CapabilityPulse LitePulse
Answer-time agents
ChatGPT browsing, Perplexity-User, Claude-Web, Googlebot — they render the page like a browser.
Training crawlers
GPTBot, ClaudeBot, CCBot, Google-Extended, Bytespider — they fetch raw HTML and never run JavaScript.
invisible to a browser snippet
Real-time activity feed
Every AI hit as it happens, with user-agent and the path requested.
Answer-time vs training split
Separates agents on the live citation path from offline ingestion.
answer-time side only
Install effort
Time from copy to first recorded hit.
one line, ~30 secone line + server hook
Where it runs
What your stack needs to support it.
any site, anywhereCloudflare today; more stacks rolling out
Why the gap exists

A browser snippet only runs after a page is rendered. Training crawlers — GPTBot, ClaudeBot, CCBot and the rest — request your raw HTML and leave; they never render, so no client-side beacon can ever fire for them. The only vantage point that sees them is the server, before the response goes out. That is the entire reason Pulse adds a server hook, and why we do not pretend Lite is the full instrument.

Start with Lite. Upgrade when you want the full feed.

Both install from the same page and report into the same dashboard. Add the server hook whenever you are ready.