WP Manifestindependent plugin directory
manifest / analytics / matomo-tracking

WooCommerce Matomo Tracking

Matomo tracking plugin for woocommerce datas

★ 0stars

Install

Download source zip No release zip yet

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.zip
No 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 le trackPageView du 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é en sessionStorage.
  • Commande : sur la page de remerciement, trackEcommerceOrder avec 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

  1. Le tag Matomo reste dans GDPR Cookie Compliance (champ de scripts de l'onglet « Third party cookies »). Sans consentement, matomo.js n'est jamais chargé : les push dans _paq restent un simple tableau JavaScript inerte, rien ne part sur le réseau.
  2. Double vérification : avant chaque push, le plugin lit le cookie moove_gdpr_popup et vérifie que la catégorie configurée (par défaut thirdparty) 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

  1. Activer WooCommerce et GDPR Cookie Compliance.
  2. Placer le tag Matomo standard (setTrackerUrl, setSiteId, trackPageView, chargement de matomo.js) dans le champ de scripts head de GDPR Cookie Compliance, dans la catégorie de cookies choisie (généralement « Third party cookies »).
  3. Activer ce plugin.
  4. 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 de matomo.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 _paq avec double vérification du consentement.
  • 1.0 — Version initiale.