OSS TanbouSign in with GitHub

Collect and analyze website and app usage in a self-hosted analytics platform

About these scores

OSS scale score is an unbounded metric that log-compresses and weights Stars, Watchers, Forks, and Contributors. Discovery score is the current OSS scale score minus the score at discovery. Update pace is commits in the last 30 days, growth momentum is the OSS scale score difference within the recent observation window, and OSS health is a 0–100 rating based on available recency, Community Health, and release data.

Stars
21,922
Primary language
PHP
License
GPL-3.0
Repository last updated
Oct 4, 2026
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.

Sources: [1][2][3]

Official sources

  1. [1]Matomo 5.14.0 README(2026-10-04)
  2. [2]Matomo 5.14.0 release(2026-10-04)
  3. [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. 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. 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. 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 )
Check the official README

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

GitHub data

GitHub dataView detailed GitHub data

GitHub Topics

  • analytics
  • php
  • piwik
  • log
  • website
  • privacy
  • mobile
  • intranet
  • web-analytics
  • marketing
  • growth
  • matomo
Stars
21,922
Forks
2,903
Watchers
395
Open issues
2,408
Contributors
345
Owner type
Organization
Primary language
PHP
License
GPL-3.0
Repository last updated
Oct 4, 2026
Write a related article

Share a guide or use case for this OSS in Markdown. Articles are published after administrator approval.

Report incorrect information

Tell us if any listing information is incorrect or outdated.

After reading this page, do you know what to do next?