Une alternative libre à Google Analytics, en PHP et MySQL
Matomo, anciennement Piwik, est une plateforme de mesure d'audience web écrite en PHP et publiée sous GPL v3 ou ultérieure. Elle s'installe sur un serveur web relié à MySQL ou MariaDB. Un code JavaScript collé dans les pages remonte ensuite visites, sources de trafic, campagnes et ventes dans des rapports en temps réel, stockés dans la base de l'instance. Le projet se présente comme une alternative libre à Google Analytics et dit équiper plus de 1,4 million de sites. Il existe aussi en service cloud payant et en extension WordPress, Matomo for WordPress.
Le comparatif des outils d'analytics web auto-hébergés met Matomo face aux autres outils auto-hébergés sur la base exigée, la licence, le cookie et le rythme des versions.
Édition Community sans plafond, import de logs, option CNIL
- Édition gratuite sans plafond : la version Community auto-hébergée ne limite ni les utilisateurs ni les hits, et inclut déjà e-commerce, campagnes, événements, segmentation, profils de visiteurs et rapports par e-mail.
- Mesure à partir des logs : le script
import_logs.py(Python 3), livré avec Matomo, charge les journaux d'accès d'Apache, Nginx, IIS, HAProxy ou CloudFront dans les mêmes rapports que le suivi JavaScript, en lot ou en continu via syslog. Les visiteurs dont le bloqueur de publicité arrête les scripts de mesure y sont comptés. - Réglage CNIL en une option : depuis la version 5.9, une option par site applique la configuration prévue pour l'exemption de consentement, avec un tableau d'auto-évaluation critère par critère.
Fonctions avancées payantes, serveur à la taille du trafic
Les fonctions avancées sont des extensions payantes. Le cœur est sous GPL, mais les entonnoirs, les cartes de chaleur, l'enregistrement de sessions, l'analyse de formulaires et les rapports personnalisés sont vendus à part. Funnels et Heatmap & Session Recording, par exemple, sont sous InnoCraft EULA, une licence propriétaire. Le premier bundle annuel, Team, coûte 275 € pour 4 utilisateurs et 5 millions de hits par mois. Open Web Analytics, lui aussi écrit en PHP, inclut de base les cartes de chaleur et le rejeu de sessions.
L'hébergement se dimensionne sur le trafic. La documentation recommande 2 processeurs, 2 Go de RAM et 50 Go de SSD jusqu'à 100 000 pages vues par mois, puis 4 processeurs et 8 Go de RAM jusqu'à un million. Les rapports se calculent par défaut à l'ouverture ; au-delà de quelques centaines de visites par jour, la documentation conseille de lancer core:archive toutes les heures par cron. Pour un site WordPress à fort trafic, l'éditeur oriente vers la version auto-hébergée ou le cloud plutôt que vers l'extension.
Se passer du bandeau de consentement demande un réglage, puis de la rigueur. La CNIL dispense de consentement la mesure d'audience limitée à des statistiques anonymes, sans recoupement avec d'autres traitements ni suivi d'un site à l'autre, et ne certifie aucun outil. L'option Enforce compliance de Matomo (Administration > Privacy > Compliance) masque deux octets de l'adresse IP, retire les paramètres de campagne, restreint le suivi e-commerce et fixe la conservation à 759 jours. Elle coupe aussi le journal des visites, les profils de visiteurs, les cartes de chaleur et l'A/B testing, dont les tests existants sont supprimés. L'éditeur du site doit encore afficher un mécanisme d'opposition, ne placer aucune donnée personnelle dans les URL, les titres de page ou les événements, et limiter la durée des cookies à 13 mois. Matomo en dépose par défaut, sauf si le code de suivi appelle disableCookies ; Umami affirme n'en poser aucun.
L'import de logs ne voit pas ce que seul le navigateur connaît. Les journaux ne donnent ni la résolution d'écran, ni les titres de page, ni les événements, et l'import ne fonctionne pas avec l'extension WordPress. Pour lire des logs sans base de données à faire tourner, GoAccess en tire directement un tableau de bord dans le terminal ou un rapport HTML.
Le dépôt publie presque chaque mois. Huit versions mineures sont sorties entre fin janvier et fin septembre 2026, de la 5.7.0 à la 5.14.0 ; la dernière stable, la 5.14.1, date du 4 octobre 2026. La 6.0, en bêta depuis le 7 septembre 2026, relève les prérequis à PHP 8.1 et à MySQL 8.0 ou MariaDB 10.6.
