Skip to main content

Plausible vs Umami vs Matomo 2026: Analytics

·OSSAlt Team
plausibleumamimatomoanalyticscomparison
Share:

Plausible vs Umami vs Matomo in 2026: Open Source Analytics Compared

TL;DR

Three open source Google Analytics alternatives, three different philosophies. Plausible is the privacy-first, polished option — a sub-1KB script, cookieless by default, and a clean dashboard that shows the 20% of analytics features 80% of people actually use. Umami is the simplest and lightest — MIT license, minimal setup, and a multi-site dashboard without the configuration overhead. Matomo is the full Google Analytics replacement — heatmaps, session recordings, A/B testing, funnel visualization, and 200+ reports with full GDPR compliance. Google Analytics 4 alienated most of its users; these three tools offer clean exits.

Key Takeaways

  • Plausible (AGPL-3.0, 21K+ stars) — sub-1KB script, Elixir/ClickHouse, revenue tracking, GSC integration, funnels
  • Umami (MIT, 24K+ stars) — Node.js, cleanest dashboard, multi-site, most permissive license, self-host only
  • Matomo (GPL-3.0, 20K+ stars) — PHP/MySQL, 200+ reports, heatmaps, session recordings, A/B testing, LDAP
  • Google Analytics 4's event-based model confused the majority of its users — a clean break beats relearning GA4
  • Plausible and Umami are cookieless by default — no GDPR consent banners required
  • Matomo in cookie-free mode also avoids consent requirements but with reduced accuracy

The Case Against Google Analytics 4

Google Analytics 4 was a breaking change. Universal Analytics had familiar reports: pageviews, sessions, bounce rate, top pages, referrers. GA4 replaced everything with events, conversions, and Explore reports that require configuration before they show anything useful.

The result: most website owners see less from GA4 than they did from UA, while the tracking footprint is the same size.

The open source analytics space grew substantially as a result. All three tools here offer:

  • Privacy-first by default (cookie-free or optional cookies)
  • Full data ownership (self-hosted)
  • Simpler setup and clearer dashboards
  • No Google data sharing

Plausible — The Polished Privacy-First Option

Plausible's design philosophy is intentional minimalism. Show the metrics that matter, load fast, and make GDPR compliance automatic.

# Plausible Community Edition docker-compose.yml
# https://github.com/plausible/community-edition
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/logs.xml:/etc/clickhouse-server/config.d/logs.xml:ro
      - ./clickhouse/ipv4-only.xml:/etc/clickhouse-server/config.d/ipv4-only.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:
      - 127.0.0.1:8000:8000
    env_file:
      - .env

volumes:
  db-data:
  event-data:
  event-logs:
# .env
BASE_URL=https://analytics.yourdomain.com
SECRET_KEY_BASE=your-64-char-generated-secret
TOTP_VAULT_KEY=your-32-char-generated-key

# SMTP
MAILER_EMAIL=analytics@yourdomain.com
SMTP_HOST_ADDR=smtp.resend.com
SMTP_HOST_PORT=587
SMTP_USER_NAME=resend
SMTP_USER_PWD=re_your_api_key
SMTP_HOST_SSL_ENABLED=true

# Optional: Google Search Console
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-secret

What Plausible Tracks

<!-- Basic tracking — under 1KB -->
<script defer data-domain="yourdomain.com"
  src="https://analytics.yourdomain.com/js/script.js"></script>

<!-- Enhanced: outbound links + file downloads + custom events -->
<script defer data-domain="yourdomain.com"
  src="https://analytics.yourdomain.com/js/script.tagged-events.outbound-links.file-downloads.js">
</script>

Custom events and revenue tracking:

// Track a purchase with revenue
window.plausible('Purchase', {
  props: { plan: 'pro' },
  revenue: { currency: 'USD', amount: 49.00 }
});

// Track feature usage
window.plausible('Used Feature X', { props: { source: 'sidebar' } });

// Track sign-up funnel steps
window.plausible('Signup Step', { props: { step: 'email_entered' } });
window.plausible('Signup Step', { props: { step: 'plan_selected' } });
window.plausible('Signup Step', { props: { step: 'payment_complete' } });

