Plausible vs Umami 2026: Privacy Analytics Pick
Plausible vs Umami in 2026: Privacy-First Analytics Compared
TL;DR
Both Plausible and Umami are lightweight, cookie-free, privacy-focused analytics tools that replace Google Analytics. Plausible is the more feature-complete option — revenue tracking, conversion funnels, Google Search Console integration, and GA import. Umami is the simpler, MIT-licensed option — same core analytics, lighter stack, and completely free (no cloud tier to upsell). For most sites, both work excellently as GA replacements. The choice comes down to whether you need funnels and revenue tracking (Plausible) or prefer MIT license and PostgreSQL simplicity (Umami).
Key Takeaways
- Plausible (AGPL-3.0, 21K+ stars) uses an Elixir + ClickHouse stack for fast analytics at scale — funnels, revenue tracking, Google Search Console, and GA import
- Umami (MIT, 24K+ stars) uses Node.js + PostgreSQL/MySQL — simpler self-hosting, zero cloud tier, MIT license
- Both are under 2 KB tracking scripts, cookie-free, and GDPR compliant without consent banners
- Google Analytics 4 costs nothing but sells your data; both alternatives keep data on your server
- Plausible Cloud starts at $9/month (10K pageviews) — the cloud tier funds development
- Umami has no cloud tier — it's self-hosted only (or Umami Cloud, free beta)
Why Replace Google Analytics?
Google Analytics 4 is free, which makes the case for switching non-obvious at first glance. But the actual cost is privacy — yours and your users'.
GA4 problems:
- Requires GDPR consent banners in EU (annoying, reduces acceptance rates, legally required for cookie placement)
- Shares user data with Google's advertising network
- Complex interface designed for enterprise — most sites use <10% of its features
- Tracking script is 45+ KB, slows page loads
- Data sampling at scale means reports aren't always accurate
- Privacy-conscious users block it (uBlock Origin, Safari ITP) — you're missing a meaningful portion of your traffic
Plausible and Umami solve all of these:
- Under 2 KB scripts (22x smaller than GA)
- No cookies = no consent banners required (anonymized data only)
- No third-party data sharing
- Data stored on your server (or their EU servers if using cloud)
- Simple, readable dashboards
Plausible — The Feature-Complete Option
Plausible launched in 2019 and has grown to a sustainable independent company with 12K+ paying customers. The product is refined — every feature feels intentional, and the interface is genuinely beautiful.
# Plausible self-hosted Docker Compose
services:
plausible_db:
image: postgres:16-alpine
restart: always
volumes:
- db-data:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: postgres
plausible_events_db:
image: clickhouse/clickhouse-server:24.3.3.102-alpine
restart: always
volumes:
- event-data:/var/lib/clickhouse
- event-logs:/var/log/clickhouse-server
- ./clickhouse/clickhouse-config.xml:/etc/clickhouse-server/config.d/logging.xml:ro
- ./clickhouse/clickhouse-user-config.xml:/etc/clickhouse-server/users.d/logging.xml:ro
ulimits:
nofile:
soft: 262144
hard: 262144
plausible:
image: ghcr.io/plausible/community-edition:v2
restart: always
command: sh -c "sleep 10 && /entrypoint.sh db createdb && /entrypoint.sh db migrate && /entrypoint.sh run"
depends_on:
- plausible_db
- plausible_events_db
ports:
- 8000:8000
environment:
- BASE_URL=https://analytics.yourdomain.com
- SECRET_KEY_BASE=your-64-char-secret-key
- DATABASE_URL=postgres://postgres:postgres@plausible_db:5432/plausible_db
volumes:
db-data:
event-data:
event-logs:
The tracking script is added to every page on your site:
<script defer data-domain="yoursite.com"
src="https://analytics.yourdomain.com/js/script.js">
</script>
Custom events track conversions, signups, purchases, and any other user action:
// Track a custom event with properties
plausible('Purchase', {
props: {
plan: 'pro',
revenue: { currency: 'USD', amount: 29 },
}
});
// Track a goal (form submission)
plausible('Newsletter Signup');
// Track with custom properties
plausible('Feature Used', {
props: { feature_name: 'CSV Export', user_tier: 'enterprise' }
});
Revenue tracking automatically calculates total revenue, average revenue per conversion, and revenue trend over time — essential for SaaS businesses and e-commerce.
Funnels let you define multi-step conversion paths:
- Home page → Pricing page → Checkout started → Purchase completed
Plausible shows drop-off percentage at each step, so you can identify where users abandon the conversion flow.
Google Search Console integration displays your top organic search queries alongside traffic data — without leaving the Plausible dashboard. This replaces the need to context-switch to Search Console for SEO analysis.
GA import migrates historical Google Analytics data into Plausible, so you don't lose years of historical comparisons when switching.
Key features:
- < 1 KB tracking script
- Cookie-free, no consent banner required
- Custom events with properties
- Revenue tracking and attribution
- Conversion funnels
- Google Search Console integration
- GA4 import for historical data
- UTM campaign tracking
- Public dashboard sharing
- Team access with multiple sites
- REST API
- AGPL-3.0 license, 21K+ stars
- Cloud at $9/month (10K pageviews)
Umami — The Simpler MIT Option
Umami takes a more minimal approach: excellent core analytics with less complexity, on a simpler technical stack, with an MIT license that allows commercial use without AGPL restrictions.
# Umami Docker Compose
services:
umami:
image: ghcr.io/umami-software/umami:postgresql-latest
restart: always
ports:
- "3000:3000"
environment:
DATABASE_URL: postgresql://umami:umami@db:5432/umami
DATABASE_TYPE: postgresql
APP_SECRET: replace-me-with-a-random-string
depends_on:
db:
condition: service_healthy
db:
image: postgres:15-alpine
restart: always
environment:
POSTGRES_DB: umami
POSTGRES_USER: umami
POSTGRES_PASSWORD: umami
volumes:
- umami-db-data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $POSTGRES_USER -d $POSTGRES_DB"]
interval: 5s
timeout: 5s
retries: 5
volumes:
umami-db-data:
The tracking script is similarly small:
<script async src="https://analytics.yourdomain.com/script.js"
data-website-id="your-website-id">
</script>
Custom events in Umami use data attributes (no JavaScript required for simple tracking):
<!-- Track button clicks without JavaScript -->
<button
data-umami-event="Purchase Button"
data-umami-event-plan="pro">
Upgrade to Pro
</button>
<!-- Or with JavaScript -->
<script>
// After the umami script loads
window.umami.track('Newsletter Signup', { source: 'footer' });
</script>
Multiple website support — one Umami instance tracks unlimited websites. Each website gets its own dashboard, event tracking, and share URL.
Public dashboards share read-only analytics with clients or publicly. The share URL is a permanent, access-controlled view of your analytics.
Key features:
- < 2 KB tracking script
- Cookie-free, no consent banner required
- Custom events with properties
- Goal/conversion tracking
- UTM campaign tracking
- Multiple websites per instance
- Public dashboard sharing
- Team access with role-based permissions
- REST API
- Data export
- MIT license, 24K+ stars
- No cloud tier (self-hosted only)
Limitations vs Plausible:
- No conversion funnels
- No revenue tracking
- No Google Search Console integration
- No GA4 import
- No managed cloud option
Side-by-Side Comparison
| Feature | Plausible | Umami |
|---|---|---|
| License | AGPL-3.0 | MIT |
| Stars | 21K+ | 24K+ |
| Stack | Elixir + ClickHouse | Node.js + PostgreSQL/MySQL |
| Script size | < 1 KB | < 2 KB |
| Cookie-free | ✅ | ✅ |
| GDPR (no consent) | ✅ | ✅ |
| Custom events | ✅ | ✅ |
| Revenue tracking | ✅ | ❌ |
| Funnels | ✅ | ❌ |
| Google Search Console | ✅ | ❌ |
| GA4 import | ✅ | ❌ |
| Public dashboards | ✅ | ✅ |
| Multiple sites | ✅ | ✅ |
| REST API | ✅ | ✅ |
| Cloud option | $9/month | Self-hosted only |
| Min RAM (self-hosted) | 1 GB (ClickHouse) | 512 MB |
| MySQL support | ❌ | ✅ |
Performance at Scale
The technical stack difference matters at high pageview volumes.
Plausible uses ClickHouse as the events database. ClickHouse is a columnar database optimized for analytical queries — aggregating millions of rows to calculate pageview counts, unique visitors, and conversion rates. Plausible handles tens of millions of pageviews per month on modest hardware.
Umami uses PostgreSQL (or MySQL) for event storage. Standard row-based databases are less efficient for analytical aggregations at high volume. For sites under 1 million pageviews/month, you won't notice the difference. For sites with 10+ million pageviews/month, ClickHouse's query performance is measurably better.
Recommendation: Under 1M pageviews/month — either works perfectly. Over 5M pageviews/month — Plausible's ClickHouse backend is the safer choice.
Decision Framework
Choose Plausible if:
- Revenue tracking is important (e-commerce, SaaS with conversion goals)
- Conversion funnels help you optimize the user journey
- Google Search Console integration is valuable (SEO-focused sites)
- You want to import historical GA data for year-over-year comparisons
- You want a managed cloud option for $9/month instead of self-hosting
- You expect over 5M pageviews/month
Choose Umami if:
- MIT license is required (commercial products, avoiding AGPL obligations)
- You prefer PostgreSQL over ClickHouse (simpler to operate)
- MySQL support is needed (existing MySQL infrastructure)
- The simplest possible self-hosting matters most
- Core pageview and event analytics are sufficient — no funnels/revenue needed
Cost Comparison
| Scale | Google Analytics | Plausible Cloud | Plausible Self-Hosted | Umami Self-Hosted |
|---|---|---|---|---|
| 10K pageviews/month | Free | $9/month | $5–8/month | $5–8/month |
| 100K pageviews/month | Free | $19/month | $5–8/month | $5–8/month |
| 1M pageviews/month | Free | $69/month | $15–20/month | $10–15/month |
| Your data used for ads | Yes | No | No | No |
Real-World Performance: Server Resource Comparison
Choosing the right analytics stack requires understanding what each tool actually demands from your server infrastructure — both at rest and under load.
Plausible's Elixir + ClickHouse architecture has a specific resource profile. Elixir (via the Phoenix web framework) is highly concurrent and handles many simultaneous tracking requests with minimal per-request memory. A Plausible instance receiving 50,000 pageviews/day consumes modest Elixir application memory — typically 256–512 MB for the application. The larger resource commitment is ClickHouse: the minimum ClickHouse configuration requires 1 GB RAM, and production deployments that handle real-time query performance on large datasets typically need 2–4 GB dedicated to ClickHouse. Storage grows predictably — roughly 100 MB per 1 million pageviews stored, thanks to ClickHouse's exceptional compression ratio for time-series analytical data.
Umami's Node.js + PostgreSQL stack is simpler to size. The Node.js application itself is lightweight — 256 MB RAM handles high traffic comfortably. PostgreSQL's requirements depend on dataset size and query patterns. For a site with under 1 million pageviews/month, a shared PostgreSQL instance with 1–2 GB RAM is adequate. For larger sites, PostgreSQL's row-based storage is less efficient than ClickHouse for aggregation queries, which means queries run slower and require more RAM to cache working sets. Umami also supports MySQL, which is useful for organizations with existing MySQL infrastructure and database administrators familiar with the platform.
Both tools run efficiently on a $6–12/month VPS for most self-hosted use cases. The meaningful difference emerges at scale: a site doing 50 million pageviews/month will find Plausible's ClickHouse backend significantly more responsive for dashboard queries than Umami's PostgreSQL, which may require query timeouts and caching workarounds at that volume.
Event Tracking Deep-Dive: Custom Events and Goals
Both tools support custom event tracking beyond pageviews, but the implementation depth and analytics capabilities differ meaningfully.
Plausible's custom event system captures events with a name and an optional props object containing string key-value pairs. You can track events like "Signup Button Clicked" with a plan: "pro" property, then filter your Plausible dashboard to show all signups segmented by plan. The Goals feature converts events into conversion metrics: define "Purchase Completed" as a goal and Plausible shows conversion rate (visitors who triggered the event divided by total visitors), absolute conversion count, and trend over time. Revenue tracking associates a numeric value with conversion events — if your purchase event includes a revenue property, Plausible aggregates total revenue and average order value in the dashboard. Funnels connect multiple events into a conversion funnel visualization, showing drop-off at each step.
Umami's event system is similar in structure — event name plus optional data properties — but the analytics interface is simpler. Events appear in the Events tab with count and trend, and you can filter the main dashboard by event name to see the audience that triggered a specific event. However, Umami lacks built-in funnel visualization, revenue aggregation, and the Goals conversion rate calculation that Plausible provides. For teams that primarily need to know "did visitors click this button?" and "which pages drive the most engagement?", Umami's event tracking is perfectly sufficient. For teams running conversion optimization with defined goals and revenue attribution, Plausible's richer analytics justify its additional complexity.
For migration guidance from Google Analytics to either tool, see How to Migrate from Google Analytics to Umami 2026 and How to Migrate from Google Analytics to Plausible 2026, which cover event taxonomy mapping, historical data handling, and tracking script deployment.
Related: Matomo vs Plausible vs Umami: Three-Way Analytics Comparison · How to Self-Host Plausible Analytics · How to Migrate from Google Analytics to Umami · How to Migrate from Google Analytics to Plausible 2026
See open source alternatives to Plausible on OSSAlt.