The instrument

Citation Tracker

Every AI-visibility claim in this industry rests on a screenshot of a chatbot being polite. So I built the measuring device instead: a server-side logger that records every AI crawler and assistant request, per URL, separated into background crawling, training collection, search indexing, and fetches made while answering a real person. The last category is the one nobody reports — and it is roughly two orders of magnitude larger than the clicks.

In five days on one client site, ChatGPT fetched pages 813 times while composing live answers. Across six weeks, analytics recorded 26 visits from all AI platforms combined. Both numbers are correct. The gap between them is the channel almost every business is currently unable to see.
First sample

Five days of raw output.

AgentWhat it isRequests in 5 days
Meta external agentbackground crawl1,778
ChatGPTlive answer fetch813
Perplexityindex crawl704
Amazonbotbackground crawl490
OpenAI search crawlersearch index178
Claudeindex crawl122
GPTBottraining corpus118
Bytespiderbackground crawl68
Claudelive answer fetch49
Perplexitylive answer fetch19

Five days because that is exactly how long the counter survived its first run: it went up on July 18 and came down on July 23 during unrelated server maintenance. Reinstalled August 25 and collecting again. This is the complete first sample, not a flattering slice of something longer. One coincidence worth naming so it does not look like a recycled figure: an external prompt-sampling snapshot on August 18 also happened to read 813 for ChatGPT — that one counts cited answers in someone else's index over six weeks, this one counts server requests in my own log over five days. Two different instruments landed on the same number by chance.

How it works

Four decisions that make it a tool instead of a script.

01

Capture before the cache, or capture nothing

The logger runs server-side on every request, ahead of the page cache. This is the detail that quietly breaks most home-made versions: a full-page cache serves the second and third fetch of the same URL without ever reaching PHP, so a naive counter reports a fraction of the traffic and the owner concludes the channel is small.

02

Classify by what the agent is actually doing

Every known AI user agent is mapped to its purpose: background crawling, training corpus collection, search-index building, or a live fetch made while composing an answer for a person right now. Blending those four into one "AI traffic" number is how vendors produce impressive charts that mean nothing.

03

Store it per URL, with a timestamp

Which pages get pulled into answers, how often, and when. That is the feedback loop GEO work needs: after a page is rewritten to be extractable, the live-fetch count on that specific URL either moves or it does not, within days rather than at the next monthly report.

04

Join it to the attribution layer

On its own the tracker measures interest, not money. Paired with first-touch capture and the CRM join, a visit that arrived from an assistant becomes a job with an invoice amount. The tracker explains the volume; the attribution chain prices it.

What it cannot do, said out loud

  • A fetch is not a citation. The agent pulled the page; whether it ended up quoted in the answer is a separate question, answered by prompt-sampling tools.
  • It cannot tell you the prompt. Nobody can — assistants do not pass the question to your server.
  • It is not attribution on its own. Volume without the CRM join is still a vanity metric, just a more honest one.
  • User agents can be spoofed, and vendors rename them without notice. The mapping needs maintaining, which is part of why this is not a fire-and-forget script.

Every one of these is a reason the tracker ships alongside the attribution layer rather than as a standalone dashboard. An instrument that can only flatter you is not an instrument. How the attribution chain works →

FAQ

Questions about the tracker.

Server-side requests from AI crawlers and assistants, per URL, classified by purpose: background crawling, training corpus collection, search-index building, and live fetches made while an assistant composes an answer for a real person. The last category is the one no third-party tool reports and the one that matters, because it means your page was consulted in the middle of a real conversation.

Those tools run their own sample of prompts and report how often your brand appears in the answers. That is useful and I use it — but it is an external estimate of an external sample, and the tool's own index expands over time, which inflates trends. The tracker measures your own server: not "how often do we appear in their sample" but "how often did an assistant actually come and read this URL". The two together are far stronger than either alone.

Because it is the size of the channel you are not counting. In five days one client site was fetched 813 times by ChatGPT while answering live questions. Over six weeks, analytics recorded 26 visits from all AI platforms combined. The customer gets their answer — and in home services, the phone number — inside the chat and never clicks through. Every click-based AI report understates that by roughly two orders of magnitude.

It writes one line per matched request and ignores everything else, so the cost is negligible. Caching is the real consideration, and it runs ahead of the cache deliberately — that is the whole reason it sees the traffic a plugin sitting behind a full-page cache misses.

Yes. Install plus the first report is a standalone engagement from $900, and the log is on your own infrastructure — you keep it whether or not we work together afterwards. It is also included in both monthly tiers.

Not today. It runs on client infrastructure, installed and maintained by me, currently on WordPress sites. Calling it a product rather than a script is a statement about what it does and how it is maintained, not a claim that there is a login page and a billing page behind it. If that changes, this page changes with it.

Find out how often assistants are already reading your site.

Most owners are surprised in one direction or the other, and both answers are worth having before spending another month on content.