Introduction
Le comportement d’une instance Matomo auto-hébergée est régi par deux fichiers. config/global.ini.php contient l’ensemble des paramètres et leurs valeurs par défaut ; il est remplacé à chaque mise à jour et ne doit pas être modifié. config/config.ini.php contient les valeurs propres à l’instance : tout paramètre qui y est déclaré, sous la même section, prend le pas sur la valeur par défaut.
[General] force_ssl = 1
Cet article recense les paramètres de global.ini.php (branche 5.x-dev, novembre 2026), section par section, avec leur valeur par défaut et leur impact. Les paramètres présents en commentaire dans le fichier, donc inactifs par défaut, sont signalés par la mention « non défini ». Les sections réservées aux tests automatisés ([database_tests], [tests], [DebugTests]) ne sont pas traitées. Une durée sans unité s’exprime en secondes.
Sur Matomo Cloud, ce fichier n’est pas accessible : les réglages passent par le support.
Base de données : [database] et [database_reader]
| Paramètre | Défaut | Impact |
|---|---|---|
host | vide | Serveur MySQL/MariaDB |
username | vide | Utilisateur de connexion |
password | vide | Mot de passe de connexion |
dbname | vide | Nom de la base |
tables_prefix | vide | Préfixe des tables (ex. matomo_) |
port | 3306 | Port de connexion |
adapter | PDO\MYSQL | Pilote PHP ; le délai maximal des requêtes ne fonctionne pas avec MYSQLI |
type | InnoDB | Moteur de stockage des tables |
schema | Mysql | Schéma de base utilisé |
enable_ssl | 0 | Chiffre la connexion à la base |
ssl_ca | vide | Certificat de l’autorité (obligatoire avec SSL) |
ssl_cert | vide | Certificat client (facultatif) |
ssl_key | vide | Clé client (facultatif) |
ssl_ca_path | vide | Répertoire des certificats d’autorité |
ssl_cipher | vide | Algorithmes de chiffrement autorisés |
ssl_no_verify | vide | Ignore la vérification des certificats auto-signés ; réservé aux tests |
charset | utf8 | Jeu de caractères des données ; ajoute une requête SET à chaque page vue |
collation | vide | Interclassement ; corrige les erreurs « Illegal mix of collation » |
ignore_error_codes[] | non défini | Codes d’erreur SQL ignorés pendant les mises à jour |
enable_segment_first_table_join_prefix | 0 | Impose l’ordre des jointures des requêtes de segments, contre un mauvais choix de l’optimiseur MySQL |
enable_first_table_join_prefix | 0 | Même effet pour toutes les requêtes sur les tables de logs |
La section [database_reader] (host, username, password, dbname, port) déclare un serveur réplica en lecture. Les requêtes d’archivage et du journal des visites y sont alors envoyées, ce qui soulage le serveur principal ; un retard de réplication peut toutefois fausser les rapports. Le paramètre aurora_readonly_read_committed (vide par défaut) limite, sur Amazon Aurora, le retard de purge causé par les longues requêtes d’archivage.
Journaux et cache : [log], [Cache], [ChainedCache], [RedisCache]
| Section | Paramètre | Défaut | Impact |
|---|---|---|---|
[log]
log_writers[]
screen
Destination des journaux : screen, database, file, errorlog ou syslog
[log]
log_level
WARN
Niveau de détail : ERROR, WARN, INFO ou DEBUG
[log]
log_level_screen, log_level_file, log_level_errorlog, log_level_syslog
non défini
Niveau propre à chaque destination
[log]
logger_file_path
tmp/logs/matomo.log
Fichier utilisé avec la destination file
[log]
logger_syslog_ident
matomo
Étiquette des entrées syslog
[Cache]
backend
chained
Stockage du cache : array (une requête), null (aucun), file, redis (plusieurs serveurs), chained
[Cache]
enable_opcache_reset
1
Vide l’OPcache PHP lors du vidage des caches
[ChainedCache]
backends[]
array, file
Ordre de lecture des caches chaînés, du plus rapide au plus lent
[RedisCache]
host
127.0.0.1
Serveur Redis
[RedisCache]
port
6379
Port Redis
[RedisCache]
unix_socket
vide
Socket Unix, en remplacement de l’hôte et du port
[RedisCache]
timeout
0.0
Délai de connexion
[RedisCache]
password
vide
Mot de passe Redis
[RedisCache]
database
14
Base Redis ; à distinguer de celle du suivi en file d’attente, sous peine de perte de requêtes
Débogage et développement : [Debug] et [Development]
Ces paramètres sont destinés au diagnostic ; ils dégradent les performances et doivent rester désactivés en production.
| Section | Paramètre | Défaut | Impact |
|---|---|---|---|
| [Debug] | always_archive_data_day | 0 | Recalcule les rapports journaliers à chaque demande, même déjà archivés |
| [Debug] | always_archive_data_period | 0 | Même effet pour les semaines, mois et années |
| [Debug] | always_archive_data_range | 0 | Même effet pour les plages de dates, sans recalculer leurs sous-périodes |
| [Debug] | enable_sql_profiler | 0 | Enregistre toutes les requêtes SQL et affiche un bilan (nécessite log_writers[] = screen) |
| [Debug] | tracker_always_new_visitor | 0 | Compte chaque requête de suivi comme un nouveau visiteur |
| [Debug] | log_sql_queries | 0 | Écrit toutes les requêtes SQL dans les journaux, niveau DEBUG |
| [Debug] | archiving_profile | 0 | Enregistre le profilage de core:archive |
| [Debug] | archive_profiling_log | vide | Fichier de ce profilage |
| [Debug] | enable_php_profiler | 0 | Autorise un profileur PHP installé sur le serveur |
| [Development] | enabled | 0 | Mode développement : caches réduits, contrôles supplémentaires |
| [Development] | disable_merged_assets | 0 | Charge les fichiers JavaScript un par un, sans fusion ni minification |
| [Development] | allow_vue_sourcemaps | 0 | Sert les sourcemaps des composants Vue |
[General] : périodes et visiteurs uniques
| Paramètre | Défaut | Impact |
|---|---|---|
enable_processing_unique_visitors_day | 1 | Calcule les visiteurs et utilisateurs uniques sur le jour |
enable_processing_unique_visitors_week | 1 | Idem sur la semaine |
enable_processing_unique_visitors_month | 1 | Idem sur le mois |
enable_processing_unique_visitors_year | 0 | Idem sur l’année ; alourdit l’archivage |
enable_processing_unique_visitors_range | 0 | Idem sur les plages de dates ; risque de dépassement de délai sur les gros sites |
enable_processing_unique_visitors_multiple_sites | 0 | Idem sur un groupe de sites, un visiteur commun n’étant compté qu’une fois |
enabled_periods_UI | day,week,month,year,range | Périodes proposées dans le calendrier de l’interface |
enabled_periods_API | day,week,month,year,range | Périodes disponibles dans l’API et à l’archivage ; désactiver une période désactive aussi celles qui en dépendent (sans mois, pas d’année) |
default_period | day | Période affichée à l’ouverture (modifiable par utilisateur) |
default_day | yesterday | Jour affiché à l’ouverture : yesterday ou today |
[General] : archivage des rapports
| Paramètre | Défaut | Impact |
|---|---|---|
enable_browser_archiving_triggering | 1 | Laisse la consultation de l’interface déclencher le calcul des rapports ; à désactiver lorsqu’une tâche cron core:archive est en place |
browser_archiving_disabled_enforce | 0 | Empêche aussi les requêtes API segmentées de déclencher l’archivage, sauf plages non pré-calculées |
archiving_range_force_on_browser_request | 1 | À 0 (avec l’archivage navigateur coupé), les plages ne sont plus calculées à la demande |
archiving_custom_ranges[] | vide | Plages fixes ajoutées au pré-calcul, une ligne par plage ("2026-01-01,2026-03-31") |
time_before_today_archive_considered_outdated | 900 | Fraîcheur des rapports du jour en cours avant recalcul |
time_before_week_archive_considered_outdated | -1 | Idem pour la semaine en cours ; -1 reprend le réglage de l’interface |
time_before_month_archive_considered_outdated | -1 | Idem pour le mois en cours |
time_before_year_archive_considered_outdated | -1 | Idem pour l’année en cours |
time_before_range_archive_considered_outdated | -1 | Idem pour les plages incluant aujourd’hui |
archive_failure_recovery_timeout | 86400 | Délai après lequel un archivage commencé est jugé en échec et relancé |
archiving_query_max_execution_time | 7200 | Interrompt les requêtes d’archivage trop longues ; -1 = sans limite (MySQL 5.7+, PDO) |
archiving_ranking_query_row_limit | 50000 | Lignes lues en base par requête d’archivage ; accélère les gros sites |
disable_archive_actions_goals | 0 | Supprime le calcul de la contribution des pages aux objectifs ; allège l’archivage |
purge_date_range_archives_after_X_days | 1 | Conservation des archives de plages ; à relever si des plages sont pré-calculées |
rearchive_reports_in_past_last_n_months | 6 | Profondeur du recalcul rétroactif des plugins qui le proposent (ex. rapports personnalisés) ; 0 = désactivé |
rearchive_reports_in_past_exclude_segments | 0 | Exclut les segments de ce recalcul rétroactif |
archive_blob_compression_level | -1 | Compression des archives, de 0 (aucune) à 9 ; une valeur élevée ralentit l’archivage |
enable_sql_optimize_queries | 1 | Exécute OPTIMIZE TABLE après suppression ; peut durer des heures sur les grosses bases |
minimum_memory_limit | 128 | Mémoire PHP minimale conseillée (Mo) |
minimum_memory_limit_when_archiving | 768 | Mémoire PHP imposée à core:archive (Mo) ; -1 = valeur de php.ini |
php_binary_path | vide | Chemin du binaire PHP CLI, si Matomo ne le détecte pas pour l’archivage asynchrone |
[General] : segments
| Paramètre | Défaut | Impact |
|---|---|---|
enable_segments_cache | 1 | Met en cache les résultats intermédiaires des segments pendant l’archivage |
enable_create_realtime_segments | 1 | À 0, tout nouveau segment est pré-calculé par le cron au lieu d’être calculé en temps réel ; réduit la charge |
enable_segment_suggested_values | 1 | Suggère des valeurs dans l’éditeur de segments ; à désactiver sur les très grosses bases |
adding_segment_requires_access | view | Droit minimal pour créer un segment : view, write, admin ou superuser |
allow_adding_segments_for_all_websites | 1 | Autorise les segments valables pour tous les sites |
anonymous_user_enable_use_segments_API | 1 | Autorise l’utilisateur anonyme à segmenter via l’API |
process_new_segments_from | beginning_of_time | Date de départ de l’archivage d’un nouveau segment : beginning_of_time, segment_creation_time, segment_last_edit_time, lastN ou editLastN |
disable_archiving_segment_for_plugins | vide | Plugins dont les rapports ne sont pas archivés pour les segments |
data_comparison_segment_limit | 5 | Nombre maximal de segments comparés simultanément |
data_comparison_period_limit | 5 | Nombre maximal de périodes comparées simultanément |
[General] : limites de lignes des rapports
Ces plafonds limitent le nombre de lignes conservées à l’archivage. Au-delà, les lignes sont regroupées dans une ligne « Autres ». Les relever affine les rapports mais augmente le volume de la base et la durée d’archivage.
| Paramètre | Défaut | Rapport concerné |
|---|---|---|
datatable_archiving_maximum_rows_referrers | 1000 | Sources de trafic (mots-clés, moteurs, campagnes) |
datatable_archiving_maximum_rows_subtable_referrers | 50 | Sous-tableaux des sources (mots-clés par moteur, etc.) |
datatable_archiving_maximum_rows_userid_users | 50000 | Utilisateurs (User ID) |
datatable_archiving_maximum_rows_custom_dimensions | 1000 | Dimensions personnalisées |
datatable_archiving_maximum_rows_subtable_custom_dimensions | 1000 | Sous-tableaux des dimensions personnalisées |
datatable_archiving_maximum_rows_actions | 500 | Pages, téléchargements, liens sortants |
datatable_archiving_maximum_rows_actions_flat | 0 | Pages en vue à plat avant reconstitution de l’arborescence ; 0 = ancien mode hiérarchique |
datatable_archiving_maximum_rows_subtable_actions | 100 | Pages d’une catégorie (sous-dossiers) |
datatable_archiving_maximum_rows_site_search | 500 | Recherche interne |
datatable_archiving_maximum_rows_events | 500 | Événements (catégories, actions, noms) |
datatable_archiving_maximum_rows_subtable_events | 500 | Sous-tableaux des événements |
datatable_archiving_maximum_rows_products | 10000 | Produits e-commerce |
datatable_archiving_maximum_rows_bots | 250 | Assistants IA (suivi des robots) |
datatable_archiving_maximum_rows_subtable_bots | 250 | Pages par assistant IA |
datatable_archiving_maximum_rows_ai_chatbot_content | 50000 | Contenus demandés par les chatbots IA |
datatable_archiving_maximum_rows_ai_chatbot_favoured_pages | 50000 | Pages privilégiées par les humains ou par l’IA |
datatable_archiving_maximum_rows_standard | 500 | Autres rapports (fournisseurs d’accès, configurations) |
action_category_level_limit | 10 | Profondeur maximale de l’arborescence des URL |
[General] : interface, tableaux et graphiques
| Paramètre | Défaut | Impact |
|---|---|---|
default_language | en | Langue par défaut de l’interface |
action_url_category_delimiter | / | Séparateur qui découpe les URL en catégories dans le rapport Pages |
action_title_category_delimiter | vide | Même rôle pour les titres de pages |
action_default_name | index | Nom affiché pour une URL se terminant par / |
datatable_default_limit | 10 | Nombre de lignes affichées par défaut dans un tableau |
datatable_row_limits | 5,10,25,50,100,250,500,-1 | Choix proposés dans le sélecteur de lignes ; -1 = tout |
API_datatable_default_limit | 100 | Lignes renvoyées par défaut par l’API |
API_bulk_request_limit | -1 | Nombre maximal d’URL dans API.getBulkRequest ; -1 = illimité |
datatable_export_range_as_day | rss | Formats d’export d’une plage ventilés jour par jour |
autocomplete_min_sites | 5 | Nombre de sites à partir duquel le sélecteur propose l’autocomplétion |
site_selector_max_sites | 15 | Sites affichés dans les résultats du sélecteur |
show_multisites_sparklines | 1 | Mini-graphiques dans le tableau « Tous les sites » |
all_websites_website_per_page | 50 | Sites par page dans « Tous les sites » |
multisites_refresh_after_seconds | 300 | Rafraîchissement automatique de « Tous les sites » ; 0 = désactivé |
graphs_default_period_to_plot_when_period_range | day | Période des graphiques d’évolution d’une plage |
graphs_show_evolution_within_selected_period | 0 | Graphiques ImageGraph : évolution interne à la période plutôt que sur les N dernières |
graphs_default_evolution_graph_last_days_amount | 30 | Jours couverts par défaut par ces graphiques |
overlay_following_pages_limit | 300 | Nombre de pages suivantes, téléchargements et liens affichés par la superposition (Overlay) |
overlay_disable_framed_mode | 0 | Désactive le mode cadre de l’Overlay (sites avec anti-iframe) |
pivot_by_filter_enable_fetch_by_segment | 0 | Autorise le pivot sur toute dimension ; très coûteux |
pivot_by_filter_default_column_limit | 10 | Colonnes maximales d’un tableau pivot ; -1 = illimité |
visitor_log_maximum_actions_per_visit | 500 | Actions affichées par visite dans le journal des visites |
live_widget_refresh_after_seconds | 5 | Rafraîchissement du widget Temps réel |
live_widget_visitor_count_last_minutes | 3 | Fenêtre du compteur de visiteurs en temps réel (1 à 2880 min) |
live_visitor_profile_max_visits_to_aggregate | 100 | Visites agrégées dans le profil visiteur |
live_ai_chatbots_maximum_rows | 100 | Chatbots IA listés en temps réel |
live_ai_chatbots_top_page_urls_maximum_rows | 100 | Pages listées par chatbot IA en temps réel |
live_query_max_execution_time | -1 | Interrompt les requêtes Temps réel trop longues ; -1 = sans limite |
scheduled_reports_truncate | 23 | Lignes d’un rapport envoyé par e-mail ; le reste est regroupé |
enable_custom_logo | 1 | Autorise un logo personnalisé |
enable_custom_logo_check | 1 | Vérifie que le logo est modifiable avant d’afficher l’outil d’envoi |
currencies[BTC] | Bitcoin | Devises supplémentaires proposées pour les sites |
piwik_professional_support_ads_enabled | 1 | Affiche les offres de support professionnel |
num_days_before_tracking_code_reminder | 5 | Délai avant le rappel par e-mail d’installer le code de suivi |
[General] : sécurité, connexion et jetons
| Paramètre | Défaut | Impact |
|---|---|---|
force_ssl | 0 | Redirige tout le trafic vers HTTPS ; bloque l’accès si HTTPS est mal configuré |
assume_secure_protocol | 0 | Considère la connexion comme HTTPS lorsqu’un proxy masque le protocole |
csp_enabled | 1 | Envoie un en-tête Content-Security-Policy |
csp_report_only | 0 | Signale les violations CSP sans les bloquer (hors réponses API et exports) |
enable_trusted_host_check | 1 | Refuse les accès par un nom d’hôte non déclaré ; protège contre l’injection d’en-tête Host |
trusted_hosts[] | non défini | Noms d’hôte autorisés pour l’interface |
host_validation_use_server_name | 0 | Utilise SERVER_NAME plutôt que HTTP_HOST, plus difficile à falsifier |
hash_algorithm | whirlpool | Algorithme de hachage général |
password_hash_algorithm | default | Algorithme des mots de passe : default, bcrypt, argon2i ou argon2id |
password_hash_argon2_threads | default | Threads utilisés par Argon2 |
password_hash_argon2_memory_cost | default | Mémoire utilisée par Argon2 (Ko) |
password_hash_argon2_time_cost | default | Itérations d’Argon2 |
disable_checks_usernames_attributes | 0 | Désactive les contrôles de longueur et de caractères des identifiants |
login_allowlist_ip[] | non défini | Adresses IP, plages ou noms d’hôte seuls autorisés à se connecter |
login_allowlist_apply_to_reporting_api_requests | 1 | Applique cette liste à l’API de reporting |
login_allow_logme | 0 | Autorise la connexion automatique par paramètres d’URL |
login_logout_url | non défini | Page de redirection après déconnexion |
login_cookie_expire | 1209600 | Durée du cookie « Se souvenir de moi » (14 jours) |
login_cookie_path | vide | Chemin du cookie de session |
login_cookie_name | matomo_auth | Obsolète, sans effet |
login_session_not_remembered_idle_timeout | 3600 | Expiration d’une session inactive sans « Se souvenir de moi » |
session_gc_probability | 1 | Active le nettoyage des sessions expirées |
language_cookie_name | matomo_lang | Nom du cookie de langue |
enable_framed_pages | 0 | Autorise l’affichage des pages dans une iframe (risque de clickjacking) |
enable_framed_settings | 0 | Idem pour les pages d’administration |
enable_framed_allow_write_admin_token_auth | 0 | Autorise les jetons d’écriture ou d’administration dans une iframe ; déconseillé |
only_allow_secure_auth_tokens | 0 | N’accepte les jetons que par POST, jamais dans l’URL ; recommandé |
auth_token_rotation_notification_days | 180 | Âge d’un jeton déclenchant une recommandation de renouvellement ; 0 = aucune |
auth_token_default_expiration_days | 180 | Durée de validité proposée pour un nouveau jeton |
auth_token_expiration_notification_days | 30 | Préavis d’expiration envoyé par e-mail ; 0 = aucun |
default_invite_user_token_expiry_days | 7 | Validité d’une invitation utilisateur |
enable_plugin_upload | 0 | Autorise l’envoi de plugins ZIP ; ouvre un risque d’exécution de code |
[General] : e-mails
| Paramètre | Défaut | Impact |
|---|---|---|
emails_enabled | 1 | À 0, Matomo n’envoie plus aucun e-mail |
enable_update_users_email | 1 | Notifie l’utilisateur d’un changement de mot de passe ou d’adresse |
noreply_email_address | noreply@{DOMAIN} | Expéditeur des e-mails |
noreply_email_name | vide | Nom de l’expéditeur |
contact_email_address | vide | Contact administrateur ; à défaut, tous les super-utilisateurs |
feedback_email_address | feedback@matomo.org | Destinataire des retours |
login_password_recovery_replyto_email_address | no-reply@{DOMAIN} | Adresse de réponse des e-mails de récupération |
login_password_recovery_replyto_email_name | No-reply | Nom associé |
scheduled_reports_replyto_is_user_email_and_alias | 0 | Utilise l’adresse du créateur comme réponse des rapports programmés |
enable_tracking_failures_notification | 1 | E-mail hebdomadaire aux super-utilisateurs en cas d’échecs de suivi |
enable_update_communication | 1 | E-mails de mise à jour du cœur et des plugins |
[General] : réseau, proxy et hôtes
| Paramètre | Défaut | Impact |
|---|---|---|
proxy_client_headers[] | non défini | En-têtes lus pour obtenir l’IP réelle du visiteur derrière un proxy (ex. HTTP_X_FORWARDED_FOR, HTTP_CF_CONNECTING_IP) ; sans eux, tous les visiteurs ont l’IP du proxy |
proxy_host_headers[] | non défini | En-têtes lus pour le nom d’hôte (ex. HTTP_X_FORWARDED_HOST) |
proxy_scheme_headers[] | non défini | En-têtes lus pour le protocole http/https |
proxy_ips[] | non défini | IP de proxys à ignorer dans ces en-têtes, en cas de proxys en cascade |
proxy_ip_read_last_in_list | 1 | Retient la dernière IP de la liste plutôt que la première ; plus sûr derrière un répartiteur de charge |
proxy_uri_header | 0 | Tient compte de HTTP_X_FORWARDED_URI pour un proxy qui réécrit l’URI |
cors_domains[] | non défini | Domaines autorisés en requêtes cross-origin ; * = tous |
instance_id | non défini | Identifiant de l’instance lorsqu’elle répond sous plusieurs noms d’hôte |
multi_server_environment | 0 | Déclare plusieurs serveurs : bloque l’installation de plugins par l’interface |
allowed_outgoing_protocols | http,https | Protocoles autorisés pour les connexions sortantes |
allowed_private_egress_ranges[] | non défini | Plages d’IP privées que Matomo peut contacter (sites intranet) |
force_matomo_http_request | 0 | Force HTTP pour le Marketplace et l’API Matomo |
api_service_url | https://api.matomo.org | Service distant (versions, newsletter) |
custom_cacert_pem | vide | Fichier d’autorités de certification personnalisé, utile derrière un pare-feu qui déchiffre le TLS |
geolocation_download_from_trusted_hosts[] | maxmind.com, db-ip.com, ip2location.com | Sources autorisées pour les bases de géolocalisation |
tmp_path | /tmp | Répertoire temporaire |
absolute_chroot_path | vide | Chemin absolu en environnement chroot, pour les imports CSV |
enable_load_data_infile | 1 | Utilise LOAD DATA INFILE ; à désactiver dans certaines réplications AWS |
[General] : administration, mises à jour et divers
| Paramètre | Défaut | Impact |
|---|---|---|
maintenance_mode | 0 | Affiche un message de maintenance sans connexion à la base (mises à jour en ligne de commande) |
release_channel | latest_stable | Canal de mise à jour : latest_stable, latest_beta, etc. |
enable_auto_update | 1 | Mise à jour automatique depuis l’interface |
enable_internet_features | 1 | À 0, coupe toutes les fonctions en ligne (mises à jour, GeoIP, listes de spam) |
enable_referrer_definition_syncs | 1 | Synchronise en ligne les listes de moteurs et réseaux sociaux |
show_update_notification_to_superusers_only | 0 | Réserve l’avis de mise à jour aux super-utilisateurs |
enable_plugins_admin | 1 | À 0, empêche d’activer, désactiver ou désinstaller des plugins |
plugin_trial_request_expiration_in_days | 28 | Délai entre deux demandes d’essai d’un plugin ; -1 = désactivé |
enable_users_admin | 1 | À 0, désactive la gestion des utilisateurs |
enable_sites_admin | 1 | À 0, désactive la gestion des sites |
enable_installer | 1 | À 0, désactive l’assistant d’installation |
enable_geolocation_admin | 1 | À 0, interdit la modification de la géolocalisation |
enable_delete_old_data_settings_admin | 1 | À 0, masque les réglages de suppression des anciennes données (la suppression continue) |
enable_general_settings_admin | 1 | À 0, masque archivage, mises à jour, serveur e-mail et hôte de confiance dans l’interface |
always_load_commands_from_plugin | vide | Plugins dont les commandes console sont chargées avant l’installation |
enable_required_directories_diagnostic | 1 | Vérifie par HTTP que les répertoires privés ne sont pas exposés |
disable_tracking_matomo_app_links | 0 | Retire les paramètres de campagne des liens vers matomo.org |
[Tracker] : identification et cookies
| Paramètre | Défaut | Impact |
|---|---|---|
enable_userid_overwrites_visitorid | 1 | Le User ID détermine l’identifiant visiteur : un utilisateur connecté est reconnu sur tous ses appareils |
enable_fingerprinting_across_websites | 0 | Même empreinte d’un site à l’autre pour compter un visiteur unique sur plusieurs sites ; réduit la vie privée |
use_third_party_id_cookie | 0 | Dépose aussi un cookie sur le domaine du serveur Matomo, pour l’analyse inter-sites |
trust_visitors_cookies | 0 | Se fie uniquement au cookie ; à activer en intranet, où tous les postes partagent IP et configuration |
cookie_name | _pk_uid | Nom du cookie tiers |
cookie_expire | 33955200 | Durée du cookie tiers (13 mois) |
cookie_path | vide | Chemin des cookies d’exclusion et tiers |
cookie_domain | vide | Domaine du cookie tiers |
ignore_visits_cookie_name | matomo_ignore | Nom du cookie qui exclut un navigateur du suivi |
window_look_back_for_visitor | 0 | Durée de recherche d’un visiteur connu par son empreinte ; n’agit que si elle dépasse visit_standard_length ; 86400 ou plus améliore le taux de visiteurs récurrents, au prix de la rapidité du suivi |
[Tracker] : visites, campagnes et URL
| Paramètre | Défaut | Impact |
|---|---|---|
record_statistics | 1 | À 0, Matomo cesse d’enregistrer les visites |
visit_standard_length | 1800 | Inactivité au-delà de laquelle une nouvelle visite commence ; à aligner sur setSessionCookieTimeout du traceur JavaScript |
default_time_one_page_visit | 0 | Durée attribuée aux visites d’une seule page |
create_new_visit_after_midnight | 1 | Coupe les visites à minuit ; à ne modifier que sans archivage Matomo, sous peine de données manquantes |
create_new_visit_after_x_actions | 10000 | Nombre d’actions forçant une nouvelle visite ; 0 = illimité, au prix de la charge en base |
create_new_visit_when_campaign_changes | 1 | Une nouvelle campagne ouvre une nouvelle visite |
create_new_visit_when_website_referrer_changes | 0 | Un nouveau site référent ouvre une nouvelle visite |
campaign_var_name | pk_campaign, mtm_campaign, utm_campaign, utm_source, utm_medium… | Paramètres d’URL lus comme nom de campagne |
campaign_keyword_var_name | pk_kwd, mtm_kwd, utm_term… | Paramètres d’URL lus comme mot-clé de campagne |
url_query_parameter_to_exclude_from_url | gclid, fbclid, msclkid, phpsessid, token… | Paramètres retirés des URL enregistrées (sessions, publicité) ; accepte des expressions régulières |
page_maximum_length | 1024 | Longueur maximale enregistrée d’une URL ou d’un titre de page |
enable_default_location_provider | 1 | Utilise la géolocalisation par défaut, y compris en secours |
enable_language_to_country_guess | 1 | Déduit le pays de la langue du navigateur lorsqu’elle n’indique pas de région |
enable_spam_filter | 1 | Applique la liste noire des référents indésirables |
exclude_requests | vide | Exclut des requêtes selon des règles (ex. e_c==Media,action_name=@privacy) |
custom_image | vide | Image renvoyée à la place du GIF 1×1 lorsque &image=1 |
scheduled_tasks_min_interval | 3600 | Sans cron, intervalle minimal des tâches planifiées déclenchées par le suivi ; 0 = désactivées |
[Tracker] : sécurité et performances du suivi
| Paramètre | Défaut | Impact |
|---|---|---|
tracking_requests_require_authentication | 1 | Exige un jeton admin pour imposer une date ou une IP ; à 0, n’importe qui peut injecter des données falsifiées |
tracking_requests_require_authentication_when_custom_timestamp_newer_than | 86400 | Ancienneté d’une date personnalisée acceptée sans authentification |
bulk_requests_require_authentication | 0 | Exige un jeton pour les requêtes de suivi groupées |
bulk_requests_use_transaction | 1 | Regroupe les requêtes groupées dans une transaction ; accélère fortement l’import de logs |
tracker_cache_file_ttl | 300 | Durée de vie du cache du traceur |
innodb_lock_wait_timeout | 0 | Délai d’attente des verrous MySQL pendant le suivi (3 à 10 s conseillés en forte concurrence) ; trop bas, des requêtes sont perdues |
debug | 0 | Journalise le détail de chaque requête de suivi |
debug_on_demand | 0 | Active ce débogage par debug=1 dans l’URL ; expose les journaux, à limiter dans le temps |
enable_sql_profiler | 0 | Profile les requêtes SQL du suivi (nécessite debug = 1) |
Suppression des données : [Deletelogs], [Deletereports], [ArchivingMetrics]
La suppression des données brutes est irréversible : une fois les logs effacés, les rapports correspondants ne peuvent plus être recalculés.
| Section | Paramètre | Défaut | Impact |
|---|---|---|---|
| [Deletelogs] | delete_logs_enable | 0 | Active la suppression des données brutes de visites ; vérifier au préalable que l’archivage est complet |
| [Deletelogs] | delete_logs_older_than | 180 | Âge, en jours, des données supprimées |
| [Deletelogs] | delete_logs_schedule_lowest_interval | 7 | Intervalle entre deux purges des tables log_* (1, 7 ou 30 jours) |
| [Deletelogs] | delete_logs_unused_actions_schedule_lowest_interval | 30 | Intervalle entre deux purges de la table log_action |
| [Deletelogs] | delete_logs_max_rows_per_query | 100000 | Lignes supprimées par requête ; à relever pour les gros sites |
| [Deletelogs] | delete_logs_unused_actions_max_rows_per_query | 100000 | Idem pour log_action |
| [Deletelogs] | enable_database_size_estimate | 1 | Affiche l’estimation de la taille de la base |
| [Deletelogs] | enable_auto_database_size_estimate | 1 | Calcule cette estimation automatiquement |
| [Deletereports] | delete_reports_enable | 0 | Active la suppression des anciens rapports archivés |
| [Deletereports] | delete_reports_older_than | 12 | Âge, en mois, des rapports supprimés |
| [Deletereports] | delete_reports_keep_basic_metrics | 1 | Conserve les métriques de base |
| [Deletereports] | delete_reports_keep_day_reports | 0 | Conserve les rapports journaliers |
| [Deletereports] | delete_reports_keep_week_reports | 0 | Conserve les rapports hebdomadaires |
| [Deletereports] | delete_reports_keep_month_reports | 1 | Conserve les rapports mensuels |
| [Deletereports] | delete_reports_keep_year_reports | 1 | Conserve les rapports annuels |
| [Deletereports] | delete_reports_keep_range_reports | 0 | Conserve les rapports de plages |
| [Deletereports] | delete_reports_keep_segment_reports | 0 | Conserve les rapports segmentés |
| [ArchivingMetrics] | retention_days | 180 | Conservation des statistiques d’archivage ; 0 = jamais supprimées |
Envoi d’e-mails et proxy sortant : [mail] et [proxy]
| Section | Paramètre | Défaut | Impact |
|---|---|---|---|
[mail]
transport
vide
smtp pour utiliser un serveur SMTP ; vide = fonction mail() de PHP
[mail]
host
vide
Serveur SMTP
[mail]
port
vide
Port SMTP (25 par défaut, 465 en SSL)
[mail]
type
vide
Méthode d’authentification SMTP (ex. LOGIN)
[mail]
username
vide
Identifiant SMTP
[mail]
password
vide
Mot de passe SMTP
[mail]
encryption
vide
Chiffrement : none, ssl, tls ou automatique
[mail]
defaultHostnameIfEmpty
defaultHostnameIfEmpty.example.org
Domaine d’expédition si le nom d’hôte est introuvable
[mail]
ssl_disallow_self_signed
1
Refuse les certificats SMTP auto-signés
[mail]
ssl_verify_peer
1
Vérifie le certificat du serveur SMTP
[mail]
ssl_verify_peer_name
1
Vérifie le nom du serveur SMTP
[proxy]
type
BASIC
Type de proxy sortant (seul BASIC est pris en charge)
[proxy]
host
vide
Serveur proxy pour les connexions sortantes
[proxy]
port
vide
Port du proxy
[proxy]
exclude
vide
Hôtes contactés sans proxy (localhost toujours exclu)
[proxy]
username
vide
Identifiant du proxy
[proxy]
password
vide
Mot de passe du proxy
Autres sections
| Section | Paramètre | Défaut | Impact |
|---|---|---|---|
| [Segments] | Segments[] | non défini | Segments dont tous les rapports sont pré-calculés par le cron (ex. "visitorType==new") ; accélère leur affichage |
| [PagePerformance] | time_network_cap_duration_ms | 0 | Plafonne les temps réseau aberrants dans les moyennes (10000 conseillé) ; 0 = sans plafond |
| [PagePerformance] | time_server_cap_duration_ms | 0 | Idem pour le temps serveur (50000 conseillé) |
| [PagePerformance] | time_transfer_cap_duration_ms | 0 | Idem pour le temps de transfert (25000 conseillé) |
| [PagePerformance] | time_dom_processing_cap_duration_ms | 0 | Idem pour le traitement du DOM (50000 conseillé) |
| [PagePerformance] | time_dom_completion_cap_duration_ms | 0 | Idem pour la complétion du DOM (150000 conseillé) |
| [PagePerformance] | time_on_load_cap_duration_ms | 0 | Idem pour l’événement onload (1000 conseillé) |
| [Live] | use_semi_join_query | 0 | Utilise une sous-requête pour le journal des visites ; accélère l’affichage d’un site unique |
| [APISettings] | SDK_batch_size | 10 | Valeur exposée par API.getSettings pour les SDK mobiles ; accès public, sans donnée sensible |
| [APISettings] | SDK_interval_value | 30 | Idem |
| [SitesManager] | CommonPIIParams[] | 231 noms (email, password, iban, nom, telephone…) | Paramètres d’URL signalés comme données personnelles potentielles |
| [Goals] | recommendation_max_crawl_pages | 50 | Pages analysées pour recommander des objectifs |
| [Goals] | recommendation_ai_daily_scan_limit | 0 | Analyses assistées par IA par site et par jour ; 0 = illimité |
| [Plugins] | Plugins[] | liste du cœur | Plugins activés et ordre de chargement ; géré par Matomo |
| [PluginsInstalled] | PluginsInstalled[] | liste du cœur | Plugins installés ; géré par Matomo |
| [Languages] | Languages[] | 58 codes | Langues disponibles dans l’interface |
Les listes [Plugins], [PluginsInstalled] et [Languages] sont tenues à jour par Matomo lui-même ; il est déconseillé de les modifier à la main.
Références
- Matomo, config/global.ini.php, dépôt GitHub, branche 5.x-dev, consulté le 2 novembre 2026.
- Matomo, Unique Visitors metric for Yearly reports and Custom Date Ranges, FAQ, consultée le 2 novembre 2026.
- Matomo, Detection accuracy of Unique visitors and Returning visitors, FAQ, consultée le 2 novembre 2026.
- Matomo, Force the reports to be re-processed from the logs, FAQ, consultée le 2 novembre 2026.

Laisser un commentaire
Votre adresse e-mail ne sera pas publiée.