Skip to content
  • There are no suggestions because the search field is empty.

What is Agent Analytics?

Agent Analytics shows you every AI agent and crawler that visits your website and which pages each engine reaches. It shows what's happening on your own site: the ChatGPT, Claude, Perplexity, Google, and other bots crawling your pages in real time.


How to connect your logs?

Agent Analytics works by analyzing your web server logs. To get started, open Agent analytics setup choose a Logs provider, and follow the steps for that connector.

Screenshot-Jul-21-2026-02-00-01-2862-PM

There are several ways to get your log data into OtterlyAI β€” pick the one that fits your setup:

Connector Best for Setup effort
File upload One-off or historical analysis; no live connection Low
Webhook Any custom or unsupported provider (CDN, log shipper, proxy, app) Medium
Cloudflare Sites fronted by Cloudflare Medium–High
WordPress plugin WordPress sites Low 

If your provider isn't listed, choose Request new integration from the Logs provider dropdown to let us know what you need.


1. File upload

Best for analyzing a specific period, or when you don't want a live connection.

  1. Select File upload as the provider.
  2. Choose the Domain the logs belong to.
  3. Drag & drop or browse for your log file.

Supported formats: .csv, .json, .ndjson, .txt, .log, .gz, .zip

CSV columns (CSV files only): timestamp, url, host, user_agent, referer, ip

πŸ’‘ You can also upload a log file any time from the Upload log file button in the top-right of the Agent Analytics view β€” handy for topping up a file-based setup with a newer export.

Max 20 files per upload, max 1 GiB per file.

2. Webhook

Best for any provider we don't natively support β€” your own system (a CDN, log shipper, reverse proxy, or custom app) POSTs log batches to our endpoint.

Step 1 β€” Generate your API key. Create it in-app; it has the format oai_live_….

Step 2 β€” Configure your webhook to send log batches to OtterlyAI:

  • Endpoint: https://analytics.otterly.ai/logs
  • Header: Authorization: Bearer oai_live_…

Click Confirm webhook deployment in OtterlyAI.

Step 3 β€” Send your log events. POST a JSON array of events. Each event uses these fields:

Field Required Notes
requestUrl Yes Absolute URL (scheme + host + path). A relative path is rejected. utm_source is read from the query string.
userAgent Yes Used to identify the AI agent.
timestamp Yes Any parseable date/time (RFC 3339 recommended); normalized to UTC.
clientIp No Used only for de-duplication β€” never stored.
referer No Absolute URL.

Example request:

POST https://analytics.otterly.ai/logs Authorization: Bearer oai_live_… Content-Type: application/json

[ { "requestUrl": "https://example.com/pricing?utm_source=chatgpt.com", "userAgent": "Mozilla/5.0 (compatible; GPTBot/1.1; +https://openai.com/gptbot)",
"timestamp": "2026-06-18T10:28:02Z",
"clientIp": "192.0.2.10",
"referer": "https://www.google.com/" } ]

Batching: send 1–500 events per request, and keep each request body under 256 KB.

Step 4 β€” Confirm within 24 hours. After sending a test event, click Confirm webhook deployment in OtterlyAI. ⚠️ If you don't confirm within 24 hours, the API key expires and you'll need to generate a new one.

πŸ’‘ Keep your API key private β€” treat it like a password. If it's ever exposed, rotate/revoke it in-app. 

3. Cloudflare

Best for sites served through Cloudflare.

This flow is more involved than the webhook: OtterlyAI uses your Cloudflare API token to deploy a small Worker and route into your account, which forwards only AI-bot traffic to OtterlyAI. Your normal site traffic is untouched, and if forwarding ever fails it never affects your site.

Step 1 β€” Create a Cloudflare API token.

In Cloudflare, go to My Profile β†’ API Tokens β†’ Create Token and use the built-in "Edit Cloudflare Workers" template β€” it grants everything needed. When setting the token's scope:

  • Account resources: include the account that owns your zone.
  • Zone resources: include the specific zone(s) you want to connect (or All zones).

