Every event follows the same short path: a browser beacon hits POST /analytics, the Telemetry engine authenticates the request against the project's API key, normalizes the payload, and writes it to the ACID store. The whole hop is designed to stay under ten milliseconds so the tracker never slows your page.
At launch, Tracabit uses Tero — an embedded ACID JSON store — for durability and simple operations. Each event updates a daily metric document keyed by project and date, plus a capped recent-events log. Because writes are per-document rather than a full-file rewrite, cost per event stays flat as your data grows.
When you need to scale past a single node, the production path migrates to ClickHouse. Materialized views keyed by (project, date) aggregate pageviews, sessions, and dimensions in near real time, and the GET /metrics API reads those views with p95 latency under 50ms for a 30-day range at 10M+ events.
The read side is intentionally simple: one documented endpoint, one stable JSON shape. Whether a human dashboard or an AI agent calls GET /metrics, the contract is identical — which is why the same API powers both.
More guides
Privacy-first analytics implementation guide
Step-by-step setup for script tag integration, event taxonomy, and anonymous session handling without cookies.
Event taxonomy: naming conventions that scale
Best practices for naming events, properties, and conversion funnels that both humans and AI agents can query.
Migrating from Google Analytics 4 to Tracabit
How to map GA4 event models and measurement IDs to Tracabit zero-cookie tracking in under 15 minutes.
Turn every signal into your next decision.
Start with a lightweight tracker. Grow into agent-readable product intelligence.
No cookies. No third-party ad tracking. Your telemetry stays yours.