Matomo
Open-source self-hosted analytics, formerly Piwik
- HQ🇳🇿 New Zealand
- Founded2007
- LicenseGPL-3.0-or-later
- ReferenceRead full review
Two privacy-first web analytics tools, compared side-by-side on the same axes. Data is descriptive — no rankings, no editorial winners.
Open-source self-hosted analytics, formerly Piwik
Open-source self-hosted privacy analytics
Three concrete frames to decide. Not a winner — a fit check.
You need feature parity with GA4 — goals, funnels, ecommerce, custom dimensions, server-side, A/B, heatmaps. Matomo has all of them; Umami has pageviews and basic events.
You need ISO 27001, SOC 2 Type II, HIPAA. Umami's open-source stack doesn't ship audited certifications.
You're migrating from GA4 and need an importer. Matomo ships an official GA4 import; Umami doesn't.
You want an MIT-licensed self-host that runs on a $5 VPS and stays out of your way. Umami's installer is one Docker run away from done.
You operate at <500k events/month and want minimum ops complexity. Umami's Postgres backend is simple enough that the schema is the documentation.
You want to fork it. Real MIT — no brand clauses, no EE upsell.
You want a vendor-managed cookieless SaaS. Look at Plausible or Fathom.
You're tracking app events. See App Analytics.
Comparing managed Matomo Cloud against self-hosted Umami — different deployment models, different cost shape.
| Line item | Matomo | Umami |
|---|---|---|
| Base / hosting | +$39/mo Matomo Cloud Business | +$5/mo VPS for Umami self-host |
| Goals + funnels + heatmaps | +$25/mo Premium plugin | — Not available |
| Database / storage | Included Included | Included Postgres on same VPS |
| Time / ops | Included Vendor-managed | — ~2-4 hr/mo |
| All-in monthly | $64/mo Matomo Cloud + heatmaps | $5/mo Cash only — your time is extra |
Self-host Matomo: $20/mo VPS + ~6 hr/mo ops time. Umami SaaS at $9/mo if you skip self-hosting.
Limits the marketing pages won't list. Each tool has them — knowing which kills the deal saves a migration.
Run on a $5 VPS. Matomo needs ~2GB RAM minimum at small scale, more at production volume.
Stay simple. The dashboard is dense by default. Even with widget pruning, the UX is enterprise-flavored.
Skip an upgrade weekend. The plugin matrix occasionally breaks during major version bumps.
Compete with GA4 on features. Goals, funnels, ecommerce, custom dimensions — all absent or rudimentary.
Ship audited compliance. Self-hosted means you're the processor; no audit framework comes with the install.
Scale ClickHouse-style. Postgres backend handles millions of events but slows down at billions.
Five facts that most often qualify or disqualify a tool early.
| Matomo | Umami | |
|---|---|---|
| Price floor | $29/mo | Free |
| Free tier | Yes | Yes |
| Hosting model | SaaS + self-host | SaaS + self-host |
| Data residency | EU | US |
| Cookieless | No | Yes |
Frameworks claimed and sub-processors disclosed under DPA.
| Framework | Matomo | Umami |
|---|---|---|
| GDPR | Held | Held |
| CCPA | Held | Held |
| UK PECR | Held | Not held |
| SOC 2 Type II | Not held | Not held |
| ISO 27001 | Held | Not held |
| HIPAA | Not held | Not held |
Cheapest published plan from each vendor that covers the listed pageview volume. Retrieved May 1, 2026.
| Traffic | Matomo | Umami |
|---|---|---|
| 10k pv/mo | $29/moEntry | $0/moHobby |
| 100k pv/mo | $39/mo100k | $0/moHobby |
| 500k pv/mo | Custom — contact sales | $20/moPro |
| 1M pv/mo | Custom — contact sales | $20/moPro |
Volumes between tiers follow each vendor's published pricing model. "Custom" indicates the vendor does not publish a price for that volume on their pricing page.
All 38 verified checks across 4 categories.
| Feature | Matomo | Umami |
|---|---|---|
| Pageviews & visitors | Yes Pageviews + visits + visitors |
Yes Pageviews + visitors |
| Live visitor count | Yes Visitors in real-time widget |
No Cloud only feature |
| Top pages report | Yes Pages report (drillable) |
Yes By pageviews/visitors |
| Top referrers | Yes Channels report (drillable) |
Yes Referrer + UTM breakdown |
| UTM campaign tracking | Yes Full attribution model |
Yes Auto-detected from referrer |
| Country & city breakdown | Yes Country, region, city |
Yes Country + city |
| Device, browser, OS | Yes Full device/OS/browser breakdown |
Yes Device + browser |
| Bounce / engagement | Yes Bounce rate |
Yes Bounce rate |
| Time on site | Yes Full session timeline |
Yes Avg session duration |
| Custom events | Yes Multi-dimensional events |
Yes Custom events with property tracking; v3.1 added Custom Boards |
| Goals / conversions | Yes Multi-step + revenue tracking |
Yes Cloud goals; self-host via SQL |
| Funnels | Partial Cloud Business+ included; Self-host: $229/yr premium plugin |
Yes Custom Boards (v3.1+); flat funnel reports |
| Outbound link tracking | Yes Auto + manual |
Yes Via custom events |
| File download tracking | Yes Auto + file-type categorization |
Yes Via custom events |
| 404 / error tracking | Yes Plugin |
No Manual events |
| Feature | Matomo | Umami |
|---|---|---|
| Cookieless by default | Partial Opt-in mode (one-line JS or admin toggle); cookies on by default |
Yes Cookieless tracking; visitor hash with salt rotation (monthly default, configurable) |
| No personal data collected | Partial Configurable; off by default, CNIL mode masks last 2 octets |
Yes IP not stored; used in-memory for geo + salted hash |
| GDPR-compliant out of the box | Partial CNIL exemption (FR); DSK (DE) + Garante (IT) require case-by-case DPA review |
Partial Vendor claims no banner needed (cookieless + no PII); not a legal opinion, EU DPAs may differ on Schrems-II/US infra |
| Data hosted in EU | Yes AWS Frankfurt EU; InnoCraft (NZ) operates under EU adequacy decision |
Partial Mixed: Vercel + Cloudflare (US), ClickHouse (US/EU), Hetzner (EU) |
| Data hosted in US | Yes US data center option |
Yes Vercel + Cloudflare US primary; control plane US-hosted |
| Self-hostable | Yes Free |
Yes Free, Docker |
| Open source | Yes GPL |
Yes MIT |
| Data retention period | Configurable Default 180 days raw (CNIL); max 25 mo; aggregated unlimited |
Configurable Hobby 6 mo · Pro 2 yr · Business 5 yr · Self-host: indefinite |
| Bot & spam filtering | Yes IAB list + custom |
Yes Bot detection |
| Feature | Matomo | Umami |
|---|---|---|
| Script weight (KB) | 23 ~23 KB gzipped (~218 KB uncompressed); same comparison basis as peers |
2 ~2 KB gzipped (4.5 KB uncompressed); same gzipped basis as peers |
| Single-snippet install | Yes Also GTM |
Yes data-website-id attribute |
| WordPress plugin | Yes Bundled plugin (full Matomo runs in WP); 100,000+ installs |
No No official plugin; community "Integrate Umami" by Ancocodet (2k+ installs) |
| Proxy / first-party domain | Yes Configurable proxy/CDN; no native SaaS proxy |
Yes Configurable via TRACKER_SCRIPT_NAME env (rename to dodge adblockers) |
| Public API | Yes Reporting + Tracking + Custom Reports APIs (REST/JSON/XML/CSV) |
Yes Full REST API (websites, stats, events, sessions, reports, realtime) |
| Data export (CSV/JSON) | Yes CSV/JSON/XML/RSS |
Yes CSV |
| Google Search Console connector | No No native GSC connector; pull via API |
No No native GSC connector |
| Email digests | Yes Scheduled email reports |
Yes Cloud |
| Slack / webhook alerts | No No native; via plugin |
No No native Slack |
| Public shareable dashboard | Yes Anonymous viewer permission |
Yes Share-link toggle |
| Feature | Matomo | Umami |
|---|---|---|
| Free tier exists | No 21-day trial only on Cloud; Self-host is free forever |
Yes Hobby plan = permanent free (100k events/mo, 3 sites, 6mo retention) |
| Entry price ($/mo) | 29 Cloud Starter (50k hits/mo, 30 sites) |
20 Cloud Pro tier (1M events/mo, 20 sites, 2yr retention) |
| Price at 100k pageviews | — Business tier — custom pricing |
20 Pro covers 1M events/mo (well over 100k benchmark) |
| Unlimited sites on entry plan | Yes Cloud: 30 sites on Starter; Self-host: unlimited |
Partial 3 sites Hobby · 20 sites Pro · unlimited Business · unlimited Self-host |
Factual answers to the questions readers most often ask about this pair.
For most teams, yes, with caveats. Matomo's heatmaps and session-recording plugin captures click maps, scroll maps, and session replays comparable to a basic Hotjar setup. What you give up is some of the polish: Hotjar's funnel-from-recording flows, its survey tooling, and the speed of its UI when you have thousands of recordings. Matomo's plugin is fine for spot-checking pricing pages, debugging a confusing checkout, or showing rage-clicks to a designer. It is less suited to a product team that runs continuous qualitative research as a discipline. The plugin is a paid Matomo add-on, so factor in licensing alongside hosting costs.
Yes. The big absences are heatmaps, session replay, A/B testing, an ecommerce module with product-level reports, a built-in tag manager, and a dedicated GA4 historical importer. Multi-site administration for many properties is also weaker. Whether any of that matters depends on what your stakeholders actually ask for. Most product teams running one to a dozen sites use less than ten per cent of Matomo's surface area; for them, Umami's smaller feature set is a benefit, not a gap. Agencies, enterprises, and ecommerce operators often genuinely need at least one of the missing pieces, and that is the line where Matomo starts to make sense.
Umami runs comfortably in 256-512MB of RAM on a small VPS. A $5 per month Hetzner or DigitalOcean instance with Postgres on the same box handles a small portfolio of sites without trouble. Matomo's official minimum is also around 512MB, but that is optimistic. With plugins enabled and the archiving job running across 90 days of data, plan for 2GB of RAM, SSD storage, and tuned PHP-FPM and MySQL. Matomo also benefits noticeably from putting MySQL on dedicated storage as traffic grows, where Umami's narrower schema scales gracefully on shared resources for far longer.
At 100,000 pageviews per month, Umami Cloud Pro lands around $19 per month. Matomo Cloud at the same volume is roughly $39 per month, with entry plans starting around €29 for lower volumes. The price difference reflects the products: Umami Cloud is hosting a smaller application and a narrower feature set, while Matomo Cloud is hosting the full plugin ecosystem with the operations burden removed. Both are honest deals for what they include. If you need Matomo's depth, Cloud is almost always cheaper than running it yourself once you cost in your own time.
Umami is cookieless by default. You install it, paste the snippet, and you are done. There is no consent banner needed for analytics under most readings of GDPR and ePrivacy. Matomo can run cookieless too, but it is a configuration: you disable the visitor cookie, turn off any plugins that rely on persistent identifiers, and accept that some cross-visit attribution becomes weaker. The Matomo path is well-documented and works, but it is a deliberate choice rather than the out-of-the-box behaviour. For a team that wants to never think about consent banners again, Umami removes the question entirely.
Sort of. Matomo has a dedicated GA4 importer plugin that pulls historical data through the Google Analytics Data API and reshapes it into Matomo's schema. It is slow, it does not import everything, and there are known caveats around custom dimensions and conversions, but it is a real, supported tool. Umami does not have a comparable importer; the practical path is to export from GA4 to BigQuery or CSV and load the data into Umami's database manually, which is more work and produces a less complete result. If a clean GA4 historical migration matters to you, Matomo is the safer bet.
More comparisons and reference pages on this site.