On this page
Overview
Matomo is an analytics platform for collecting website and app usage and exploring it through reports and dashboards. It can be installed on a team's own web server with MySQL or MariaDB, then connected to sites through a JavaScript tracking tag for real-time visits, goals, campaigns, e-commerce, and other reports. It is an option for organizations that want to operate their analytics data in their own environment.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Analyze visits, goals, and campaigns in one interface
Data collected through the JavaScript tracking tag feeds real-time visit reports and can be used for goals, campaigns, e-commerce, segments, and scheduled reports. Dashboard widgets let operators arrange the measurements relevant to each workflow.
Sources: [1]
Operate analytics data and extensions in your environment
Matomo On-Premise runs on a team's web server with PHP and MySQL or MariaDB. Organizations can apply their own management policies to analytics data in the database and retrieve statistics through the Analytics API. Features are organized as plugins that can be added or removed for the deployment.
Sources: [1]
Best fit
Fits organizations that need control over analytics storage and operations
Matomo fits teams that do not want website analytics data managed only by an external provider and need to govern its location, access, retention, and backups themselves. It also suits teams that want to start with standard reports and progressively configure goals and campaigns around an existing tracking tag.
Sources: [1]
Before adoption
Include server operations and privacy configuration in the rollout
Installation requires PHP, MySQL or MariaDB, the relevant PHP extensions, and a web server. The official release directs production users to attached release archives or the official download rather than GitHub's generated source archive. Updates, backups, capacity monitoring, and recovery remain operational responsibilities.
Keeping data in your environment does not automatically satisfy every privacy requirement. Collection fields, consent, anonymization, retention, and user permissions must be configured for applicable law and policy, while operators continue tracking security releases and official notices.
Official sources
- [1]Matomo 5.14.0 README(2026-10-04)
- [2]Matomo 5.14.0 release(2026-10-04)
- [3]Matomo 5.14.0 security policy(2026-10-04)
Supplemental curator note
Look beyond report parity when evaluating Matomo: it is especially relevant when an organization wants to decide who controls analytics data, where it resides, and how long it is retained. Self-hosting adds operational and security responsibility alongside that control.
Try it in 3 steps
- 1
Download the pinned official archive
Download the Matomo 5.14.0 release asset rather than GitHub's automatically generated Source code archive.
curl -LO https://github.com/matomo-org/matomo/releases/download/5.14.0/matomo-5.14.0.zip - 2
Extract into a dedicated directory
Extract without overwriting an existing web root. The official archive creates a matomo subdirectory, so its entry point is matomo-5.14.0/matomo/index.php.
mkdir matomo-5.14.0 && unzip matomo-5.14.0.zip -d matomo-5.14.0 - 3
Check the installer locally
Provide PHP 7.2.5 or newer with PDO plus either pdo_mysql or MySQLi. Bind PHP’s built-in server only to 127.0.0.1 and make up to 30 requests capped at two seconds each to check the installer entry point. Stop the server after success or failure. This is a control-flow check of the distribution and PHP entry point; the real installer page was not run in this environment. A complete installation also requires a supported web server, MySQL or MariaDB, HTTPS, and correct permissions; this step creates no database and publishes nothing.
( test -f matomo-5.14.0/matomo/index.php || exit 1; php -S 127.0.0.1:8080 -t matomo-5.14.0/matomo > matomo-server.log 2>&1 & server_pid=$!; trap 'kill "$server_pid" 2>/dev/null || true; wait "$server_pid" 2>/dev/null || true' EXIT; ready=0; for attempt in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30; do if curl -fSLsS --connect-timeout 1 --max-time 2 http://127.0.0.1:8080/index.php -o matomo-installer.html; then ready=1; break; fi; kill -0 "$server_pid" 2>/dev/null || { cat matomo-server.log; exit 1; }; sleep 1; done; if test "$ready" != 1; then cat matomo-server.log; exit 1; fi; grep -qi 'Matomo' matomo-installer.html )
Growth
Growth trends · Last 30 days
21,922 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 102
- Open PRs
- 116
Development activity is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- analytics
- php
- piwik
- log
- website
- privacy
- mobile
- intranet
- web-analytics
- marketing
- growth
- matomo
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- Redash28,831 Stars
2 shared tag(s) · 2 shared category(s)
query multiple data sources and turn results into visualizations, dashboards, sharing, and alerts
Python - Formbricks13,057 Stars
2 shared tag(s) · 2 shared category(s)
self-host surveys, analysis, and workflows with SpiceDB-backed authorization
TypeScript - GrowthBook8,473 Stars
2 shared tag(s) · 2 shared category(s)
run feature flags, experiments, and product analytics from one open-core experimentation platform
TypeScript - Firefly III24,813 Stars
3 shared tag(s) · 2 shared category(s) · Same language
Keep personal finance data on your own infrastructure and manage it with double-entry bookkeeping, budgets, rules, reports, and a REST API
PHP - Krayin CRM23,965 Stars
3 shared tag(s) · 1 shared category(s) · Same language
Self-host and customize customer, lead, and sales pipelines on Laravel 12
PHP - Flarum16,409 Stars
3 shared tag(s) · 1 shared category(s) · Same language
build a lightweight PHP forum and extend community workflows through a flexible extension system
PHP
Report incorrect information
Tell us if any listing information is incorrect or outdated.