Pageviews, JavaScript errors and real-user timings together
Swetrix is open source web analytics under the AGPL-3.0, pitched by its authors as a privacy-respecting alternative to Google Analytics: no cookies, no cross-device tracking, anonymised data and therefore, by the project's account, no consent banner. Next to traffic, it records JavaScript errors and performance measured on real visitors (TTFB, DNS, TLS, render). It comes as a paid cloud hosted on Hetzner in Germany, or as a free Community Edition (CE) you run yourself with Docker.
The comparison of self-hosted web analytics tools lists what Swetrix's Community Edition leaves to the hosted plan and compares it with the other self-hosted tools.
Grouped stack traces, history imports and OIDC sign-in
- Errors caught by the analytics script: a single
trackErrors()call turns it on. Each error arrives with its message, file, line, column, page and a stack trace of up to 64,000 characters.sampleRatecaps the volume, acallbackdrops the noise, andtrackError()reports whatever atry/catchswallows. - Errors tied to sessions: errors are grouped by signature, with occurrence counts, affected users and the sessions involved. A resolved error that comes back gets flagged as a regression.
- Bring your history: since v5.2.0, Swetrix imports data from Google Analytics 4, Fathom, Plausible, Simple Analytics and Umami.
- SSO on a self-hosted instance: since v4.0.0, CE can sign people in through any OpenID Connect provider, Keycloak, Okta or Azure AD among them.
Cloud-only alerts, and replays no release ships yet
Alerts are cloud-only. The docs promise an email, Slack, Discord or Telegram notification whenever a new error shows up, and Swetrix's comparison page against Rybbit, which also lists errors next to the traffic, uses alerts as a selling point. Yet the README's Cloud vs CE table marks alerts and notifications as not included in CE. Self-hosted, Swetrix records errors and tells nobody, so it only stands in for an error tracker if someone keeps opening the dashboard. On the cloud, every error counts against the monthly event quota, the same as a pageview.
Error tracking is browser-first. The docs describe it as client-side tracking. On the server, the @swetrix/node SDK has a trackError method you call yourself. Source maps are not mentioned in the docs.
The cloud keeps more for itself. Revenue analytics, the AI assistant, email reports and organisations are cloud-only; CE shares a project through direct invites, password-protected links or public access. Its geolocation stops at city level (DB-IP City Lite), and an ISP breakdown needs a paid MaxMind or DB-IP database. On A/B tests and feature flags the README contradicts itself: its Cloud vs CE table keeps them in the cloud, while its comparison table and the CE source code include them.
The claimed position next to Plausible. The README's comparison table puts Swetrix against Plausible: both cookieless, both AGPL, and the difference Swetrix claims is scope, with errors, performance and session replays in a single product.
CE runs as five containers. Frontend, API, an Nginx proxy, Redis and ClickHouse, which holds both the analytics and the transactional data; the MySQL listed in the README's tech stack does not appear in the Compose file. The docs recommend at least 2 GB of RAM on an x86_64 or arm64 CPU.
The repository runs ahead of the releases. The latest release is v5.4.1, from August 4, 2026. Since v5.0.0 in January, a minor version has shipped every five to eight weeks, usually with database migrations to run by hand, and v5.2.0 and v5.3.0 required configuration changes on existing installs. Session replays, which the README and docs list as part of CE, only reached its code on September 11, 2026: no published release ships them yet.
