Matomo
Powerful, privacy-respecting web analytics platform
Matomo is a powerful, open-source web analytics platform that gives full ownership of data as a privacy-friendly alternative to Google Analytics. It targets organizations that need detailed analytics with data control. It is deployed via Docker or a PHP stack.
Matomo setup guides & articles
Hands-on coverage of Matomo from the blog.
Measuring SEO With Self-Hosted Analytics
Measuring SEO with self-hosted analytics — Plausible, Umami, or Matomo paired with Search Console, and the events worth tracking on content sites.
Self-Hosting GuidesDitching Google Analytics: Plausible, Umami, or Matomo
Plausible, Umami, and Matomo compared on features, RAM, and script weight — plus GA4 migration paths and why the cookie banner finally goes away.
Key features
- Full-featured analytics suite
- 100% data ownership
- Heatmaps and funnels via plugins
- GDPR-friendly configuration
Pros & cons
Strengths
- Comprehensive analytics
- Privacy-respecting
- Mature and extensible
Trade-offs
- Heavier to self-host
- Some features in paid plugins
Matomo replaces
Last reviewed Aug 26, 2026 · 853 words
Matomo is the right self-hosted analytics tool for one kind of site: the one where somebody will actually open the segment editor, the ecommerce reports, or a goal funnel. Every other site is better served by Plausible or Umami, which show a pageview chart within 5 minutes of install and stay out of the way. Matomo is a PHP application with a MariaDB database, about 1 GB of RAM, a plugin marketplace, and one cron job that decides whether it stays fast after the first month. That cron job is the most important paragraph in this guide, and it is the thing every "Matomo got slow" thread has in common.
Pick it for the reports Plausible refuses to build
Plausible and Umami are deliberately shallow: pages, referrers, countries, a handful of custom events. Matomo is the last open-source project that still aims at the full Google Analytics feature list. Segments (visitors who came from a newsletter and viewed pricing), goals with conversion attribution, ecommerce with product and cart reports, custom dimensions, a tag manager, and a visitor log that shows individual sessions click by click. If you've been forced off GA and there's a marketing person who used any of that, Matomo is the only self-hosted option that won't get a complaint. The Matomo vs Plausible comparison is the fuller version of that split, and the Google Analytics alternatives page covers the whole field.
The archiving cron decides whether it stays fast
Matomo stores raw visits and computes reports from them. By default, it computes those reports when someone opens the dashboard ("browser-triggered archiving"), which is fine for 100 visits a day and a disaster at 10,000: the dashboard takes 30 seconds to load and MariaDB pegs a core every time anyone looks. The fix is two steps, and the install wizard doesn't do them for you. Run the archiver on a schedule:
docker compose exec -u www-data matomo \
php console core:archive --url=https://stats.example.com
Put that in cron every hour. Then, in System, General settings, set "Archive reports when viewed from the browser" to No. From that moment the dashboard reads precomputed tables and loads in under a second, and the database load is a predictable hourly bump instead of a surprise on every page view.
Compose: Matomo, MariaDB, and that cron
services:
matomo:
image: matomo:apache
ports:
- "8080:80"
environment:
MATOMO_DATABASE_HOST: db
MATOMO_DATABASE_USERNAME: matomo
MATOMO_DATABASE_PASSWORD: change-me
MATOMO_DATABASE_DBNAME: matomo
volumes:
- ./matomo:/var/www/html
depends_on:
- db
restart: unless-stopped
db:
image: mariadb:11
environment:
MARIADB_ROOT_PASSWORD: change-me-too
MARIADB_DATABASE: matomo
MARIADB_USER: matomo
MARIADB_PASSWORD: change-me
volumes:
- ./db:/var/lib/mysql
restart: unless-stopped
Finish the wizard in the browser, and set the trusted hostname to the public URL you'll use behind your reverse proxy or the tracker will refuse requests. Back up both the database dump and the matomo/config/config.ini.php file; the rest of the volume is reinstallable. The 1 GB of RAM in the catalogue is realistic for the pair; MariaDB grows with the raw-visit tables, and Matomo can be told to purge raw data older than 180 days once the archives exist, which keeps the database from doubling every year.
Cookieless mode gets most sites out of the consent banner
Matomo's privacy settings are the reason it survived GDPR when others didn't. Anonymise IP addresses by 2 bytes, enable the opt-out, and add one line to the tracking snippet, _paq.push(['disableCookies']);, and Matomo tracks with no cookies at all. You lose returning-visitor accuracy and the precision of the visitor log; you keep everything else. France's CNIL lists a correctly configured Matomo among the tools it considers exempt from consent, which is as close to an official blessing as an analytics tool gets. If your site's audience is European and your alternative is a consent banner, this configuration is the reason to choose Matomo over a tool that can't be tuned. The ditching Google Analytics post walks through the same decision from the migration side.
The paid-plugin line
The core is GPL-3.0 and complete. Heatmaps and session recordings, A/B testing, form analytics, funnels, and media analytics are premium plugins sold on Matomo's marketplace with annual licences. The catalogue lists funnels and heatmaps as plugin features and it's right; if those are your reason for choosing Matomo, price them before you commit. Everything in the previous sections is free.
What I'd do
For a personal site or a homelab dashboard, Umami and no second thought. For a business site with a marketing team, a shop, or a GA-shaped reporting expectation: Matomo on the Compose file above, the hourly archive cron set up before anyone sees the dashboard, browser archiving off, cookieless mode on, and raw-data retention at 180 days. Run like that, it's the one self-hosted analytics tool that grows with the site instead of being outgrown by it.
Compare Matomo
19 head-to-head comparisons.
- Matomo vs PostHog
- Matomo vs Umami
- Matomo vs Plausible
- Matomo vs Rybbit
- Matomo vs Fathom Lite
- Matomo vs OpenPanel
- Matomo vs GoatCounter
- Matomo vs Ackee
- Matomo vs Shynet
- Matomo vs Tianji
- Matomo vs Open Web Analytics
- Matomo vs Counterscale
- Matomo vs Vince Analytics
- Matomo vs Litlyx
- Matomo vs Swetrix
- Matomo vs Pirsch
- Matomo vs Counter.dev Selfhost
- Matomo vs Offen Fair Web Analytics
- Matomo vs Medama
Similar web analytics apps
Superset
Web AnalyticsModern data exploration and visualization platform
Replaces Tableau, Power BI
Metabase
Web AnalyticsOpen-source business intelligence and dashboards
Replaces Tableau, Looker
PostHog
Web AnalyticsOpen-source product analytics platform
Replaces Google Analytics, Mixpanel
Umami
Web AnalyticsSimple, fast, privacy-focused web analytics
Replaces Google Analytics
Postiz
Web AnalyticsSchedule posts, track the performance of your content, and manage all
Replaces Buffer, Hootsuite
Netron
Web AnalyticsVisualizer for neural network and machine learning models