Funnel visualization: Plausible's funnels show step-by-step drop-off across any sequence of pages or events — without GA4's event configuration complexity.

Google Search Console integration shows which search queries bring traffic directly in the Plausible dashboard — the only open source analytics tool with native GSC integration.

Key features:

  • Sub-1KB script (22x smaller than Matomo)
  • Cookieless, no consent banner required by default
  • Real-time dashboard
  • Custom events with properties
  • Revenue tracking and goals
  • Funnel visualization
  • Google Search Console integration
  • Google Analytics import
  • Email digests and custom reports
  • REST API
  • AGPL-3.0 license, 21K+ stars

Infrastructure: Postgres + ClickHouse, ~1–2 GB RAM for moderate traffic


Umami — The Minimal MIT Option

Umami is the no-fuss option. Deploy in five minutes, get a clean multi-site dashboard, and never touch configuration again. The MIT license means no copyleft concerns for commercial deployments.

# Umami Docker Compose
services:
  umami:
    image: ghcr.io/umami-software/umami:postgresql-latest
    ports:
      - "3000:3000"
    environment:
      DATABASE_URL: postgresql://umami:password@db:5432/umami
      DATABASE_TYPE: postgresql
      APP_SECRET: your-app-secret-min-32-chars
    depends_on:
      db:
        condition: service_healthy
    restart: always

  db:
    image: postgres:15-alpine
    environment:
      POSTGRES_DB: umami
      POSTGRES_USER: umami
      POSTGRES_PASSWORD: password
    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
    restart: always

volumes:
  umami-db-data:
<!-- Umami tracking script -->
<script defer src="https://analytics.yourdomain.com/script.js"
  data-website-id="your-website-id"></script>

Custom event tracking:

// Track events with data attributes (no JavaScript required)
<button data-umami-event="signup-click" data-umami-event-plan="pro">
  Sign Up
</button>

// Or via JavaScript
window.umami.track('form_submit', { form: 'contact', source: 'header' });

// Track page views manually (for SPAs)
window.umami.track();

Umami's dashboard shows: pageviews, unique visitors, bounce rate, top pages, referrers, devices, browsers, and OS — clean single-page view with date range selector. No configuration required to see these metrics.

Multi-site support: One Umami instance tracks unlimited websites. Each site gets its own tracking script ID. The top-level dashboard shows all sites with aggregate and per-site views.

Key features:

  • Cleanest UI of the three tools
  • Multi-site from one instance
  • Custom event tracking
  • Real-time stats
  • Team sharing with viewer/admin roles
  • REST API
  • MIT license — no copyleft concerns
  • PostgreSQL or MySQL backend
  • 24K+ stars

Infrastructure: Node.js + PostgreSQL, ~256 MB RAM


Matomo — The Full Google Analytics Replacement

Matomo is what you choose when you actually need GA's depth: heatmaps, session recordings, A/B tests, detailed e-commerce analytics, and GDPR-compliant enterprise reporting.

# Matomo Docker Compose
services:
  matomo:
    image: matomo:latest
    restart: always
    ports:
      - "8080:80"
    volumes:
      - matomo_data:/var/www/html
    environment:
      MATOMO_DATABASE_HOST: db
      MATOMO_DATABASE_ADAPTER: mysql
      MATOMO_DATABASE_DBNAME: matomo
      MATOMO_DATABASE_USERNAME: matomo
      MATOMO_DATABASE_PASSWORD: password
    depends_on:
      - db

  db:
    image: mariadb:10.11
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: rootpassword
      MYSQL_DATABASE: matomo
      MYSQL_USER: matomo
      MYSQL_PASSWORD: password
    volumes:
      - matomo_db:/var/lib/mysql
    command: --max_allowed_packet=64MB

volumes:
  matomo_data:
  matomo_db:
<!-- Matomo tracking code -->
<script>
  var _paq = window._paq = window._paq || [];
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u = "https://analytics.yourdomain.com/";
    _paq.push(['setTrackerUrl', u+'matomo.php']);
    _paq.push(['setSiteId', '1']);
    var d = document, g = d.createElement('script'), s = d.getElementsByTagName('script')[0];
    g.async = true; g.src = u+'matomo.js'; s.parentNode.insertBefore(g, s);
  })();
