What AI assistants actually read on your website.
Google Analytics has never shown you a single crawler and it never will. Crawlers do not run JavaScript, so a client-side tag cannot see them. We put a log drain on our own site and read the server requests instead. Over 30 days, 13,732 bot requests hit pages on snackclubmarketing.com, and the split was not what we expected.
The problem
Everyone wants to know whether ChatGPT is reading their site. Almost nobody can answer it. GA4 is blind to crawlers by design, so the question usually gets answered with a guess, or with a screenshot of someone asking ChatGPT about their company. Neither tells you what was actually fetched. The answer only exists in server logs, and most marketing teams never see those.
What we ran
We pointed a Vercel log drain at our own site and classified every bot request by user agent for 30 days, from August 31 to September 30, 2026. Assets like images and fonts were excluded, because a bot pulling 60 images off one article read one page, not 61. That left 13,732 requests to real pages. Then we sorted the AI bots into three buckets, because lumping them together is what makes this data lie.
The three buckets, and why the biggest one is the least useful
AI training crawlers collect text to train models. There is no visitor and no citation at the end of it. AI search crawlers build the index that AI answers get cited from. AI assistant fetches are the interesting ones: a person asked a question, and the model went and read your page to answer it. That last one is the closest thing to a visitor. On our site the buckets ran 3,135 training hits across 263 pages, 1,507 search hits across 165 pages, and 153 assistant fetches across 53 pages. The biggest number is the one worth the least.
What happened
Meta-ExternalAgent, a training crawler, was the single heaviest bot on the site: 2,464 requests across 260 pages. Googlebot managed 581 requests across 67 pages in the same month. So the bot feeding a training corpus read roughly four times as many of our pages as the search engine we spent years optimizing for. OAI-SearchBot, the one that feeds ChatGPT citations, hit 471 times but touched only 14 pages, and once we stripped out our own paid ad landing URLs, almost all of its organic attention was the homepage.
The part that changed what we do next
We had 24 city pages on the site. Googlebot read 8 of them in 30 days. Three pages we published on September 2, with internal links and sitemap entries, had still never been crawled four weeks later. Meanwhile the assistant bucket, the one where a human actually asked a question, went to the homepage and then to four specific posts about dashboards, tracking setup, and pricing. Not one city page. That is a clear instruction about what to write next, and we would never have seen it in GA4.
How to read your own
You need server-side logs, not analytics. On Vercel that is a log drain. On Cloudflare it is Logpush. On a traditional host it is the access log you already have. Classify by user agent, exclude assets, then split the AI bots into training, search, and assistant instead of reporting one AI number. If you only do one thing, find your assistant-triggered fetches. That short list is what real people are asking about your business, and the pages on it are the ones worth improving first.
The caveat
This is one site over one month, and it is our own, which means the traffic mix is an agency's and not a plumber's. User agents can also be spoofed, so a header claiming to be Googlebot is a claim, not proof. Treat the shape of the split as the finding, not the exact counts, and go pull your own numbers before you act on ours.