Open-source analytics is free as a license and a job as a service. Here is the ledger for self-hosting Plausible Community Edition, Umami or Matomo against hosted tools, and a ten-minute way to decide.
Self-hosted analytics trades a subscription for a recurring job. Plausible Community Edition, Umami and Matomo are well-regarded open-source tools, and running them yourself gives you the strongest possible answer to "where does the data live?". It also makes you the on-call engineer for a system whose failure is silent.
Related reading: our cookieless analytics comparison covers the feature side; this page is about where the thing runs.
Every tool in this category has the same three moving parts: a tracking script that runs in your visitors' browsers, a collector that receives the events, and a database plus dashboard that stores and displays them. A hosted service runs all three for you. Self-hosting means the collector, the database and the dashboard are yours, and only the script is a snippet on your pages.
The concrete stacks differ. Umami is a Node.js application backed by PostgreSQL or MySQL. Matomo is a PHP application backed by MySQL or MariaDB, and it is the heaviest of the group because it is the broadest: it is a full analytics suite in the Google Analytics mould, with the surface area that implies. Plausible's self-hostable Community Edition is the open-source release of Plausible; its stack is documented by the project, and what the Community Edition includes compared with the paid hosted product is something to read in the current docs before you commit.
None of that is exotic for an engineer. The point is that each piece is a thing that ages: operating-system patches, runtime versions, database versions, certificates, disk usage. A tracking pixel on a hosted service has none of those on your plate.
This is the table most "best analytics" lists skip. It does not claim any tool needs a particular amount of time; it lists the jobs. Count how many of them you already do for another service.
| Job | Self-hosted | Hosted service |
|---|---|---|
| Provisioning | You size and pay for a server or container, plus a database | Create an account, paste a script tag |
| TLS and domain | You terminate HTTPS and renew certificates for the collector hostname | Vendor handles it |
| Upgrades | You read release notes, run migrations, roll back if one fails | Vendor ships them |
| Backups | You schedule, store and test restores of the database | Vendor's responsibility; you can still export your own rows |
| Uptime monitoring | You watch the collector endpoint and alert yourself | Vendor monitors; you check their status page |
| Scaling | You resize when traffic grows or the database slows down | Priced into the plan |
| Security patching | You track advisories for the app, runtime, database and OS | Vendor's job |
| Data location | Wherever your machine is | Wherever the vendor runs it |
| Source access | Full, for open-source tools | Depends on the vendor |
Two rows deserve emphasis. The first is backups: an untested backup is a hope. If your analytics history matters, the restore drill is part of the cost. The second is uptime monitoring, because analytics fails differently from a website.
When your site goes down, someone emails you within the hour. When your analytics collector goes down, nothing visible breaks. The script on each page fires a request once per pageview; if the collector does not answer, that pageview is gone, with no retry queue on your side and no error shown to the visitor.
The result is a dashboard with a flat stretch you only notice when you compare a launch week to the week before. For a hobby site that is a shrug. For a campaign report that is a missing number and an awkward conversation. The mitigation is cheap and easy to forget: an external uptime check on the collection endpoint (not just on the dashboard login page), and an alert that goes somewhere you will see it.
Hosted vendors have outages too. The difference is that someone else is paged, and a status page tells you the window to annotate. With self-hosting, you are the status page.
This is the strongest argument for self-hosting, and it is a real one. If a policy or a regulation says personal or business data must stay on infrastructure you control, or in a specific country, or that no third-party processor may touch it, then a self-hosted tool in your own environment answers the question directly. No hosted vendor, including us, can match that by definition.
Two cautions keep the argument honest. First, custody is not the same as privacy-by-design. What a tool collects (IP addresses, identifiers, cookies) is a product decision; where it stores them is a hosting decision. A cookie-based tool on your own server is still a cookie-based tool. Our explainer on cookieless tracking covers what a design that avoids identifiers looks like, whoever hosts it.
Second, hosted does not mean careless. Plausible, for example, publishes that its hosted service processes data in the EU only, and Fathom offers an EU-isolation option. GhostMetrics runs on Cloudflare's edge and stores no cookies, no localStorage and no raw IP addresses. If your requirement is "no personal data stored" rather than "data on my own disk", a hosted cookieless tool can satisfy it, and you should state your requirement that way when you evaluate.
Prices change, so this section avoids numbers for third parties and describes the shape of each model. For current figures, read each vendor's pricing page.
| Option | Source model | Where it runs | How you pay |
|---|---|---|---|
| Umami (self-hosted) | Open source (MIT) | Your server and database | Infrastructure and your time; no license fee |
| Matomo (self-hosted) | Open source | Your PHP and MySQL environment | Infrastructure and your time; a hosted Matomo Cloud also exists |
| Plausible Community Edition | Open source, self-hostable | Your server | Infrastructure and your time; hosted Plausible is a separate paid product |
| Plausible (hosted) | Open source code, hosted by the vendor | Vendor, EU-only processing | Trial then paid plans scaled by monthly pageviews |
| Fathom | Proprietary | Vendor; EU-isolation option | Paid, pageview-tiered; no free plan |
| GhostMetrics | Proprietary, not self-hostable | Cloudflare edge (Workers and D1) | Free for one site; Pro $9.99/mo flat with unlimited pageviews |
The practical difference is what scales your bill. Self-hosting scales with your infrastructure and your attention: a quiet site fits on a small machine, a busy one needs a bigger database and more care. Pageview-tiered hosted plans scale with traffic. A flat price scales with neither. Neither shape is better in the abstract; it depends on whether your traffic is growing, spiky or steady, and whether your time is the scarce resource.
The first install is the easy day. The cost lives in year two.
Open-source projects ship fixes and features continuously, and a self-hosted instance that falls several versions behind becomes progressively harder to bring current, because migrations stack. Teams that do this well put the upgrade on a calendar. Teams that do it badly discover the version gap during an incident.
A nightly database dump copied off the machine is the minimum. Test one restore per quarter to a scratch machine; if you cannot rebuild the dashboard from the dump, you do not have a backup. Hosted vendors do this work for you, though it is still reasonable to keep your own copy. GhostMetrics offers a raw CSV and JSON export of every stored row on every plan for that reason.
Event tables grow with traffic. Self-hosted instances need a plan for disk usage and for query speed on large date ranges, and some projects document retention or aggregation options that you would configure yourself.
An analytics dashboard is a login page on the public internet in front of a database. Keep the app, the runtime and the operating system patched, put the dashboard behind strong authentication, and limit who can reach the database directly. This is ordinary hygiene; the point is that it is yours.
Self-host if a data-residency rule, a procurement policy or a contract forbids a third-party processor; if you need to read or modify the source; if you already operate similar services and the marginal cost of one more is small; or if running your own infrastructure is part of what you want to do. For these teams the extra work is the product.
Go hosted if you want answers to "which pages work and where does traffic come from" and nothing else; if nobody on the team wants to be paged for a chart; or if you run many small sites and would be installing the same stack repeatedly. For a single personal or small business site, the free tier of a hosted cookieless tool costs less than the first hour of setup.
Hybrid is legitimate. Some teams self-host for the regulated product and use a hosted tool for marketing pages. Nothing requires one choice across everything you run, and our static site analytics guide shows how little a script-tag install asks of a site.
GhostMetrics is strictly the hosted option. We say so in the table above because the comparison is only useful if it states where we do not apply: not open source, not self-hostable, no EU-only processing guarantee. What it offers instead is a script of about 3 KB compressed, a free plan with full history, and no machine to look after.
Answer these in order. Stop at the first one that gives you a hard answer.
If steps 1 to 3 leave you without a hard constraint and without a spare operator, the answer is hosted. If they leave you with a constraint, the answer is the open-source tool that meets it, plus the monitoring described above.
Pick by the failure you can tolerate. A self-hosted instance fails by consuming your time and, if neglected, by going dark. A hosted tool fails by costing money each month and by holding data on someone else's infrastructure. Both are acceptable; the mistake is choosing one without pricing the other.
For most small teams, the sensible default is a hosted cookieless tool with a free tier and a clean export, revisited if a custody requirement appears. For teams that already have the requirement, self-host an open-source tool and add the collector monitoring first, not last. The full list of related guides is in our analytics guides.
GhostMetrics is the hosted end of this comparison: one script tag, no server, no database, no upgrades, running on Cloudflare's edge. It is not open source and not self-hostable, so if a license or a residency rule forces you to own the stack, pick one of the self-hosted tools above. If you just want the numbers, the free plan is free forever: one site, unlimited pageviews, real-time dashboard, every view, full history.
Need several sites or a public dashboard? Pro is $9.99/mo flat, unlimited pageviews, unlimited websites (fair-use ceiling of 250), with a 30-day free trial (card required to start, nothing charged for 30 days, cancel anytime). Raw CSV or JSON export is on every plan, including free, so leaving is always possible.
Start free — no server, no card See the live demoDisclosure: GhostMetrics is built by Null Agency and we use it on this site, so we're not a neutral party about our own product — we've kept the claims to what the free and paid plans actually do, and pointed to Umami and other open-source, self-hostable tools where they genuinely fit better. Pricing for third-party products can change; always check the vendor's current pricing page before deciding.