Open Analytics documentation
What Open Analytics is, how the pieces fit together, and where to start.
What Open Analytics is
Open Analytics is privacy-first web analytics: one small script on your site, a dashboard to read it in, and no cookies, no fingerprinting and no personal data anywhere in between. Visitors are counted with an identifier that expires every day and differs on every site, so nobody can be followed, including by us. The full construction is public in our Privacy Policy; the short version is that privacy here is a design property, not a setting.
Beyond pageviews you get realtime presence, custom events, funnels, Core Web Vitals, revenue attribution from Stripe or Polar, public share pages and embeddable widgets, all from the same script, plus a read API, a CLI and an MCP server for everything programmatic.
How the pieces fit
The tracker
A single async script tag, around 2 KB compressed. It records pageviews (including client-side route changes), engagement time, Web Vitals and the events you define, and sends them to our EU collector.
The dashboard
Where everything is read: traffic, sources, pages, geography, devices, sessions, funnels, realtime and revenue, each over any time range.
The programmatic surfaces
One read API behind Bearer keys for your own code, and OAuth for the CLI and for AI agents over MCP. Everything they can read, you can revoke.
Where to start
- New here: the quick start gets a site from zero to live numbers in a few minutes.
- Installing on a specific stack: the installation guides cover every major framework, plus WordPress, Webflow and Shopify.
- Already counting pageviews: custom events and revenue attribution are the usual next steps.
- Building on top: start with the read API or MCP.
Running it yourself
These pages document the hosted service at getopen.so. Open Analytics is also open source under AGPL-3.0, and you can run the whole stack on your own infrastructure.
Self-hosting
The collector, the API and the dashboard, plus deployment guides for Docker and the major platforms, all live in the repository. Its README is the entry point for a self-hosted install.
Postgres on Neon
The hosted service keeps its control plane on Neon, and it is the managed Postgres we recommend for a self-hosted install too. The stack bundles its own Postgres container; moving it to Neon is four environment variables and one line in .env, and backups and point-in-time restore become Neon's job.
Deploying Open Analytics with Neon