</script>

Cookie-free mode (no consent banner):

// Disable cookies for GDPR without consent
_paq.push(['disableCookies']);
_paq.push(['trackPageView']);

E-commerce tracking:

// Track product view
_paq.push(['setEcommerceView', 'SKU-001', 'Wireless Headphones', 'Electronics', 79.99]);

// Track add to cart
_paq.push(['addEcommerceItem', 'SKU-001', 'Wireless Headphones', 'Electronics', 79.99, 1]);
_paq.push(['trackEcommerceCartUpdate', 79.99]);

// Track purchase
_paq.push(['addEcommerceItem', 'SKU-001', 'Wireless Headphones', 'Electronics', 79.99, 1]);
_paq.push(['trackEcommerceOrder', 'ORDER-456', 79.99, 79.99, 0, 0, false]);

Heatmaps and session recordings (free plugin) show where users click, scroll, and where they drop off — without sending data to a third-party service like Hotjar.

Key features:

  • 200+ reports (channels, devices, geo, behavior, e-commerce)
  • Heatmaps and click maps (plugin)
  • Session recordings (plugin)
  • A/B testing (plugin)
  • Funnel visualization
  • Goals and conversions
  • Segments with complex conditions
  • Custom dimensions and variables
  • Tag Manager (built-in)
  • LDAP/AD and SSO integration
  • Scheduled email reports
  • GA4 import
  • Full REST API
  • GPL-3.0 license, 20K+ stars

Infrastructure: PHP/MySQL, ~2–4 GB RAM


Full Three-Way Comparison

FeaturePlausibleUmamiMatomo
LicenseAGPL-3.0MITGPL-3.0
Stars21K+24K+20K+
StackElixir/ClickHouseNode.js/PostgreSQLPHP/MySQL
Script size< 1 KB< 2 KB~22 KB
Cookie-free defaultOptional
GDPR (no consent)Cookie-free mode
Real-time
Custom events
Revenue tracking✅ (detailed)
E-commerce trackingBasic✅ Full
Funnels
Heatmaps✅ (plugin)
Session recordings✅ (plugin)
A/B testing✅ (plugin)
SegmentsBasicBasic✅ Advanced
GA import
GSC integration
LDAP/SSOBasic
Min RAM1 GB256 MB2 GB
Cloud option$9–69/moSelf-host$23–249/mo

Decision Framework

Choose Plausible if:

  • You want the best balance of simplicity and useful features
  • Revenue tracking and funnels matter but heatmaps don't
  • Google Search Console integration adds value
  • Cookieless GDPR compliance by default is required
  • You want Plausible Cloud as an alternative to self-hosting

Choose Umami if:

  • Absolute simplicity is the top priority
  • MIT license is required (no copyleft)
  • Multiple sites tracked from one dashboard
  • Node.js/PostgreSQL stack is simpler for your ops team
  • You don't need revenue tracking, funnels, or GSC integration

Choose Matomo if:

  • You need Google Analytics-level depth (heatmaps, session recordings, A/B testing)
  • Detailed e-commerce analytics (products, cart abandonment, categories)
  • Complex segmentation and custom reports
  • LDAP/Active Directory or enterprise SSO
  • You're migrating from GA4 and want full feature parity
  • Scheduled email reports distributed to stakeholders

Cost Comparison

SolutionAnnual Cost
Google Analytics 360$150,000+/year
Plausible Cloud (10K pageviews/mo)$108/year
Plausible Cloud (100K pageviews/mo)$228/year
Matomo Cloud$276–2,988/year
Plausible self-hosted$60–120/year
Umami self-hosted$60–120/year
Matomo self-hosted$120–200/year (PHP stack)

Related: Plausible vs Umami · Matomo vs Plausible: Full-Featured vs Lightweight · Self-Hosting Guide: Deploy Plausible Analytics

See open source alternatives to Plausible on OSSAlt.

The SaaS-to-Self-Hosted Migration Guide (Free PDF)

Step-by-step: infrastructure setup, data migration, backups, and security for 15+ common SaaS replacements. Used by 300+ developers.

Join 300+ self-hosters. Unsubscribe in one click.