Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/mak2com-github/matomo-tracking/archive/refs/heads/main.zipNo built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.
Plugin WordPress de suivi e-commerce WooCommerce pour Matomo, conçu pour être conforme RGPD par construction avec le plugin GDPR Cookie Compliance (Moove Agency).
Principe de fonctionnement
Ce plugin ne charge jamais matomo.js et n'envoie jamais de données lui-même (ni côté serveur, ni côté client). Il se contente de pousser les événements e-commerce dans la file window._paq, côté navigateur :
- Vue produit :
setEcommerceView(SKU, nom, catégories, prix) sur les fiches produit, poussé avant letrackPageViewdu tag. - Vue catégorie :
setEcommerceView(catégorie) sur les pages de catégorie produit. - Panier : à chaque changement d'état du panier (ajout classique ou AJAX, suppression, mise à jour des quantités), contenu complet du panier via
addEcommerceItem+trackEcommerceCartUpdate, conformément aux recommandations Matomo. La déduplication se fait par hash du panier mémorisé ensessionStorage. - Commande : sur la page de remerciement,
trackEcommerceOrderavec les montants réellement payés (total, sous-total hors livraison, taxes, livraison, remises) et les prix unitaires payés par ligne (get_item_total). Matomo déduplique lui-même les rechargements de page (même identifiant de commande = compté une seule fois).
Conformité RGPD — double verrou
- Le tag Matomo reste dans GDPR Cookie Compliance (champ de scripts de l'onglet « Third party cookies »). Sans consentement,
matomo.jsn'est jamais chargé : les push dans_paqrestent un simple tableau JavaScript inerte, rien ne part sur le réseau. - Double vérification : avant chaque push, le plugin lit le cookie
moove_gdpr_popupet vérifie que la catégorie configurée (par défautthirdparty) a bien été acceptée. Même si un tag Matomo était chargé sans condition par erreur ailleurs (thème, autre plugin), aucun événement e-commerce ne serait poussé sans consentement.
Aucune requête serveur → serveur n'est envoyée : tous les hits partent du navigateur du visiteur consentant, avec sa vraie IP et son visitor ID Matomo. L'attribution (canaux, campagnes, entonnoirs) est donc correcte.
Installation
- Activer WooCommerce et GDPR Cookie Compliance.
- Placer le tag Matomo standard (
setTrackerUrl,setSiteId,trackPageView, chargement dematomo.js) dans le champ de scripts head de GDPR Cookie Compliance, dans la catégorie de cookies choisie (généralement « Third party cookies »). - Activer ce plugin.
- Dans Réglages → Matomo Tracking, vérifier que la catégorie de consentement configurée correspond à celle où le tag est placé.
Réglages
| Option | Défaut | Description |
|---|---|---|
| Activer le suivi e-commerce | oui | Active/désactive tous les push d'événements. |
| Catégorie de consentement requise | thirdparty |
Catégorie du cookie moove_gdpr_popup devant être acceptée avant tout push. Aucune vérification désactive le double verrou (le chargement conditionnel du tag reste alors la seule barrière). |
Filtres disponibles
wc_matomo_tracking_is_enabled(bool) — forcer l'activation/désactivation du suivi.wc_matomo_tracking_consent_category(string) — modifier la catégorie de consentement requise.wc_matomo_tracking_track_order(bool,$order) — empêcher le suivi d'une commande donnée.
Limites connues
- Si GDPR Cookie Compliance est configuré pour appliquer le consentement sans rechargement de page, les événements de la page en cours au moment du consentement ne sont pas rejoués ; le suivi commence à la page suivante. (Par défaut, le plugin recharge la page après consentement.)
- Le suivi du panier en AJAX s'appuie sur les événements jQuery de WooCommerce (
added_to_cart,removed_from_cart,wc_fragments_refreshed) ; un thème qui les supprime retombera sur le suivi au rechargement de page suivant.
Historique
- 2.0.0 — Réécriture complète : suppression du tracking serveur (non conforme RGPD, requêtes malformées sans
idgoal=0, IP du serveur), suppression du chargement direct dematomo.js(contournait le CMP et doublait les pageviews), suppression du « cart abandonment » et des événements personnalisés (non fonctionnels). Tout le suivi passe par_paqavec double vérification du consentement. - 1.0 — Version initiale.