Why a separate tracker?
The JavaScript analytics pixel only fires when a real browser executes JS. Most AI crawlers fetch raw HTML and never run scripts, so they’re invisible to client-side tracking. The bot tracker runs server-side (or via the WordPress plugin) and inspects theUser-Agent of every request.
Bots detected
The list is updated continuously as new agents appear.
Enable it
1
Open the website settings
In the Keupera dashboard open Settings → Website.
2
Toggle 'Enable Bot Tracking' on
Flip the switch. Keupera now accepts bot events for this website.
Install the collector
Pick whichever option matches your stack.WordPress (recommended)
WordPress (recommended)
Install the Keupera Connector plugin. It hooks No further setup — bot tracking starts automatically.
template_redirect, inspects every frontend request’s User-Agent, queues hits in a transient, and flushes them in batches of 10 (or every 5 minutes via WP-Cron, whichever comes first) to:Custom server / middleware
Custom server / middleware
Detect known bot UAs in your edge layer (Cloudflare Workers, Vercel Middleware, Nginx, Express, etc.) and Batch up to 50 events per call. The endpoint is idempotent on
POST to /api/v1/track-bot with one or more events:(bot_name, path, visit_date) — duplicates increment the visit counter rather than creating new rows.Cloudflare Worker (example)
Cloudflare Worker (example)
Read the data
Bot data is exposed both in the dashboard and via the API:
See the full schemas in the Analytics API reference.