MedMatomoPro - Matomo Analytics pour PrestaShop

medmatomopro

Suivi Matomo Analytics complet pour PrestaShop — tracking server-side anti-bloqueurs, proxy first-party, 12 widgets dashboard, RGPD nativement assuré.


Fiche technique

Version n° 2.0.0
Modification du Core (override) Non
Souscription à un service tiers : Oui
Traduction : bg-da-de-el-es-et-fi-fr-hu-it-ja-nl-pl-pt-ro-sk-sv-uk
Compatible Prestashop 1.6 Oui
Compatible Prestashop 1.7 Oui
Compatible PrestaShop 8 Oui
Compatible PrestaShop 9 Oui
Compatible thirtybees 1.1 Oui
Compatible thirtybees 1.2 Oui
Compatible thirtybees 1.3 Oui
Compatible thirtybees 1.4 Oui
Compatible thirtybees 1.5 Oui
Compatible thirtybees 1.6 Oui
Compatible PhenixSuite Oui
Responsive Design Oui
Compatible Multi Boutique : Oui
Url du service https://fr.matomo.org/
Démonstrations https://demo-addons.eu/medmatomopro/landing/fr/

99,99 € HT

Secure payment methods

Visitez et abonnez-vous

Accéder

License

En achetant ce produit, vous pourrez bénéficier de toutes les mises à jour durant 365 jours.

Dernière mise à jour

07/05/2026: Version 2.0.0

Compatibilité PrestaShop

Ce module est compatible avec toutes les versions PrestaShop 1.6.x Ce module est compatible avec toutes les versions PrestaShop 1.7.x Ce module est compatible avec toutes les versions PrestaShop 8.x Ce module est compatible avec toutes les versions PrestaShop 9.x

Compatibilité thirtybees

 Ce module est compatible avec toutes les versions de thirtybees 1.1.x  Ce module est compatible avec toutes les versions de thirtybees 1.2.x  Ce module est compatible avec toutes les versions de thirtybees 1.3.x  Ce module est compatible avec toutes les versions de thirtybees 1.4.x  Ce module est compatible avec toutes les versions de thirtybees 1.5.x  Ce module est compatible avec toutes les versions de thirtybees 1.6.x

Compatibilité PhenixSuite

Ce module est compatible avec toutes les versions de PhenixSuite

Traduction disponible en

bg da de el es et fi fr hu it ja nl pl pt ro sk sv uk

Proposed by

Mediacom87


En savoir plus

Le problème

Google Analytics est devenu un gouffre : 30 à 50 % du trafic est perdu à cause des bloqueurs de pub, Safari ITP filtre les cookies, le RGPD impose un bandeau de consentement obligatoire et la CNIL a sanctionné son utilisation. Vos données sont chez Google, échantillonnées au-delà d’un seuil et hors de votre contrôle.

Résultat : votre chiffre d’affaires réel ne correspond plus aux remontées analytics, vos campagnes sont mal optimisées, et vos visiteurs voient un bandeau cookies qui plombe le taux de conversion.

La solution

MedMatomoPro intègre Matomo Analytics auto-hébergé sur votre serveur avec trois couches de tracking complémentaires : script JS classique, proxy first-party qui déjoue les bloqueurs et envoi server-to-server des conversions e-commerce.

Résultat : 100 % des données brutes chez vous, conformité RGPD nativement assurée (mode cookieless possible sans bandeau), zéro perte de chiffre d’affaires à cause d’uBlock ou Safari ITP, et un dashboard avec 12 widgets directement dans votre back-office PrestaShop.

Comment ça fonctionne

1

Tracking JS classique

Le script Matomo officiel est injecté sur chaque page : pages vues, événements e-commerce, panier, recherche, formulaires. Prêt en quelques minutes.

2

Proxy first-party

matomo.js et matomo.php servis depuis votre propre domaine. Les bloqueurs basés sur les noms d’hôte ne peuvent plus filtrer les requêtes de tracking.

