How it compares
trckable next to the other free, self-hostable analytics tools: script size, what you have to run, revenue, and where it is not the right choice.
Every tool below is free and self-hostable except DataFast, which is included because it is the paid tool built around revenue attribution; it is marked where it appears.
One tool at a time, with sources: Plausible, Umami, Google Analytics, DataFast.
The script every visitor downloads
The script downloaded by every visitor, measured the same way on 2026-09-23: curl -sH 'Accept-Encoding: gzip' <url> | wc -c, so these are the bytes on the wire, not a published figure. trckable's own server leaves compression to your host, so its rows are the script gzipped at level 9, the way CI measures it (30 Sep 2026); a host that compresses less sends a few bytes more.
| Script, gzipped | What that script does | |
|---|---|---|
| Plausible CE | 1,283 B | pageviews only |
| trckable | 1,596 B | pageviews only |
| Plausible CE (comparable build) | 2,141 B | + tagged events, outbound links, file downloads, revenue |
trckable (/js/t.js) | 2,045 B | + goals with properties, outbound links, downloads, checkout attribution |
| Umami | 2,333 B | pageviews and events |
| GoatCounter | 3,467 B | pageviews |
| DataFast (paid, no self-hosting documented) | 5,253 B | events and revenue attribution; datafa.st/js/script.js |
| Rybbit | 11,172 B | pageviews, events, web vitals, replay |
| Matomo | 28,172 B | everything |
trckable is the only one of these built per site: the script a visitor downloads contains the features that site turned on and nothing else, which is why both rows above are the same product.
What you run, and what it costs you
| To self-host | Idle RAM | Revenue attribution, free & self-hosted | |
|---|---|---|---|
| trckable | 1 container, no external database | 55 MB | Stripe, Lemon Squeezy, Polar, Paddle, Dodo |
| Plausible CE | Elixir + PostgreSQL + ClickHouse | ~2 GB | no — the Stripe integration is cloud-only |
| Matomo | PHP + MySQL/MariaDB | ~512 MB | no first-party payment sync |
| Umami | Node + PostgreSQL | not documented | manual revenue events only |
| Rybbit | ClickHouse + PostgreSQL + Redis | 2 GB+ | no |
| GoatCounter | one Go binary + SQLite | ~30 MB | no |
Self-hosted figures are each project's own documented requirements (September 2026); trckable's are measured (see By the numbers).
Where trckable is different
- Money is a first-class dimension. Not "send us a revenue event" — trckable verifies the provider's own webhooks, keeps an idempotent ledger, reconciles against the provider API every six hours, and credits each payment to the visit that earned it, renewals included.
- Off means zero. A module you turn off costs no bytes in the browser, no work on the server and no code in the dashboard.
- One container. No ClickHouse, no Redis, no separate database to back up.
- Consent without a lawyer. Cookieless mode, a cookie bar of your own, or read the banner you already run — and a privacy paragraph written from your actual settings.
- Nothing is paywalled. There is no "open core" edition with the good parts removed. You pay only if you would rather not host it.
Where it is not
GoatCounter's script is for pageviews and nothing else and its footprint is comparable. Plausible CE's default script is smaller than ours because it does less; at the same feature set ours is smaller. Matomo does far more than trckable ever will — session replay, heatmaps, A/B tests and tag management are deliberately out of scope here. If you want those, use Matomo.
Everything it does
Every feature, in words. Nothing is paid, limited or held back.
Plausible alternative with revenue attribution
trckable vs Plausible: a self-hosted Plausible alternative in one container, with Stripe, Lemon Squeezy, Polar, Paddle and Dodo revenue attribution free. Sourced facts, and where Plausible is better.