Skip to main content

Matomo vs Plausible 2026: Analytics Compared

·OSSAlt Team
matomoplausibleanalyticsgoogle analyticscomparison
Share:

Matomo vs Plausible in 2026: Full-Featured vs Lightweight Analytics

TL;DR

Matomo is the enterprise Google Analytics replacement — heatmaps, session recordings, A/B testing, e-commerce funnels, 200+ reports, LDAP, and tag manager. Plausible is the minimalist — essential metrics in a sub-1KB cookie-free script, a clean single-page dashboard, and automatic GDPR compliance without consent banners. They solve different problems: Matomo replaces Google Analytics feature-for-feature; Plausible replaces the 20% of GA features that 80% of teams actually use.

Key Takeaways

  • Matomo (GPL-3.0, 20K+ stars) — PHP/MySQL, 200+ reports, heatmaps (plugin), session recordings (plugin), A/B testing (plugin), e-commerce tracking, LDAP/SSO
  • Plausible (AGPL-3.0, 21K+ stars) — Elixir/ClickHouse, sub-1KB script, cookieless default, funnel visualization, GSC integration, revenue tracking
  • GA4's breaking change (events replacing sessions/pageviews) drove massive migration to open source tools — both Matomo and Plausible are direct beneficiaries
  • Matomo requires 2–4 GB RAM and MySQL; Plausible requires 1–2 GB RAM and ClickHouse + PostgreSQL
  • Plausible is cookieless by default — no GDPR consent banner required; Matomo requires explicit cookie configuration
  • Matomo's script is 22x larger (~22KB) than Plausible's (<1KB) — measurable page speed impact on high-traffic sites

The Google Analytics Replacement Problem

Google Analytics 4 was a forced migration that alienated its own user base. Universal Analytics had familiar session-based reports: pageviews, sessions, bounce rate, top pages, acquisition channels, all visible without configuration. GA4 replaced this with event-based tracking where you must build Explore reports before you can see anything beyond basic traffic numbers.

The result: teams spending hours configuring GA4 to approximate what GA3 showed automatically — while sharing all that data with Google.

Both Matomo and Plausible offer a clean break. But they're aimed at different use cases.


Plausible — The Clean, Fast, Private Option

Plausible's bet is that most websites don't need 200 reports. They need to know: where do visitors come from, what pages do they visit, and did the campaigns work? Everything else is configuration overhead.

Deploy Plausible

# Plausible Community Edition docker-compose.yml
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
    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
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

Add Tracking

<!-- Basic: under 1KB, cookieless, no GDPR banner needed -->
<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

// Track custom conversion event
window.plausible('Signup', { props: { plan: 'pro', source: 'landing-page' } });

// Track revenue with purchase event
window.plausible('Purchase', {
  props: { plan: 'enterprise', billing: 'annual' },
  revenue: { currency: 'USD', amount: 299.00 }
});

// Track funnel steps
window.plausible('Onboarding', { props: { step: 'profile_complete' } });
window.plausible('Onboarding', { props: { step: 'integration_added' } });
window.plausible('Onboarding', { props: { step: 'first_invite_sent' } });

Funnel Visualization

Plausible's funnel builder creates step-by-step conversion views from pages or custom events. Define a 4-step signup funnel in the dashboard — Plausible shows users at each step and drop-off between steps. No event configuration required beyond the JS snippet.

Google Search Console Integration

Connect your GSC account in Plausible settings → Site Settings → Integrations. After connection, the "Search" tab in your Plausible dashboard shows which Google search queries drive traffic, with impressions, clicks, and position — the only open source analytics tool with native GSC integration.

Key features:

  • Sub-1KB tracking script (22x smaller than Matomo)
  • Cookieless, no GDPR consent required by default
  • Real-time dashboard (live visitor count)
  • Custom events with properties
  • Revenue tracking and goals
  • Funnel visualization
  • Google Search Console integration
  • Google Analytics import
  • Email digests (weekly/monthly)
  • REST API
  • AGPL-3.0, 21K+ stars
  • 1–2 GB RAM, Elixir + ClickHouse + PostgreSQL

Matomo — The Complete GA Replacement

Matomo is for teams that actually need GA's depth — marketing agencies, e-commerce sites with detailed product analytics, compliance teams that need full data control without sacrificing reporting capability.

Deploy Matomo

# 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:

Add Tracking

<!-- Matomo tracking code (~22KB) -->
<script>
  var _paq = window._paq = window._paq || [];
  /* Cookie-free mode — no GDPR consent required */
  _paq.push(['disableCookies']);
  _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>

Custom Events and Segments

// Track custom events with category/action/name/value
_paq.push(['trackEvent', 'Feature', 'Used', 'Export CSV', 1]);
_paq.push(['trackEvent', 'Onboarding', 'Step Completed', 'Profile Setup']);
_paq.push(['trackEvent', 'Upgrade', 'CTA Clicked', 'Pricing Page Hero']);