3

Tracking server-side

Les confirmations de commande sont envoyées de serveur à serveur via cURL. Même si JavaScript est bloqué ou Safari ITP filtre, le chiffre d’affaires est attribué.

Fonctionnalités détaillées

Tracking e-commerce natif

  • Vues produits et catégories
  • Mises à jour panier en temps réel
  • Confirmations de commande via l’API Matomo native
  • Authentification, recherche site, checkout funnel
  • Heartbeat (temps réel sur la page) et erreurs JS

Tracking server-side anti-bloqueurs

  • Hook actionValidateOrder pour les conversions
  • Mini-tracker autonome (PHP 5.6+, cURL avec fallback)
  • Aucune perte de chiffre d’affaires à cause des bloqueurs
  • Filtre robots/crawlers intégré (Googlebot, Lighthouse, etc.)

Proxy first-party

  • matomo.js et matomo.php proxifiés via votre domaine
  • Slug du chemin proxy configurable
  • Déjoue uBlock, AdBlock, Brave Shield et co.
  • Headers X-Forwarded-For pour conserver l’IP visiteur

12 widgets dashboard

  • Trafic : visites, visiteurs uniques, top pages, sources, KPI
  • E-commerce : chiffre d’affaires, top produits, top catégories, conversion + AOV
  • Audience : appareils, top pays, mots-clés de recherche
  • Temps réel : visiteurs des 30 dernières min
  • Activables indépendamment, cache 5 min

Compteur temps réel sur l’accueil BO

  • Visiteurs en direct sur la page d’accueil PrestaShop
  • Graphique des visites sur 30 jours, granularité adaptative (heure / jour / mois)
  • Synchronisé avec le sélecteur de période natif PS (Jour / Mois / Année)
  • Auto-refresh AJAX configurable (10 à 300 s)

Vie privée & RGPD

  • Auto-hébergement : aucune donnée transmise à un tiers
  • Mode cookieless natif (sans bandeau possible)
  • Respect du Do Not Track navigateur
  • Gating de consentement intégré (compatible CMP)
  • Page d’opt-out front-office + lien compte client

Custom Dimensions auto-mappées

  • Groupe client, devise, langue
  • Type d’appareil (mobile / tablet / desktop)
  • Boutique multistore (ID + nom)
  • Méthode de paiement, transporteur

Core Web Vitals

  • Reporting automatique de LCP, INP, CLS, FCP, TTFB
  • Pousse les métriques comme événements Matomo
  • Chargé en async via la lib officielle web-vitals.js

User ID + hachage PII

  • Identification cross-device des clients connectés
  • Hachage SHA-256 de l’email pour conformité RGPD
  • Mode « PII brut » optionnel pour les administrateurs avancés

Diagnostic intégré

  • 9 vérifications de santé serveur (URL, ping, proxy, token, extensions PHP…)
  • Relance AJAX par ligne avec retour visuel
  • Détection des tokens super-utilisateur (refusés par Matomo 5+)
  • Validation du token via API.getMatomoVersion en POST

Multiboutique & Tag Manager

  • URL et site ID Matomo par boutique (multistore-aware)
  • Support Matomo Tag Manager comme alternative
  • Conteneur MTM configurable par URL
  • Mode TM exclusif du tracker direct

Politique de sécurité responsable

Module adhérent à la Charte TouchWeb pour une cybersécurité responsable. Accusé de réception sous 7 jours pour tout signalement, correctif et publication CVE sous 30 jours, jamais de correction silencieuse. 29 entrées Configuration stockées nativement (zéro table en base de données), 17 langues disponibles, 12 hooks PrestaShop enregistrés. Une FAQ exhaustive couvre l’installation, le RGPD, les bloqueurs de pub, la performance, le multiboutique et le dépannage.

Installation

Téléchargez le module et installez-le depuis votre back-office (Modules > Gestionnaire de modules)

