The traffic your analytics cannot see.
Two things are happening on your site that a pageview counter misses entirely: people arriving from an AI assistant's answer, and the assistants themselves fetching your pages. mrkr reports both.
In short
What is AI traffic analytics?
AI traffic analytics measures two distinct things. First, humans who clicked through from an AI assistant's answer, identified by the assistant's referrer. Second, the AI and search crawlers that fetched your pages as raw HTML, which no JavaScript tracker can see because they never run it. You need both to know how AI is treating your site.
Almost every analytics tool reports the first one badly and the second one not at all. That is a measurement gap, and right now it sits underneath the single thing marketing teams most want to know.
Half one: people from an AI answer.
When someone asks an assistant a question, reads the answer, and clicks a citation, that visit arrives with the assistant’s domain as its referrer. mrkr groups those into one view: how many visitors, what share of your traffic they are, which assistants sent them, and which pages they landed on.
The landing-page list is the useful part. It tells you which of your pages an assistant considered worth citing, which is the only direct feedback loop you get on whether your content is being read by models at all.

Compared
Who was actually reading that site. The top ten crawlers from that same 30-day window on a live site running mrkr. Note how much of it is model training rather than search indexing, and that the assistant categories are the ones fetching on a real person's behalf.
| Crawler | Provider | Category | Hits in 30 days |
|---|---|---|---|
| Meta-ExternalAgent | Meta | Model training | 9,249 |
| Bingbot | Microsoft | Search index | 4,732 |
| ClaudeBot | Anthropic | Model training | 2,619 |
| Googlebot | Search index | 1,990 | |
| Amazonbot | Amazon | Search index | 1,679 |
| ChatGPT-User | OpenAI | AI assistant | 1,330 |
| OAI-SearchBot | OpenAI | Search index | 864 |
| YandexBot | Yandex | Search index | 796 |
| Applebot | Apple | Search index | 624 |
| PerplexityBot | Perplexity | Search index | 457 |
Measured on a live site running mrkr over 30 days. Categories are mrkr's own classification: assistant means a live fetch on a person's behalf, search means indexing, training means collecting data to train a model.
Half two: the crawlers themselves.
Crawlers request your HTML and leave. They do not download the tracker, they do not execute it, and they do not send a beacon. Every browser-based analytics product is structurally blind to them.
mrkr reads them from the server instead. Your edge worker or framework middleware forwards each request’s User-Agent and path to a beacon endpoint, and mrkr matches it against the catalogue and counts it. The catalogue lives on mrkr’s side, so a new bot appearing next month is recognised without you shipping anything.
How to get an AI crawler to read you at all.
Serve the answer in the HTML
Crawlers do not run JavaScript. A client-rendered page is an empty shell to every bot in the table above.
Allow the agents you want
Training, search and assistant agents are separate lines in robots.txt. Blocking ChatGPT-User blocks a person who asked.
One question per URL, near the top
Assistants extract passages, not pages. A self-contained answer in the first screen is what gets lifted.
Publish a machine-readable summary
Plain headings, a current sitemap, and an llms.txt an assistant can read instead of guessing from a landing page.
Live demo
Open the AI traffic view. The live demo includes the AI traffic page with real demo data, the assistant breakdown, and the crawler panel. No signup.
Open the live demoThe honest limits.
Only as complete as the beacon
Routes your edge does not forward are not counted. mrkr counts what it is told about rather than modelling the gap.
User agents can be spoofed
Matching is on the User-Agent string, with no reverse DNS check. It reports what identified itself, not origin.
AI referrals are a floor
Some surfaces strip the referrer, and an answer read in a mobile app can arrive as direct. Treat the count as a minimum.
FAQ
I see training fetches but almost no assistant fetches. What does that mean?
Models are ingesting your pages but nothing is citing them live. That usually means the content is being absorbed rather than answered with. Look at whether your pages answer a question directly or simply describe a product.
Assistants fetch my pages but send no referral traffic. Why?
An assistant is reading a page to answer someone and the answer is not sending them on. Often the page gave away the whole answer with no reason to click, or the citation is not being surfaced in that assistant's interface.
Why are crawler hits concentrated on a handful of paths?
The per-page breakdown shows which URLs bots return to. It is the closest thing to a ranking signal an answer engine gives you, and it is a good hint about what to write more of.
Is it normal for crawler hits to be several times human traffic?
Yes, and it is worth knowing for capacity rather than for panic. It also means server-log-based analytics badly overstates your audience if it does not separate bots out.
How do I track traffic from ChatGPT and other AI assistants?
Visitors arriving from an AI answer carry the assistant's domain as their referrer, so a normal analytics tool can classify them if it knows the list. mrkr groups ChatGPT, Perplexity, Claude, Gemini and Copilot referrers into a single AI traffic view, with the landing pages those visitors arrived on.
Can analytics show me which AI crawlers visited my site?
Not from JavaScript. Crawlers fetch raw HTML and never run the tracker, so they are invisible to a browser-based tool. mrkr reads them from a server-side beacon instead: your edge or middleware forwards each request's User-Agent, and mrkr matches it against a 32-entry crawler catalogue kept up to date server side.
Which AI crawlers does mrkr recognise?
GPTBot, OAI-SearchBot and ChatGPT-User from OpenAI, ClaudeBot, Claude-SearchBot and Claude-User from Anthropic, PerplexityBot and Perplexity-User, Google-Extended and Gemini, Applebot-Extended, Meta-ExternalAgent, Amazonbot, Bytespider, CCBot, MistralAI, cohere-ai, DuckAssistBot, YouBot, Diffbot and more, alongside the classic search crawlers.
Why does my site get more crawler hits than human visits?
Because model training, search indexing and live assistant fetches all hit the same pages, repeatedly, and each is a separate crawler. On one live site running mrkr, 30 days produced 25,564 crawler hits against 2,946 human pageviews, roughly nine crawler fetches for every human one.
How do I get an AI assistant to see my site?
Serve the answer in the HTML rather than rendering it with JavaScript, allow the assistant's user agent in robots.txt, keep a current sitemap, and write each page so its core answer is self-contained near the top. Assistants extract passages, so a page that answers one question plainly gets cited more than a page that buries it.
Is AI traffic worth measuring separately?
It behaves differently enough to be worth splitting out. Visitors who arrive from an assistant have usually already read a summary of your position, so they land deeper, bounce differently, and convert on a different page than search visitors. Mixing them into a single referrer list hides all of that.
Start with one line of HTML.Your first visitors show up within a minute.