The token is used once, at deploy time, and is never stored by OtterlyAI.

Step 2 β€” Connect in OtterlyAI:

  1. Select Cloudflare as the provider.
  2. Paste your Cloudflare API token.
  3. Click List zones and pick the zone you want to track.
  4. Click Deploy.

OtterlyAI deploys to your selected zone, and AI-agent traffic will start appearing in your Agent Analytics view.

Removing the Cloudflare connector later

Disabling or deleting the connector in OtterlyAI stops data collection immediately. To also remove the deployed components from your Cloudflare account:

  1. Cloudflare dashboard β†’ Workers & Pages β†’ delete the otterly-agent-<zoneId> Worker.
  2. In the zone's Workers Routes, delete the route pointing at that Worker.

4. WordPress plugin 

The simplest option for WordPress sites β€” nothing to configure after install.

  1. Select WordPress as the provider.
  2. Click Download Plugin to get the pre-configured Otterly logger plugin (credentials are already embedded β€” no API keys to copy).
  3. In WordPress, upload and install the plugin, then activate it.

Once activated, the plugin automatically streams access logs to Otterly Analytics. No further configuration is required in WordPress. 


Using Agent Analytics

Once your logs are connected, open Agent analytics.

Global controls:

  • Date range filter (e.g. Last 14 days)
  • Engine filter (All Engines, a single engine, or multiple engines of your choice)
  • Upload log file and a settings gear in the top-right (where you'll be able to delete the connection/re-upload a log file)

The view is split into three tabs: Overview, Pages, and Agents.

πŸ“Ί Prefer to watch? This quick walkthrough shows how to start seeing AI agent traffic.


Overview tab

Your at-a-glance summary of AI agent activity.

  • Headline metrics: Total agent visits, Pages visited, and Top engine.
  • Agent visits over time β€” a per-engine trend line. Toggle between absolute count (#) and share (%), and group by engine. Covers ChatGPT, Claude, Microsoft Copilot, Perplexity, Google AI Overview, Google Gemini, and Other.
  • Top pages visited by engines β€” your most-crawled URLs, each with a per-engine color split so you can see which engine favors which page.
  • Agents page visits by types β€” the top agents, labeled with their category.

Screenshot (2)-Jul-20-2026-04-18-03-5312-PM

Pages tab

A full, searchable, paginated list of every visited URL, with total visits and a per-engine color breakdown. Use the search-by-page box to jump to a specific URL.

Use this tab to answer: Which of my pages are AI engines actually reading β€” and which are being ignored?

Agents tab

A full, searchable, paginated list of every agent, its category, and its page-visit count. Use the search-by-agent box to find a specific bot.

Use this tab to answer: Exactly which bots are on my site, and what are they here to do?


Understanding agent categories

Not every AI agent visits for the same reason. OtterlyAI groups them into three categories so you can tell real-time user-driven fetches apart from background crawling:

Category What it means Example agents
On-Demand AI Fetcher Fetches a page in real time in response to a user's prompt ChatGPT-User, Claude-User, Perplexity-User, Gemini-Deep-Research, MistralAI-User, Manus-User, Meta-ExternalFetcher
Search Index Crawls to build or refresh a search index AzureAI-SearchBot, PerplexityBot, OAI-SearchBot, Amzn-SearchBot
AI Training / Data Scraper Crawls to collect training data GPTBot, GoogleOther, ClaudeBot

πŸ’‘ Why the categories matter: On-Demand Fetchers are the most directly tied to visibility β€” they mean a real user just asked an AI something and it came to your page to answer. 


How Agent Analytics fits with the rest of OtterlyAI

  • Brand Reports show how you appear inside AI answers (mentions, citations, position).
  • GEO Audit checks whether AI crawlers can access your site.
  • Agent Analytics shows which crawlers and agents actually do visit β€” closing the loop between "can they reach me" and "do they cite me."

Together they answer: can AI read my site β†’ does it visit β†’ does that turn into a citation.

Related articles