AnalyticsWebsite Analytics

Website Analytics

See which AI crawlers fetch your pages and how many visitors AI answer engines send to your website.

Website Analytics answers two questions: which AI crawlers are reading your website, and how many people arrive from AI answer engines such as ChatGPT or Perplexity. It reads this from Google Analytics and from your CDN or hosting logs.

Open it from the sidebar: Analytics › Website Analytics (/analytics/website).

Available on plans that include the Website Analytics module. The Crawlers tab also needs Crawler Analytics on your plan. Without them you see an upgrade card instead of figures. See Plans and billing.

Anyone in the workspace can view the page. Connecting or disconnecting a data source needs the Owner or Admin role.

How it works

Opttab reads request logs from the source that serves your website (Cloudflare, Vercel, Akamai or Netlify). It keeps only requests from known AI crawlers and stores daily counts per crawler and page. Visitor figures come from your Google Analytics 4 property.

Opttab keeps only daily counts of AI-crawler requests. Every other log line is discarded on arrival.

Which source feeds which tab

TabData sourceNotes
Realtime — visitorsGoogle Analytics 4Last 30 minutes, minute by minute
Realtime — botsCloudflare onlyVercel, Akamai and Netlify logs have no live window
VisitorsGoogle Analytics 4If you have no Google Analytics property connected, Cloudflare gives sessions only
CrawlersCloudflare, Vercel, Akamai or NetlifyIf several are connected, Opttab uses the first in that order

To connect a source, see Connect a crawler log source.

The three tabs

All three tabs load together, so switching between them is instant. Visitors and Crawlers follow the shared period picker.

What is happening on your site right now.

  • Active Visitors and Active Bots in the last few minutes.
  • Active Users and Active Bots charts for each of the last 30 minutes.
  • Live Visitor Activity: pages AI-referred visitors are reading right now.
  • Active Bots table: crawlers seen in the last 30 minutes, by requests.
  • Realtime Activity: visitors and AI agents per day over the last 30 days, with All / Users / Agents.

Live figures refresh about every 30 seconds.

Recognised AI crawlers

Opttab recognises these crawlers by their user-agent name.

CrawlerCompanyPurpose
GPTBotOpenAITraining
OAI-SearchBotOpenAISearch indexing
ChatGPT-UserOpenAIUser action
ClaudeBotAnthropicTraining
Claude-SearchBotAnthropicSearch indexing
Claude-UserAnthropicUser action
PerplexityBotPerplexitySearch indexing
Perplexity-UserPerplexityUser action
GooglebotGoogleSearch engine
BingbotMicrosoftSearch engine
ApplebotAppleSearch engine
CCBotCommon CrawlTraining
Meta-ExternalAgentMetaTraining
  • Training: fetches pages to train AI models.
  • Search indexing / Search engine: builds the index an AI search or search engine answers from.
  • User action: fetches a page live because someone asked the AI a question.
  • Unidentified: a bot Cloudflare verified but Opttab can't place in a purpose.

Google-Extended and Applebot-Extended are robots.txt settings, not crawlers. They never send requests, so they never appear here.

Verified and claimed bots

Anyone can put "GPTBot" in a request. How sure Opttab can be depends on the source.

  • Cloudflare — verified. Cloudflare checks that the request really came from the crawler's owner. Look-alike requests that only claim the name show separately as +N unverified.
  • Vercel, Akamai and Netlify — claimed. Opttab counts a request when its user agent contains a crawler's name. That is a claim, not proof of who sent it.

Read more in What's the difference between verified and unverified bots?.

Reason messages

When a card has nothing to show, it tells you why.

MessageWhat it meansWhat to do
"Connect a source to see this."No source feeds this cardConnect a source
"Reconnect the source to see this." / "Cloudflare needs attention" (or your provider)The connection is unhealthy or doesn't match this websiteReconnect, or pick the right property or zone in Settings › Integrations
"Collecting the first days of data."The first sync is still runningWait; the page updates on its own
"Not supported by any source."Your sources can't provide this figureFor example, live bots need Cloudflare
"Not available on this Cloudflare plan."Your Cloudflare plan doesn't expose this figureConnect Google Analytics, or upgrade on Cloudflare
"The source did not answer; try again shortly."The provider didn't respondTry again in a few minutes
"No site audit yet"The page hasn't been auditedRun a site audit
"No tracked traffic in this window yet."Nothing arrived in this periodPick a longer period

Data freshness and history

  • The first sync backfills up to 13 months of history, as far as the provider keeps it.
  • A day's crawler figures are final after 1 day; Google Analytics figures after 2 days. Numbers near today can still rise.
  • Daily figures are kept for 13 months, then folded into monthly totals.

FAQ