Matomo

Full-featured analytics you host yourself

Monitoring & Analytics GPL-3.0 Intermediate ★ 21,918 stars

What is Matomo?

Matomo is the heavyweight open-source analytics platform: full visitor journeys, e-commerce tracking, custom reports, segments and heatmaps, all stored on your own server. The closest thing to Google Analytics you can own outright.

Best for

Deep analytics when you cannot send data to a third party

Why choose Matomo

Matomo is the closest thing to owning a full analytics platform outright. It goes well beyond page views: visitor journeys across sessions, e-commerce and goal tracking, custom dimensions, segment builder, scheduled reports, heatmaps and session recordings through plugins. Because the data lives on your server, you can join it to your own database tables and answer questions no hosted tool will allow. It has a proper permission model with roles and per-site access, which makes it viable for an agency running several clients' properties. For an organisation that cannot lawfully send visitor data to a third party but still needs real analytical depth, it is the most complete open-source answer.

Replaces

  • Google Analytics
  • Adobe Analytics
  • Plausible

Key features

  • Session-level visitor tracking and funnels
  • E-commerce and goal tracking
  • Segments, custom reports and scheduled exports
  • Consent management and data anonymisation

What to watch out for

It is not lightweight. A PHP application with a MySQL or MariaDB database needs real resources, and a busy site requires tuning, caching and often a separate database server. Archiving reports is expensive and is the usual reason a Matomo instance feels slow — the fix is running archiving on a schedule rather than on demand, which is a deliberate configuration choice. Upgrades between major versions occasionally require manual steps. The default configuration stores more data than Plausible-style tools, so privacy compliance still depends on how you configure it, not merely on where it runs. Plugins vary in quality and some key features are commercial.

How to deploy

  • PHP + MySQL, Docker image available
  • Run the setup wizard behind TLS
  • Set retention and cleanup policy early

Getting started

Install it on a host with enough memory to breathe and point it at a dedicated database rather than sharing one with your application. Switch report archiving to a scheduled task early, because on-demand archiving is what makes people think Matomo is slow. Decide your goals and custom dimensions before launch so historical data has the shape you need. Configure data retention and anonymisation deliberately for your jurisdiction rather than assuming the defaults are compliant. Set up at least one scheduled report so someone actually reads the data, and include the database in your backup routine.

Typical setup

A PHP host with real memory headroom, pointed at a database server of its own rather than sharing one with the application being measured. Report archiving is moved to a scheduled task early, because on-demand archiving is what makes the instance feel slow. Goals, custom dimensions and segments are defined before launch so historical data has the right shape, and retention and anonymisation settings are chosen deliberately for the jurisdiction. At least one scheduled report goes to a human, the database is backed up with everything else, and major-version upgrades are planned rather than applied casually.

Who should look elsewhere

Do not choose Matomo for a small blog or a personal site — the operational weight is out of proportion to the question being asked, and Plausible or Umami will serve better. Avoid it if you cannot allocate real CPU and memory, because a starved Matomo instance produces slow reports and lost confidence. And if your actual need is just traffic counts without third-party cookies, the simplicity you want is elsewhere.

Project health

  • GitHub stars: 21,918
  • Last code push: 2026-10-02
  • Open issues: 2,518
  • Status: actively developed

Figures pulled from the GitHub API and refreshed periodically.

Matomo as an alternative

More in Monitoring & Analytics