Documentation

Tally is a self-hosted, privacy-first web analytics engine. This documentation covers installation, configuration, the tracking script, the REST API, and production deployment.

Quick start: If you just want to get running, head to the Installation guide . You'll have analytics running in under a minute.

How it works

Tally has three components:

  1. Tracker (~3KB) — A JavaScript snippet you add to your site. It sends pageview events, scroll depth, focus time, and SPA navigation to your Tally server via sendBeacon .
  2. Server — A Bun-based HTTP server that receives events, enriches them with GeoIP and user-agent data, and writes to SQLite. Also serves the dashboard and API.
  3. Dashboard — A server-rendered analytics dashboard with overview metrics, page analytics, traffic sources, geo/device breakdowns, realtime visitors, and CSV export.

Key concepts

What's tracked

What's NOT tracked