The Best Open Source Analytics Tools for Privacy-Conscious Developers
Open source analytics tools have gotten significantly better over the last few years. The gap between "self-hosted open source" and "paid SaaS analytics" used to be a gulf. Now it is more of a gap. Tools like Umami, Plausible, and PostHog have clean interfaces, active development, and real feature depth.
The case for open source is genuine: you control your data, you can audit the code, you can self-host for the cost of a VPS, and you are not locked into a vendor. These are real advantages.
The case against self-hosting is also genuine: running a database server, keeping it patched, managing backups, handling downtime, and keeping up with upstream updates takes time. If you are a developer running a SaaS product, every hour you spend on analytics infrastructure is an hour you did not spend on your product.
This guide covers the main open source options honestly, including what they are good at, where they fall short, and how to think about the self-hosting tradeoff.
The True Cost of Self-Hosting Analytics
Before the tool-by-tool breakdown, it is worth being honest about what "self-hosted for free" actually means.
Server costs. A basic Umami setup runs fine on a $5-10/month VPS. Matomo at high traffic needs more. Plausible uses ClickHouse, which has higher memory requirements than a simple PostgreSQL setup, meaning a $5/month VPS is often not enough. Budget $10-20/month for a reasonably provisioned server.
Setup time. A first-time setup of Umami on a VPS with Docker takes 2-3 hours if everything goes smoothly. Plausible's self-hosted setup, which involves Docker Compose with ClickHouse, PostgreSQL, and supporting services, typically takes 4-6 hours. Matomo on shared hosting is faster but has limitations. PostHog on Kubernetes is a multi-day project.
Ongoing maintenance. Monthly, you are responsible for operating system security patches, Docker image updates, database backups (and testing those backups), SSL certificate renewal, and monitoring. Call this 1-2 hours per month if you are efficient and nothing goes wrong. When something goes wrong, it takes more.
Backup and recovery. Your analytics database is data you care about. You need automated backups to a separate location. You need to test restoration periodically. This is real operational work.
Opportunity cost. If your time is worth $100/hour (a conservative number for a developer who could be billing or building), 2 hours/month of maintenance is $200/month in opportunity cost. That is more than the cost of most managed analytics services.
Self-hosting makes the most financial sense when: you have a DevOps team that is already managing infrastructure (analytics is marginal cost), you have strict data sovereignty requirements that prohibit any third-party processing, or you have traffic levels where managed analytics pricing becomes expensive.
For a solo founder or small team, the calculation often does not favor self-hosting, even though "free" sounds appealing.
Tool-by-Tool Breakdown
Umami
License: MIT
Self-host complexity: Low
Website: umami.is
Umami is the most accessible open source analytics tool for developers who want a quick, clean Google Analytics replacement. It uses Node.js and supports PostgreSQL or MySQL, which means it works on infrastructure most developers already know. The interface is clean and fast. Setup with Docker is straightforward.
What you get: pageviews, unique visitors, sessions, bounce rate, top pages, referrer sources, browser and OS breakdown, device type, and country. You can also track custom events with a simple JavaScript API. The interface updates in real time.
What you do not get: SaaS metrics (revenue, churn, MRR), funnel analysis, session replay, heatmaps, or A/B testing. Umami is an intentionally focused tool. It does web analytics well and does not try to do product analytics.
The cloud version (Umami Cloud) starts at a free tier and scales from there. If you want to avoid self-hosting, Umami Cloud is an option.
Best for: Developers who want a clean, simple GA replacement and are comfortable with a Node.js + PostgreSQL deployment. Good for personal projects, small SaaS, and content sites.
Plausible Analytics
License: AGPL-3.0
Self-host complexity: Medium
Website: plausible.io
Plausible is the most polished open source analytics tool available. The self-hosted version is functionally identical to the cloud version. The interface is clean, the data model is straightforward, and the product is actively maintained with regular updates.
The self-hosted setup requires Docker Compose with ClickHouse, PostgreSQL, and a reverse proxy. The official documentation is thorough. If you have run Docker Compose deployments before, this is manageable. If you have not, expect to spend significant time learning the setup.
ClickHouse is what makes Plausible fast at scale. It is also what makes self-hosting more demanding. ClickHouse wants more RAM than a simple PostgreSQL setup. A VPS with 2GB RAM is the practical minimum. 4GB is more comfortable.
The AGPL license is worth understanding. AGPL requires that if you modify the software and run it as a network service, you must publish your changes under the same license. For internal use without modifications, this does not matter. For commercial use where you are planning to modify the product, read the license carefully.
The cloud version starts at $9/month for up to 10,000 pageviews, hosted on Hetzner servers in Germany.
Best for: Teams that want a polished, feature-complete privacy analytics tool and have the DevOps capacity to run a Docker Compose stack with ClickHouse. Also a strong choice for the cloud version if self-hosting is not a priority.
Matomo
License: GPL-3.0
Self-host complexity: Medium (PHP/MySQL) to High (at scale)
Website: matomo.org
Matomo is the oldest and most feature-rich open source analytics tool. It has been in active development since 2007 (originally released as Piwik) and has accumulated a large feature set over that time.
What Matomo can do that simpler tools cannot: full funnel analysis, heatmaps, session recordings, form analytics, e-commerce tracking, A/B testing, custom dimensions and variables, multi-channel attribution, and a full event tracking API. If you are migrating from Google Analytics and want feature parity, Matomo comes closest.
The self-hosted version runs on PHP and MySQL/MariaDB. For low to medium traffic sites, a basic shared hosting account or a modest VPS is sufficient. For high-traffic sites, Matomo's MySQL performance at scale becomes a challenge. Matomo recommends MySQL tuning and can benefit significantly from proper database indexing and server configuration.
The cloud version starts at approximately $23/month and scales with the number of hits.
The tradeoff for Matomo's feature richness is complexity. The settings panel is dense. Configuring Matomo correctly, including privacy settings, archiving cron jobs, and database cleanup, takes time. For teams that need the feature depth, it is worth it. For teams that just need pageviews and referrers, it is overkill.
Best for: Teams migrating from Google Analytics who need feature parity, organizations with e-commerce analytics requirements, and teams that need funnel and session replay capabilities in a self-hostable product.
PostHog
License: MIT (core), some enterprise features proprietary
Self-host complexity: High
Website: posthog.com
PostHog is not primarily a web analytics tool. It is a product analytics platform that includes web analytics as one component. The full feature set includes event tracking, funnel analysis, session replay, feature flags, A/B experiments, user cohorts, and retention analysis. If you are building a SaaS product and want to understand how users interact with the application, PostHog is built for that.
The open source version is genuinely capable. The cloud version has a generous free tier (1 million events per month) and is actively developed by a well-funded team.
Self-hosting PostHog at production scale requires Kubernetes and a meaningful infrastructure investment. PostHog publishes Helm charts and deployment guides. Expect several days of setup and ongoing infrastructure maintenance. This is not a tool you self-host on a $10 VPS.
For small teams or early-stage products, PostHog Cloud's free tier is often the right choice. You get a very capable tool without the infrastructure burden.
Best for: Product teams who need behavioral analytics, A/B testing, and feature flags alongside web analytics. Not a fit for teams who only need simple pageview and referrer data.
GoatCounter
License: EUPL-1.2 / commercial
Self-host complexity: Very Low
Website: goatcounter.com
GoatCounter is a single Go binary. Self-hosting it is as simple as: download the binary, configure a database connection, run it. There is no Docker required, no complex dependency chain, no ClickHouse. If you have ever deployed a Go binary to a server, GoatCounter will feel familiar.
What GoatCounter offers: pageviews, referrers, browser and OS data, screen size, country. That is essentially it. There are no custom events, no real-time dashboard, no SaaS metrics, no funnel analysis.
GoatCounter's niche is very specific: it is the right tool for a personal blog, documentation site, or project where you want basic traffic data with zero maintenance overhead. It is not the right tool for a SaaS product where you need custom event tracking and more than page-level data.
The cloud version has a free tier for low-traffic sites.
Best for: Personal projects, developer documentation sites, and situations where the lowest possible self-hosting complexity matters more than feature depth.
Ackee
License: MIT
Self-host complexity: Low
Website: ackee.electerious.com
Ackee is a Node.js analytics tool backed by MongoDB. It occupies a middle ground: more featured than GoatCounter, less demanding than Matomo, with a cleaner interface than either. The self-hosted setup is a Node.js app with MongoDB, which Docker Compose handles reasonably well.
Ackee tracks pageviews and custom events. It has a GraphQL API, which makes it easy to pull data into other systems. The interface is minimal and clean.
The tradeoff is that Ackee uses MongoDB, which adds a dependency that some teams would rather avoid. PostgreSQL is more common in SaaS infrastructure. If you are already running MongoDB, Ackee fits naturally. If not, you are adding a new database engine to your stack.
Ackee does not have a cloud version. Self-hosting is the only option.
Best for: Developers who want something between GoatCounter (too minimal) and Plausible (too complex to self-host), particularly if they already run MongoDB.
Feature Comparison Table
| Tool | License | Self-hostable | SaaS / Revenue Metrics | Script Size | DevOps Required to Run |
|---|---|---|---|---|---|
| Umami | MIT | Yes | No | ~2KB | Low (Node.js + PostgreSQL) |
| Plausible | AGPL-3.0 | Yes | No | ~1KB | Medium (ClickHouse + PostgreSQL + Docker) |
| Matomo | GPL-3.0 | Yes | No | ~23KB | Medium-High (PHP + MySQL, tuning required at scale) |
| PostHog | MIT (core) | Yes | No (separate tool) | ~68KB | High (Kubernetes at scale) |
| GoatCounter | EUPL-1.2 | Yes | No | ~3KB | Very Low (single Go binary) |
| Abner | Proprietary (SaaS) | No (managed) | Yes (MRR, churn, LTV, ARPU) | 1.8KB core + ~1.9KB vitals | None |
When Self-Hosting Makes Sense
You have a DevOps team. If your team already runs Kubernetes, manages databases, and handles deployments as part of normal operations, adding an analytics tool to that stack is marginal cost. The infrastructure overhead is real but it lands on capacity that already exists.
You have data sovereignty requirements that prohibit third-party processing. Some regulated industries (healthcare, finance, government) or jurisdictions have requirements that data cannot leave specific infrastructure. If your organization's legal or compliance team has determined that all data must stay on your own servers, self-hosting is not optional.
Your traffic volume makes managed pricing expensive. Managed analytics tools typically price by pageview volume. At very high traffic (tens of millions of pageviews per month), the cost of a managed tool can exceed the cost of running your own ClickHouse cluster. At that scale, self-hosting is worth evaluating seriously.
You want to inspect and audit the code. Open source means you can read the code, verify the privacy claims, and confirm exactly what data is collected and how it is processed. For privacy-focused products or companies with security-conscious users, this auditability has real value.
When Managed Makes More Sense
You are a small team or solo founder. Every hour on infrastructure is an hour not on product. The time cost of self-hosting a non-core piece of infrastructure is rarely worth it for small teams.
You want zero maintenance. Managed tools handle uptime, security patches, database backups, and upgrades. You never think about it. For a bootstrapped SaaS where the founder is also the DevOps team, this has significant value.
You need SaaS-specific metrics alongside web analytics. None of the open source web analytics tools listed here integrate Stripe to show MRR, churn rate, LTV, and ARPU in the same dashboard as your web traffic. If you want to correlate your marketing campaigns with revenue impact, you need either two separate tools or a managed SaaS analytics product built for this use case.
You want reliable data from day one. Self-hosted tools can have gaps: if the server goes down, if the database fills up, if a backup process fails silently. Managed tools have SLAs and monitoring teams. For analytics you are making decisions from, reliability matters.
Abner's Position in This Landscape
Abner is not open source. This is a deliberate choice. The product is a managed SaaS built specifically for SaaS founders who want web analytics plus revenue metrics in a single dashboard without any infrastructure to maintain.
The specific things Abner does that none of the open source tools above do:
- Stripe integration that surfaces MRR, churn rate, LTV, and ARPU alongside web traffic in the same interface, so you can see whether a traffic spike actually produced revenue
- Web Vitals (Core Web Vitals) tracking out of the box, lazy-loaded separately so it does not affect page performance
- No DevOps requirement: one script tag, data appears in your dashboard
Abner's tracking script is 1.8KB for the core analytics module, with Web Vitals loaded separately on demand. Web Vitals add 1.9KB, lazy-loaded after page load. No cookies. IP addresses hashed with a daily-rotating salt. No personal data stored. No consent banner required.
Pricing starts at $19/month for Starter, $49/month for Pro, and $99/month for Business. There is a 14-day free trial with no credit card required.
The audience for Abner is not the developer who wants to inspect the source code or control every aspect of the infrastructure. It is the SaaS founder who wants to answer questions like "did that blog post bring in signups that converted to paid?" in a single dashboard without building a data pipeline.
How to Choose
Here is a direct decision framework:
Choose Umami if: You want the lowest-friction open source self-hosting experience, you only need basic web analytics, and you are comfortable with Node.js + PostgreSQL.
Choose Plausible if: You want a polished, actively developed open source tool, you are willing to run a ClickHouse + PostgreSQL stack, and you want a product with a track record and an active community. The cloud version is also one of the strongest managed alternatives.
Choose Matomo if: You need feature parity with Google Analytics, including funnels, heatmaps, session recording, and custom variables. Accept that the setup and maintenance burden is higher.
Choose PostHog if: You are building a SaaS product and you need product analytics (behavioral events, funnels, retention, session replay, A/B testing) in addition to web analytics. The cloud free tier makes this easy to start.
Choose GoatCounter if: You have a personal project or documentation site and want the simplest possible self-hosted setup with the smallest operational footprint.
Choose Abner if: You run a SaaS product, you want web analytics plus Stripe revenue metrics in one place, you want zero infrastructure maintenance, and you want to eliminate your consent banner.
None of these tools are wrong choices. The right one depends on your constraints: how much engineering time you want to spend on analytics infrastructure, what metrics actually matter to your business, and whether the open source licensing model matters to you enough to take on the self-hosting overhead.
What all of the privacy-respecting tools on this list share is that none of them require a cookie consent banner. Cookieless tracking is now the default for serious privacy-focused analytics, open source or managed. The question is which implementation fits your team's capacity and use case.