Renseignez l’URL de votre Matomo, l’ID du site et un token d’authentification (utilisateur non super-administrateur avec accès en lecture)

Activez les options souhaitées : tracking server-side, proxy first-party, dashboard back-office, mode cookieless, consentement, Core Web Vitals

Ouvrez l’onglet Diagnostic pour valider la configuration (9 vérifications) et c’est terminé — les visites apparaissent dans Matomo dans les 60 secondes

Changelog

2.0.0 - 05/05/2026

Réécriture majeure — vue d'ensemble
  • Compatibilité complète PrestaShop 1.6 → 9.x, PHP 5.6 → 8.4. ps_versions_compliancy étendu à 9.99.99.
  • Stockage de la configuration migré d'un blob JSON unique (1.x) vers 29 entrées Configuration discrètes, entièrement multiboutique via Configuration::updateValue.
  • Six onglets back-office : Tableau de bord, Configuration, Information & support, Diagnostic, FAQ, Politique de sécurité. L'onglet Information suit le pattern carte d'identité de medmathcaptcha.
  • Aucune table additionnelle en base de données — chaque option vit dans le store Configuration standard, multiboutique-aware, supprimé à la désinstallation.
Nouvelles fonctionnalités de tracking
  • Tracking e-commerce serveur via le hook actionValidateOrder — récupère les conversions sinon perdues à cause des bloqueurs de pub, des navigateurs sans JS et de Safari ITP. Mini-tracker autonome (compatible PHP 5.6+, curl avec fallback file_get_contents).
  • Proxy first-party : contrôleurs front optionnels qui servent matomo.js et matomo.php depuis votre domaine de boutique, contournant les bloqueurs basés sur les noms de domaine.
  • Mappage automatique des Custom Dimensions (groupe client, devise, langue, type d'appareil, ID/nom de boutique, méthode de paiement, transporteur).
  • Mode Matomo Tag Manager comme alternative au tracker direct.
  • Reporting Core Web Vitals (LCP, INP, CLS, FCP, TTFB) via la bibliothèque officielle web-vitals.js, asynchrone.
  • Filtrage bots/crawlers pour les hits côté serveur (Googlebot, AhrefsBot, Lighthouse, etc.).
  • Événements connexion/déconnexion client via les hooks actionAuthentication et actionCustomerLogoutAfter.
  • Suivi de la recherche du site via actionSearch — alimente le rapport Recherche du site de Matomo.
  • Suivi cart-save côté serveur via actionCartSave, pour que les paniers abandonnés soient toujours attribués même quand JS est bloqué.
  • Suivi du tunnel de commande : chaque étape du tunnel PrestaShop 1.7+ (Authentification / Adresses / Livraison / Paiement) rapportée comme événement Matomo.
  • Toggles JS : enableJSErrorTracking et enableHeartBeatTimer (délai configurable 5–300 secondes).
  • Support de setUserId pour les clients connectés, avec hashage SHA-256 optionnel pour une posture RGPD plus stricte.
Tableau de bord intégré au back-office
  • Nouvel onglet Tableau de bord avec 12 widgets opt-in (visites, visiteurs uniques, top pages, sources de trafic, KPI d'engagement, chiffre d'affaires, top produits, top catégories, conversion + AOV + commandes, appareils, top pays, mots-clés de recherche, visiteurs en temps réel). Chaque widget est activable indépendamment dans l'onglet Configuration.
  • Récupération des données côté serveur via l'API Reporting Matomo (POST), rendue avec Chart.js v4 (vendoré localement en bundle UMD, ~200 Ko). Sans iframe, sans problème cross-origin, sans token dans l'URL — fonctionne derrière les bloqueurs de pub.
  • Cache intelligent : 5 minutes sur les widgets standard, 30 secondes sur le compteur temps réel — garde le BO réactif sans surcharger Matomo.
  • Widget visiteurs en temps réel : rafraîchissement AJAX automatique toutes les N secondes (configurable 10–300, 30 par défaut) avec indicateur de décompte et bouton Actualiser manuel (icône seule, dans l'en-tête du panneau).
  • Widgets sur l'accueil BO : compteurs de visiteurs en direct (dashboardZoneOne) et graphique des visites sur 30 jours (dashboardZoneTwo) optionnels, rendus côté serveur, avec un bouton Actualiser chacun. Visibles à chaque connexion BO sans ouvrir le module.
  • L'onglet Tableau de bord est masqué lorsque le tableau de bord intégré est désactivé, l'UI ne montre donc jamais une zone inutilisable.
Confidentialité et RGPD
  • Mode sans cookie optionnel (disableCookies).
  • Barrière de consentement explicite avec un pont window.MedMatomoConsent() pour n'importe quel CMP (klaro, didomi, cookiebot, bandeaux maison).
  • Respect natif de Do Not Track.
  • Contrôleur front d'opt-out visiteur (/module/medmatomopro/optout) qui encapsule le widget natif Matomo CoreAdminHome. Template cross-version (PS 1.6 + 1.7 + 8 + 9).
  • Raccourci d'opt-out compte client : un lien Gérer le suivi analytique rendu sur la page du compte client (hooks displayCustomerAccount et displayMyAccountBlock).
Diagnostic & dépannage
  • Onglet Bilan de santé avec 9 vérifications côté serveur (URL, ID de site, accessibilité, ping, prérequis server-side, proxy, content-type matomo.js, token d'auth, extensions PHP).
  • Relance AJAX séquentielle : un clic sur « Relancer toutes les vérifications » rafraîchit chaque ligne une par une avec retour visuel par ligne (spinner + fond jaune doux pendant, flash vert après), sans rechargement complet de la page.
  • La validation du token d'auth détecte les tokens super-utilisateur (Matomo les bloque pour l'intégration des widgets) et les verrouillages brute-force, avec étapes de remédiation explicites.
  • Onglet FAQ exhaustif couvrant l'installation, le RGPD, les bloqueurs de pub, les performances, le multiboutique et le dépannage.
Sécurité
  • Suppression du contrôleur front debug non protégé de la 1.x (backdoor avec mot de passe MD5 codé en dur exposant la configuration du module).
  • Module adhérent à la charte TouchWeb de cybersécurité responsable (FR/EN), avec politique de publication CVE. Voir l'onglet Politique de sécurité.
  • .htaccess racine du module passé sur un pattern deny-all + allowlist d'extensions, durci contre l'accès direct aux fichiers PHP en dehors des points d'entrée whitelistés.
Compatibilité PrestaShop 9
  • Remplacement de la constante _PS_PRICE_COMPUTE_PRECISION_ supprimée par un helper version-agnostique (PS 1.6 → 9).
  • Token de l'API Reporting envoyé en POST (exigence Matomo 5+).
  • vendor/css/ps9.css chargé conditionnellement sur PrestaShop 9 pour corriger le style des liens d'onglets.
  • Ajout du fichier manifest config.xml pour une découverte rapide dans le back-office.
Compatibilité PrestaShop 1.6
  • Template optout cross-version : PS 1.7+ étend page.tpl du thème Classic ; PS 1.6 retombe sur un wrapper HTML simple. L'appel setTemplate résout le bon chemin selon la version.
  • getCheckoutProcess (PS 1.7+) est invoqué via method_exists(), donc la fonctionnalité tunnel checkout dégrade silencieusement sur PS 1.6 au lieu de planter.
  • Hooks displayBeforeBodyClosingTag et actionCustomerLogoutAfter (PS 1.7+) enregistrés sans casser PS 1.6 — les fonctionnalités associées (Core Web Vitals, événement logout) restent simplement inactives.
Correctifs (par rapport à 1.x)
  • La regex de nettoyage des devises dans cart.js cherchait la chaîne littérale « €,$,£ » au lieu des symboles individuels, ce qui cassait parseFloat avec les séparateurs décimaux non-anglais.
  • Hook désormais enregistré sous le nom canonique « displayHeader » à la place de « displayheader » ; alias hookHeader hérité supprimé.
  • Suppression d'une assignation SKU morte dans le hook produit.
Corrections pendant la stabilisation 2.0.0
  • L'URL AJAX live était construite avec des & encodés HTML (&), ce qui cassait le paramètre token admin PrestaShop côté JS — l'endpoint était rejeté avec une erreur de sécurité. Corrigé via html_entity_decode avant json_encode.
  • Le script et la feuille de styles AJAX inline du diagnostic vivaient initialement dans l'onglet PrestUI, mais Riot.js scanne les enfants à la recherche d'expressions entre accolades et plantait sur les blocs de fonctions JS et les règles CSS. Déplacé JS et CSS vers des fichiers externes (medmatomopro-diag-VERSION.js, medmatomopro-VERSION.css) avec passage de la config via des attributs data-* discrets (pas de littéraux objet JSON dans les valeurs d'attributs).
  • Les tooltips sur l'en-tête du widget tableau de bord et les boutons de rechargement sur l'accueil BO ne s'affichaient pas — bascule sur les tooltips Bootstrap avec data-toggle="tooltip" et init explicite via jQuery.
  • Mode dashboard par iframe entièrement supprimé (échouait sur les tokens super-utilisateur, les verrouillages brute-force et les DOMException sur PS9). Remplacé par la récupération de données côté serveur avec Chart.js v4.
  • Plugin Smarty dateFormat custom retiré — PrestaShop en livre un nativement dans config/smarty.config.inc.php ; la redéfinition levait « Plugin tag dateFormat already registered ».
Refactor et nettoyage
  • Nouvelles classes helpers : MedMatomoProServerTracker, MedMatomoProDiagnostic, MedMatomoProConsent, MedMatomoProDimensions, MedMatomoProReports.
  • Fichiers JS et CSS versionnés dans leur nom (medmatomopro-VERSION.js/css) pour un cache-busting correct lors des mises à jour.
  • Renommage du dossier des bibliothèques tierces de libraries/ vers vendor/ pour s'aligner sur les conventions PHP/Composer.
  • Templates des onglets déplacés dans views/templates/admin/tabs/ pour une organisation plus claire des fichiers.
  • Remplacement des appels medDisplayDate inline par le plugin Smarty natif dateFormat de PrestaShop ; MedMatomoProClass est désormais un helper purement statique.
  • Traductions reconstruites de zéro — 333+ entrées dans fr.php sourcées directement depuis les templates et le PHP, sans orphelins, sans anglais résiduel.
  • Purge du code mort : retrait des helpers orphelins MedMatomoProConsent::policyText / host, du catalogue MedMatomoProDimensions::SOURCES et de trois assigns Smarty inutilisés (ps_version, widget_catalog, live_ajax_url) — environ 50 lignes de code non référencées.
  • Suppression du code mort 1.x : medGetLanguageCode, medJsonFeedFile, medJsonModuleFile, branchements thirty-bees, propriétés publiques héritées redondantes, assets images addons/prestatoolbox.
Mise à jour
  • upgrade-2.0.0.php migre l'entrée Configuration JSON unique legacy vers les 29 clés discrètes, enregistre les 12 hooks, supprime les anciennes clés de cache (MED_FEED_*, MED_JSON_*) et retire les fichiers et dossiers obsolètes (cart.js, back.css, libraries/, controllers/debug.php) via Tools::deleteDirectory.

1.0.0 - 17/08/2023

  • Version initiale

Intéressé par ce produit

Racontez-nous votre intérêt pour ce produit et nous vous contacterons pour plus de détails.

[0/]
Suivi visite et ventes avec Matomo
MedMatomoPro - Matomo Analytics pour PrestaShop

Avis