// Custom dimensions for user properties
_paq.push(['setCustomDimension', 1, 'pro']); // Plan dimension
_paq.push(['setCustomDimension', 2, 'engineering']); // Team dimension

E-Commerce Tracking

// Track product category page
_paq.push(['setEcommerceView', false, false, 'Laptops']);
_paq.push(['trackPageView']);

// Track product detail page
_paq.push(['setEcommerceView', 'SKU-001', 'MacBook Pro 14"', 'Laptops', 1999.00]);
_paq.push(['trackPageView']);

// Add to cart
_paq.push(['addEcommerceItem',
  'SKU-001',         // Product ID
  'MacBook Pro 14"', // Product name
  'Laptops',         // Category
  1999.00,           // Price
  1                  // Quantity
]);
_paq.push(['trackEcommerceCartUpdate', 1999.00]);

// Track order completion
_paq.push(['trackEcommerceOrder',
  'ORDER-789',  // Order ID
  1999.00,      // Grand total
  1999.00,      // Subtotal
  0,            // Tax
  0,            // Shipping
  false         // Discount
]);

Heatmaps and Session Recordings

Install the Heatmaps & Session Recordings plugin from the Matomo Marketplace (free). After activation:

  1. Heatmaps: Overlay showing where users click (red = hot zones, blue = cold). Available for any page. See mobile vs desktop click patterns separately.
  2. Session Recordings: Watch individual user sessions — see exactly how users navigate, where they hesitate, and where they drop off. Useful for UX debugging.

Unlike Hotjar or FullStory, recordings stay on your server. No data sent to third parties.

Key features:

  • 200+ report types across channels, devices, geo, behavior, and time
  • Heatmaps and click maps (plugin, free)
  • Session recordings (plugin, free)
  • A/B testing and split tests (plugin)
  • Funnel visualization
  • Goals and conversions
  • Cohort analysis
  • Ecommerce analytics (products, cart abandonment, revenue by category)
  • Custom segments with complex conditions
  • Custom dimensions (user properties)
  • Tag Manager (built-in, no separate service)
  • LDAP/Active Directory integration
  • SAML/Okta SSO (premium plugin)
  • Scheduled email reports (PDF format)
  • Google Analytics 4 import
  • Full REST API
  • GPL-3.0, 20K+ stars
  • 2–4 GB RAM, PHP + MySQL

Side-by-Side Comparison

FeaturePlausibleMatomo
LicenseAGPL-3.0GPL-3.0
Stars21K+20K+
StackElixir/ClickHousePHP/MySQL
Script size< 1 KB~22 KB
Cookie-free defaultOptional
GDPR (no consent)Cookie-free mode
Real-time
Custom events
Revenue tracking✅ (detailed)
E-commerce depthBasic goalsFull cart/order/product
Funnels
SegmentsBasic filters✅ Complex
Heatmaps✅ (plugin)
Session recordings✅ (plugin)
A/B testing✅ (plugin)
Tag Manager✅ Built-in
Custom dimensions✅ (properties)✅ (dimensions)
GSC integration
GA4 import
LDAP/AD
Scheduled reports✅ Email✅ Email PDF
Min RAM1 GB2 GB
Cloud option$9–69/mo$23–249/mo

Decision Framework

Choose Plausible if:

  • Clean, minimal dashboard is the goal — no configuration overhead
  • Page speed matters — 1KB vs 22KB is measurable on mobile
  • Cookieless GDPR compliance without consent banners is required
  • Google Search Console integration adds value to your workflow
  • Revenue tracking and funnels cover your analytics needs
  • Simpler infrastructure is preferred (though ClickHouse adds complexity)

Choose Matomo if:

  • You need Google Analytics feature parity — specifically heatmaps, session recordings, or A/B tests
  • Detailed e-commerce analytics: products, cart abandonment, revenue by category
  • Complex audience segmentation is part of your marketing workflow
  • LDAP/Active Directory authentication is required for enterprise access control
  • Tag Manager as a built-in feature (no separate Google Tag Manager)
  • Scheduled PDF reports distributed to non-technical stakeholders
  • You're fully migrating from GA4 and want every report type to exist

Cost Comparison

SolutionAnnual Cost
Google Analytics 360$150,000+/year
Matomo Cloud (starter)$276/year
Matomo Cloud (full features)$756–2,988/year
Plausible Cloud (100K pageviews)$228/year
Plausible Cloud (1M pageviews)$588/year
Plausible self-hosted$60–120/year
Matomo self-hosted$120–200/year

Related: Plausible vs Umami vs Matomo: The Full Three-Way Comparison · Self-Hosting Guide: Deploy Plausible Analytics · How to Migrate from Google Analytics to Umami

See open source alternatives to Matomo 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.