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.

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.

mrkr traffic sources with visitors, conversions, and revenue per source.

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.

CrawlerProviderCategoryHits in 30 days
Meta-ExternalAgentMetaModel training9,249
BingbotMicrosoftSearch index4,732
ClaudeBotAnthropicModel training2,619
GooglebotGoogleSearch index1,990
AmazonbotAmazonSearch index1,679
ChatGPT-UserOpenAIAI assistant1,330
OAI-SearchBotOpenAISearch index864
YandexBotYandexSearch index796
ApplebotAppleSearch index624
PerplexityBotPerplexitySearch index457

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.

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 demo

The 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.

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.