Open-source alternatives to Google Analytics: 4 web analytics tools compared
All four stop sending your visitors' data to a third party, and what that costs is a database, a container and an upgrade you now schedule yourself. umami-software/umami is the one most readers should try first, since it needs one Postgres and one Node process, while matomo-org/matomo is the choice when the raw visit log is the requirement.
What Google Analytics does, and why people look elsewhere
Google Analytics is Google's hosted web and app analytics: page views, sessions, conversions and audience reports collected through a JavaScript tag.
- visitor data is processed by Google, which raises consent and data-transfer questions under GDPR
- the tag is widely blocked by browsers and ad blockers
- raw data export needs BigQuery and a paid tier
The candidates at a glance
| Project | Licence | Maintenance | Language | GitHub stars | Install |
|---|---|---|---|---|---|
| umami-software/umami | MITPermissive: commercial use allowed | Commits in the last dayLast push November 7, 2026 | TypeScript | 39,973 | Command documented |
| plausible/analytics | AGPL-3.0Network copyleft: hosting a modified version means sharing source | Commits in the last dayLast push November 7, 2026 | Elixir | 29,790 | Command documented |
| matomo-org/matomo | GPL-3.0Copyleft: distributing it means sharing source | Commits in the last six monthsLast push November 6, 2026 | PHP | 22,012 | See analysis |
| PostHog/posthog | Custom licenceCustom licence: read the LICENSE file | Commits in the last dayLast push November 7, 2026 | Python | 40,689 | See analysis |
Each alternative in detail
umami-software/umamiUmami is a privacy-first analytics platform. Traffic, campaigns, behavior, conversions, and revenue in one place — no cookies, no surveillance, self-hosted or in the cloud.
- Best for
- You want traffic, campaign, behaviour, conversion and revenue reporting without cookies and without data leaving your network. It runs on one PostgreSQL database and one Node.js process, with a Docker Compose path if you would rather not manage the Node side yourself.
- What you give up
- It reports aggregate numbers, and our analysis of Umami lists cross-domain user identity tracking and raw event streaming to a data warehouse as cases where it is the wrong fit, so joining one visitor across properties is not something it does. The build step also creates a login with the username admin and the password umami, which has to be changed before the instance sees real traffic, and two-factor authentication stays unavailable until you generate TWO_FACTOR_ENCRYPTION_KEY.
- First install step
- Full setup guide
git clone https://github.com/umami-software/umami.git cd umami pnpm install
plausible/analyticsOpen source, privacy-first web analytics. Lightweight, cookie-free Google Analytics alternative. Self-hosted or cloud.
- Best for
- You want aggregate, cookie-free traffic numbers on a single page with no training, and you are willing to run PostgreSQL, ClickHouse and an Elixir release yourself. The README describes a small tracking script, an events API, goals, funnels, revenue attribution and codeless tracking of outbound clicks and form completions.
- What you give up
- The self-hosted Community Edition is a full stack rather than a single container, and it is aggregate by design: the README states no personal data or IP addresses are stored, and our analysis of Plausible rules it out when you need per-visitor session replay. AGPL-3.0 also means that hosting a modified version makes the source available to the people using it, which is a different arrangement from a permissive licence. The release list is slower than the others here too, with v3.2.1 dated 2026-05-15.
- Moving from Google Analytics
- The README documents importing your historical Google Analytics stats, so reports can continue from where they stopped.
- First install step
- Full setup guide
mix deps.get mix ecto.create mix ecto.migrate mix download_country_database npm install --prefix assets npm install --prefix tracker npm run deploy --prefix tracker
matomo-org/matomoEmpowering People Ethically, Matomo is hiring! Join us Matomo is the leading open-source alternative to Google Analytics, giving you complete control and built-in privacy. Easily collect, visualise, and analyse data from websites & apps. Star us on GitHub, Pull Requests welcome!
- Best for
- You need the raw visit log inside your own MySQL, with e-commerce tracking, goal tracking, campaign tracking, custom variables, email reports, a custom segment editor, geo location and real-time maps on top. It uploads to a webserver you already run and hands you a JavaScript tag at the end of the install.
- What you give up
- It is the oldest stack of the four: PHP 8.1 or greater with MySQL 8.0 or greater, or MariaDB 10.6 or greater, plus the pdo_mysql or MySQLi extension. Our analysis of Matomo says the README gives no rollback path for a bad release, so an upgrade is a step you take without a stated way back, and the three most recent releases listed are 5.14.0 alpha builds. GPL-3.0 is workable for internal hosting and is a copyleft licence to read before you modify and redistribute it.
PostHog/posthog:hedgehog: PostHog is the leading platform for building self-driving products. Our developer tools – AI observability, analytics, session replay, flags, experiments, error tracking, logs, and more – capture all the context agents need to diagnose problems, uncover opportunities, and ship fixes. Steer it all from Slack, web, desktop, or the MCP.
- Best for
- You want web analytics sitting next to session replay, feature flags, experiments, error tracking, logs and surveys, all fed by one event pipeline instead of one tool per job. The README also covers web vitals and revenue in the same dashboard, and autocapture if you would rather not instrument by hand.
- What you give up
- The README states that open source deployments should scale to approximately 100k events per month and recommends migrating to PostHog Cloud after that, so this is not the open source answer for high volume production traffic. It also says plainly that no customer support and no guarantees are provided for open source deployments, which leaves the operational work entirely with you. The licence is one GitHub reports as NOASSERTION, so the open source and paid boundary has to be read out of the LICENSE file rather than assumed.
A counter, a platform, a full server and a product suite
Google Analytics is Google's hosted web and app analytics: page views, sessions, conversions and audience reports collected through a JavaScript tag. The reasons people look elsewhere are three, and each candidate below answers a different one. Visitor data is processed by Google, which raises consent and data transfer questions under GDPR. The tag is widely blocked by browsers and ad blockers. And raw data export needs BigQuery and a paid tier.
That produces four different tools rather than four clones.
umami-software/umami is the direct answer to the third reason. The README describes a privacy-first platform covering traffic, campaigns, behavior, conversions and revenue with no cookies, hosted on your own PostgreSQL. It is the smallest coherent unit here: a database and a process.
plausible/analytics answers the first and the third. The README describes a cookie-free tool where all key insights sit on a single page, with no personal data or IP addresses stored, and it explicitly frames itself as a move away from Google Analytics with an import path for historical stats.
matomo-org/matomo answers the third in the most literal way. It is a full-featured PHP and MySQL program you upload to your own webserver, and it is the only one of the four where the raw visit log is the primary artefact, with everything else reported on top of it.
PostHog/posthog answers a different question. It is not a counter, it is a product analytics platform: session replay, feature flags, experiments, error tracking, logs, surveys, data pipelines and AI observability, with web analytics as one panel among many. If your problem is page views, it is more than you asked for. If your problem is understanding why a user bounced, it is the only one here that answers it.
Left out, and worth saying why: session-replay-only tools and the closed-source tag managers, which solve a different problem, and the hosted privacy-first services, which do the same job as these four without the server.
Choosing by scenario: a solo site, a small team, a company with consent requirements, a product team
The right question is what you will do with the data afterwards.
A solo site or a one-person blog wants aggregate numbers and nothing else. umami-software/umami is the shortest path: one database, one process, and the reports the README lists are the reports most small sites actually open. plausible/analytics gives a cleaner single page and a smaller script, at the cost of a heavier stack.
A small team that already runs web servers has a different answer. matomo-org/matomo drops into an existing PHP and MySQL host without a container, which is a real advantage for a team that has no container platform but does have a webserver. It is also the only one here that keeps the full visit log, so anything the reports do not cover can still be queried later.
A company with consent and data residency requirements is the case all four target, and the differences narrow. Every one of them is cookieless by design and stores data somewhere you control. The remaining questions are operational and contractual: what runs, who patches it, and what the licence obliges you to publish.
A product team is a different audience, and only one of these four was built for it. PostHog/posthog exists to join product analytics to session replay, flags and error tracking in one pipeline, and the README's web analytics panel covers traffic, sessions, conversion, web vitals and revenue. If you ship software rather than run a website, that combination is why you would be here. If you run a content site, the other three are the honest answer.
What each one asks you to run and keep patched
Analytics is cheap to install and expensive to abandon, because the data accumulates. That makes the upgrade path more important than the first run.
umami-software/umami wants Node.js 18.18 or later and PostgreSQL v12.14 or later, and the command on this page is a git clone followed by pnpm install, which tells you it is a source build with a build step. The README documents the update path explicitly: git pull, pnpm install, pnpm build, or docker compose pull followed by a forced recreate. That is a rebuild on every upgrade, and it is the most hands-on update cycle of the four.
plausible/analytics has no install command in our analysis, and the reason is the stack. Our analysis of Plausible describes the self-hosted path as PostgreSQL, ClickHouse and an Elixir release that you operate, not one container. That is the heaviest runtime here, and it is heaviest in the place that hurts, because ClickHouse is a columnar store whose disk and memory behaviour you now understand.
matomo-org/matomo also has no install command in our analysis, and it does not need one: the README says to upload the files to your webserver, point a browser at the directory and follow the steps. Underneath it is PHP 8.1 or greater, MySQL 8.0 or greater or MariaDB 10.6 or greater, and the pdo_mysql or MySQLi extension. Our analysis of Matomo notes that the console script at the repository root is the entry point the project ships for command line work, which is what you will reach for when a report needs rebuilding.
PostHog/posthog shows pip install posthog on this page, and that installs the Python library rather than the server. The server is the one-line hobby deploy in the README, which recommends 4GB of memory. What you are running is the largest of the four by feature count, and the README is explicit that no support and no guarantees come with it.
Licences: MIT, AGPL-3.0, GPL-3.0 and one GitHub cannot classify
Three of these four have a licence you can classify in a sentence, and one does not.
umami-software/umami is MIT. Run it, modify it, keep your changes to yourself, and there is nothing further to negotiate. For internal analytics on your own network, that is the whole conversation.
matomo-org/matomo is GPL-3.0. Internal hosting is unremarkable. The obligation appears when you distribute a modified version, and the same is true of the second candidate here.
plausible/analytics is AGPL-3.0, which is the one to think about rather than skim. AGPL reaches beyond distribution: if you run a modified Plausible and let other people reach it over a network, the source obligation applies to those users. Our analysis of Plausible tells you to confirm the AGPL-3.0 obligations fit how you intend to modify and distribute the code, and that is worth doing in writing before a team standardises on it.
PostHog/posthog is the one GitHub reports as NOASSERTION, which means the repository metadata does not resolve to a licence identifier a scanner recognises. Our analysis of PostHog says to check that the LICENSE file matches the open source versus paid split described in the README, and to treat the boundary as something to read rather than something to assume. A licence you cannot classify in a sentence is a licence that needs a lawyer and an afternoon.
One practical point applies to all of them. Analytics data is easy to accumulate and expensive to move, so whichever licence you accept, decide before the first event lands whether you ever intend to modify any of these. If the answer is no, the licence question largely disappears.
Getting past the reports you already have
The raw data export question is where these tools behave most differently, because Google Analytics holds what you have today and the alternatives start empty.
plausible/analytics answers it directly. The README describes a smooth transition from Google Analytics with familiar metrics, campaign tracking and Search Console integration, and it states that you can import your historical Google Analytics stats and continue where you left off. That import is a documented path, which makes Plausible the least disruptive of the four to switch to.
The other three give you a database instead of an import. umami-software/umami writes to PostgreSQL, so the path is a query against tables you own rather than a guided import. matomo-org/matomo is stronger here than the others, because the raw visit log is the primary artefact, so a report the interface does not offer can still be assembled from the underlying rows. PostHog/posthog is the least relevant to this question, because the question assumes a website whose history matters more than the product signals.
The second reason people leave, ad blockers, is worth naming because it changes the numbers rather than the tool. A blocked tag produces no data at all, so a migration that keeps the same script may show less traffic than the tool you are leaving. Cookieless does not mean unblockable, and that gap is worth checking against your own server logs before you draw a conclusion from either dashboard.
Bottom line
Pick umami-software/umami for aggregate traffic and conversion reporting with the smallest operational footprint, matomo-org/matomo when the raw visit log and an existing PHP and MySQL host matter, plausible/analytics for a single clean page and a documented import of historical Google Analytics stats once you accept an AGPL-3.0 stack of Postgres, ClickHouse and an Elixir release, and PostHog/posthog for a product team that wants replay, flags and errors beside its web numbers. Before committing, change the default admin credentials, confirm your event volume fits the tool you picked, and read the licence file the tooling cannot classify.
Sources
Was this useful?