Website Analytics8 min read

How to See Which AI Bots Visit Your Website (GPTBot, ClaudeBot, Perplexity and More)

Normal analytics scripts miss most AI crawlers because bots do not run JavaScript. Here is how to see which AI bots read your pages, why they came and which pages they took, using server-side reporting.

Peter CsipkayPeter CsipkayFounder of useClick
How to See Which AI Bots Visit Your Website (GPTBot, ClaudeBot, Perplexity and More)

Quick answer: A standard analytics script cannot see most AI crawlers, because bots such as GPTBot, ClaudeBot and PerplexityBot read your HTML without running JavaScript. To see them you need your server to report bot visits. useClick labels each bot by company and purpose (answering a question now, AI search, AI training) and shows which pages it read. On WordPress this is a plugin setting. On Next.js or Cloudflare it is a short snippet.

Key Takeaways

  • JavaScript trackers only see the few bots that behave like browsers. The rest are invisible to them.
  • A bot's purpose matters more than its name: answering a person now, indexing for AI search and collecting training data are three different things.
  • Detection is based on the user agent only. A bot that pretends to be a browser counts as a person.
  • People who arrive from an AI assistant are not bots. They show up as a traffic source.

Why your analytics shows almost no AI traffic

The tracking script in most analytics tools runs in a browser. A crawler does not. GPTBot, ClaudeBot, PerplexityBot and ChatGPT-User fetch your page, read the HTML and leave, and the script never executes. So your report looks as if no AI system has ever visited, while your server logs show the opposite.

This matters because AI assistants increasingly decide which pages to quote and link. Knowing which of them read your content, how often and which pages they take is the first step in deciding whether to allow them, restrict them or write differently. If you have not yet checked what your site allows, start with how to check and fix AI crawler access and the AI crawlability checker.

Three different reasons a bot visits

Grouping every AI bot together hides the useful part. useClick labels each bot by the company that runs it and by why it came:

Purpose What it means Examples
Answering now Someone asked an AI assistant a question and it opened your page to answer ChatGPT-User, Claude-User, Perplexity-User
AI search Indexed so assistants can find and cite your page OAI-SearchBot, Claude-SearchBot, PerplexityBot
AI training Collected to train or ground AI models GPTBot, ClaudeBot, CCBot, Bytespider, Meta-ExternalAgent
Search engine Crawled for a search index Googlebot, Bingbot, Applebot, DuckDuckBot
Link preview Fetched to build a preview when someone shared your link Slackbot, WhatsApp, LinkedInBot, Twitterbot

The first two are usually good news: a visit labelled "answering now" means an assistant used your page while responding to a person. Training crawls are the ones many site owners want to decide about on purpose.

How to see it in useClick

Bot traffic is recognised on every click and page view, on every plan, with no setup. For website analytics the main controls are:

  • All traffic, People and Bots tabs next to the date range. They switch every number, chart and breakdown on the page.
  • Bot traffic card, by company. OpenAI, Anthropic, Perplexity, Google and the others. Click a company to see its bots and what each came for, and which pages it read.
  • Click a bot to filter the whole page to its visits.
  • A split under the totals, for example "3,120 people · 520 bots", so you can read the share without leaving the overview.

Bot visits are never billed against your plan's monthly page views on a website. Journeys, funnels, goals and custom events count people only.

The part most guides skip: server-side reporting

Because the script cannot see non-browser bots, your server has to tell useClick about them. Pick the route that matches your stack:

  • WordPress: the useClick plugin, version 1.4 or newer. Turn on AI and search bots under Website analytics (it is on by default). See the WordPress plugin guide.
  • Next.js or Vercel: a short middleware.ts. Copy it from See AI crawlers too at the bottom of the site report.
  • Cloudflare: a Worker on your site's route, from the same card.
  • Anything else: send a POST to https://useclick.io/api/analytics/server-hit with your API key, the site ID, path, user agent, referrer and country. You can send up to 25 per request, and a GET /api/analytics/bot-signatures call lists the user-agent words worth checking first, so ordinary visits never leave your server.

Only bot requests are recorded, because useClick checks the user agent again on its side. Reporting every request therefore never counts a person twice. No IP address is sent or stored. The full reference is in the bot traffic guide.

What you can and cannot trust

Be sceptical of any bot report, including this one.

  • Detection uses the user agent only. A bot that pretends to be a normal browser is counted as a person, and a person using a tool such as curl is counted as a bot. useClick does not verify requests against the IP ranges bot operators publish.
  • Spikes after you post a link are usually previews. Slack, WhatsApp, X and LinkedIn fetch a link to build the preview. Those show up as "Other bot" or link preview, not as AI.
  • Few bots in the report usually means the script is the only source. Add server-side reporting before you conclude that nobody visits.
  • Totals include bots by default. Switch to People when you want a human view.

Visits from AI assistants are not bot traffic

Someone who clicks a link inside ChatGPT, Claude, Perplexity, Gemini or Copilot is a person. useClick shows those visits in Traffic sources under the AI assistants channel, not in the bot card. That distinction is the one most useful for deciding whether AI visibility is bringing you readers: bots show who read you, the AI assistants channel shows who sent you visitors.

What to do with what you see

  1. Look at the "answering now" and AI search bots first. These are the ones tied to being quoted. Check which pages they read.
  2. Decide on training crawlers deliberately. If you do not want your content used for training, a robots.txt rule is the usual route. The robots.txt tester shows what a given user agent is allowed to fetch.
  3. Look at the pages bots read most. If assistants keep reading an outdated page, update it or redirect it.
  4. Watch for Unknown Bot. User agents that contain "bot", "crawler" or "spider" but are not on the list are labelled Unknown Bot. A growing share is worth a look in your server logs.
  5. Re-check monthly. The mix changes as new crawlers appear.

Frequently asked questions

Can Google Analytics show AI crawlers?

Not reliably. Script-based analytics only sees visitors that execute JavaScript, and most AI crawlers do not. Server-side reporting or your server logs are the dependable sources.

Does useClick block bots?

No. It reports them. Blocking is done in your robots.txt, your firewall or your CDN.

Do bot visits count toward my plan?

Not for websites: bot page views never use your monthly page view allowance. For short links, detected bot clicks are recorded like other clicks and count toward the monthly clicks figure and a link's click limit.

Which plan do I need?

Bot detection on link clicks works on every plan. Website analytics beyond the free trial need Starter or above. See plans.

Is any personal data stored?

No IP address is sent or stored for server-side reports, and the tracking script sets no cookies.

How do I tell a real GPTBot from a fake one?

useClick cannot. Detection is by user agent, and some scrapers copy well-known names. If it matters, compare against the IP ranges the operator publishes in your server logs.

No. A preview fetch means someone shared your link. It is simply not a human visit, which is why it is separated.

The decision in one paragraph

If you want to know whether AI systems read your site, a JavaScript tracker will tell you almost nothing, because most crawlers never run it. Add server-side bot reporting, then read the results by purpose: who is answering a question now, who is indexing you for AI search and who is collecting training data. Treat the numbers as a strong hint rather than proof, since the user agent can be faked. The bot traffic guide has the setup for each platform.

Short links that show who clicks

Branded short links with click stats for every campaign, email and post.

Short Links Analytics, Link in Bio Pages, and Website Analytics

  • Branded short links with analytics for campaigns, destinations, and every click you share.
  • Link in Bio pages that bring your most important links together in one branded place.
  • Website analytics to understand traffic sources, top pages, and on-site performance.
Create a short link free

No credit card required.

See who clicks every link you share

Branded short links with clicks by country, device and source. No ads, no cookies, on your own domain if you like.