Suivi e-commerce avancé
- Episode N° 30
- Difficulté difficile
- Publié le 08/09/2022 par Ronan HELLO
- Dernière mise à jour le 03/10/2024
Pourquoi utiliser le suivi e-commerce sur votre site ?
Avoir un suivi de l’activité e-commerce de votre site web permet de mieux comprendre comment vos utilisateurs interagissent avec vos produits. Découvrez des comportements utilisateurs que vous ne soupçonnez pas et optimisez vos tunnels de vente pour maximiser votre panier moyen.
Matomo dispose d’une fonctionnalité de suivi e-commerce avancée (Enhanced Ecommerce) qui ajoute toutes les données d’action d’achat aux données de comportement collectées nativement.
Activer le suivi e-commerce dans Matomo
Pour disposer de ces fonctionnalités de suivi e-commerce, vous devez activer ce module dans l’administration de Matomo.
Activation et configuration
Rendez-vous dans l’administration de votre instance de Matomo avec un compte administrateur et cliquez sur “Sites web > Gérer” dans le menu latéral. Cliquez ensuite sur le bouton d’édition de votre site web.
Dans le formulaire qui vient de s’afficher, scrollez vers le bas et remplissez les champs suivants :
- Le champ “E-Commerce” sur “E-Commerce activé”.
- Le champ “Devise” sur “€”.
- Le champ “Fuseau horaire” sur “France”.
Cliquez ensuite sur enregistrer. Si la configuration est bonne, vous devriez voir un onglet “E-Commerce” situé entre “Acquisition” et “Objectifs” dans le menu latéral de Matomo.
Anonymisation des ID de commande
Notre configuration dans l’administration de l’outil n’est pas encore terminée, pour respecter le RGPD, vous devez anonymiser l’identifiant pour chaque commande passée par vos clients. Pour cela, rendez-vous dans l’administration et cliquez sur “Vie privée > Anonymiser les données” et cochez la case “Anonymiser l'identifiant de la commande”. Sauvegardez les changements et le tour est joué !
Configurer le suivi e-commerce sur un CMS
La plupart du temps, les sites e-commerce sont construits à partir de CMS comme WordPress WooCommerce, Magento ou PrestaShop.
Dans le cas où votre site web fonctionne avec WooCommerce, Matomo dispose d’un plugin officiel payant (WooCommerce Analytics).
Si votre site web fonctionne avec d’autres CMS, certains connecteurs existent et ont été créés par la communauté, vous retrouverez la liste complète des CMS pris en charge par Matomo directement dans la documentation officielle.
Configuration des modules
Quel que soit le module d’intégration choisi, vous devrez renseigner l’URL de votre instance de Matomo, l’identifiant du site web et un jeton d’authentification.
- L’URL doit ressembler à https://matomo.mon-domaine.fr.
- L’identifiant du site web se trouve dans l'administration en cliquant sur l’onglet « Sites web ». (Si vous n’avez qu’un seul site sur Matomo, l’identifiant sera toujours
1
). - Le jeton d'authentification se récupère en vous rendant dans “Personnel > Sécurité” et cliquez ensuite sur le bouton “Créer un nouveau jeton”. Vous devrez alors saisir votre mot de passe, puis donner un nom au jeton de sécurité.
Configurer le suivi e-commerce sans CMS
Si votre site web e-commerce n’est pas pris en charge par un module Matomo, vous allez devoir mettre en place un suivi manuel.
Le suivi complet du site nécessite quatre étapes, mais seule la dernière est obligatoire, toutefois, je recommande fortement de réaliser toutes les étapes du balisage.
Étape 1 - Vue d’une page produit
Dans cette première étape, nous allons nous focaliser sur la performance des pages produit. Ce balisage nous permettra de connaître quels sont les produits qui intéressent le plus les utilisateurs.
Pour mettre en place ce code de suivi, vous devez vous munir de quatre informations concernant vos produits :
Information | Exemple de valeur | Type de variable | Nécessité |
---|---|---|---|
Code SKU produit | “0123456789” | String | Obligatoire |
Nom du produit | “T-shirt Blanc” | String | Obligatoire |
Nom de la catégorie | “Vêtements” | String/Array | Optionnel |
Prix du produit | 19.99 | Integer/Float | Optionnel |
Ces quatre informations seront à reporter dynamiquement dans un petit extrait de code à placer sur chaque page produit (vous placerez ce code dans le template de la page afin de ne pas répéter l’opération pour chaque produit du site).
<script>
_paq.push(['setEcommerceView',
"0123456789",
"T-shirt Blanc",
"Vêtements",
19.99
]);
</script>
Cet extrait de code permet d'émettre l’événement setEcommerceView
et doit être placé obligatoirement avant la ligne suivante :
_paq.push(['trackPageView']);
Vous remarquerez que le prix est mentionné sans la devise. La devise a été configurée dans les réglages e-commerce de Matomo.
Étape 2 - Vue d’une page catégorie
Dans cette seconde étape, nous allons baliser les pages de catégorie des produits afin de déterminer leur performance individuelle.
Le suivi des pages de catégories produits est très proche du suivi des pages produits. On va pratiquement retrouver le même code de suivi, mais auquel on retire l’information du code SKU
et du nom de produit. Il faudra donc retourner le booléen false
pour les deux premières valeurs. On omettra de mentionner le prix, ce qui équivaut à envoyer la valeur false
également.
Information | Exemple de valeur | Type de variable | Nécessité |
---|---|---|---|
Code SKU produit | false | Boolean | Obligatoire |
Nom du produit | false | Boolean | Obligatoire |
Nom de la catégorie | “Vêtements” | String/Array | Optionnel |
Voici par exemple, le code de suivi à placer sur le gabarit de vos pages catégories :
<script>
_paq.push(['setEcommerceView',
false, // Le code SKU n'est pas compatible avec les catégories
false, // Le nom du produit n'est pas compatible avec les catégories
"Vêtements"
]);
</script>
Le nom de l’événement setEcommerceView
est identique, d'où la nécessité de retourner false
pour les items concernant les produits. Vous devrez également le placer obligatoirement avant la ligne suivante :
_paq.push(['trackPageView']);
Félicitations, vous pouvez maintenant suivre les vues de vos pages catégories, nous allons maintenant nous attaquer à la gestion du panier.
Étape 3 - Mise à jour du panier
Dans cette troisième étape, nous allons nous intéresser à l’ajout et au retrait des produits dans le panier. Le suivi de cette information nous permettra de connaître les produits présents dans les paniers abandonnés par les visiteurs de votre site e-commerce.
L’action d’ajout et de retrait du panier ne nécessite qu’un seul balisage, pour chaque modification du contenu du panier, nous allons envoyer à Matomo le détail et le nombre de chaque produit présent dans le panier après modification grâce à l’événement addEcommerceItem
.
Une fois chaque produit renseigné, nous allons envoyer un dernier événement trackEcommerceCartupdate
qui contiendra la somme totale des éléments du panier.
Information | Exemple de valeur | Type de variable | Nécessité |
---|---|---|---|
Code SKU produit | “0123456789” | String | Obligatoire |
Nom du produit | “T-shirt Blanc” | String | Obligatoire |
Nom de la catégorie | “Vêtements” | String/Array | Optionnel |
Prix du produit | 19.99 | Integer/Float | Optionnel |
Quantité | 2 | Integer | Optionnel |
Voici un exemple de code complet pour le suivi du panier :
<script>
_paq.push(['addEcommerceItem',
"0123456789",
"T-shirt Blanc",
"Vêtements",
19.99,
2
]);
_paq.push(['trackEcommerceCartUpdate', 19.99]);
</script>
Étape 4 - Suivi des commandes
Nous arrivons maintenant à la quatrième et dernière étape du balisage de votre site e-commerce.
Pour compléter cette étape, nous allons réutiliser le code d’ajout des produits au panier pour l’adapter à la commande. Il faudra ajouter ce code pour chaque produit présent dans la commande, exactement comme pour l’ajout/retrait du panier.
<script>
_paq.push(['addEcommerceItem',
"0123456789",
"T-shirt Blanc",
"Vêtements",
19.99,
2
]);
</script>
Une fois ce code mis en place, vous allez devoir rassembler différentes informations liées à la commande :
Information | Exemple de valeur | Type de variable | Nécessité |
---|---|---|---|
Numéro de commande | “123456” | String | Obligatoire |
Total | 39.98 | Integer/Float | Obligatoire |
Sous-total | 31.98 | Integer/Float | Optionnel |
Taxes | 5 | Integer/Float | Optionnel |
Coût d’envoi | 3 | Integer/Float | Optionnel |
Promotion | false | Integer/Float/Boolean | Optionnel |
Ces informations seront à adapter au code suivant qu’il faudra placer à la suite des événements addEcommerceItem
.
<script>
_paq.push(['trackEcommerceOrder',
"000123",
39.98,
31.98,
5,
3,
false
]);
</script>
Ce qui devrait donner finalement pour la page le code complet suivant :
<script>
_paq.push(['addEcommerceItem',
"0123456789",
"T-shirt Blanc",
"Vêtements",
19.99,
2
]);
_paq.push(['trackEcommerceOrder',
"000123",
39.98,
31.98,
5,
3,
false
]);
</script>
Félicitations, vous venez de baliser intégralement votre site web pour le suivi e-commerce ! Dans l'épisode suivant, vous allez voir comment réaliser cette même configuration en utilisant le Tag Manager interne de Matomo, c'est cette dernière configuration que je vous recommande.
Je réalise des formations professionnelles sur-mesure. Si ça peut vous intéresser, n'hésitez pas à me contacter 🤓
Je fais une demande-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
-
27
-
28
-
29
-
30
-
31
Vous devez être connecté pour pouvoir commenter. Se connecter
Bonjour,
Il est donc possible d'activer le mode e-commerce sans avoir le consentement de l'utilisateur (si nous anonymisons l'id de commande) ?
Il n'y a pas réellement de communication de Matomo sur le e-commerce et la RGPD... Les seules informations à ce sujet sont les suivantes (CNIL) : "En mode “exempté de recueil du consentement” il est important que la mesure des commandes du commerce électronique (E-commerce) ne soit pas utilisée sur le site. (Pour pouvoir utiliser la mesure du E-Commerce pour un visiteur, il serait nécessaire de demander le consentement de l’utilisateur.)"
Bonjour,
En effet, l'utilisation du module de suivi e-commerce n'est pas compatible avec le mode de suivi sans consentement utilisateur. En clair, si vous souhaitez effectuer un suivi utilisateur, il vous faut un bandeau cookie.
Bonne journée, Ronan
Bonjour,
Sans pour autant activer les fonctionnalités e-commerce il semble acceptable de faire remonter un achat sous forme d'événement personnalisé avec une valeur d'événement. Cela ne va d'ailleurs pas à l'encontre du guide de configuration de la CNIL.
Pour autant à quel point peut on pousser "le vice" ? Sans fonctionnalité e-commerce, pas d'order-id. Il me semble tout à fait possible (sur le plan technique) de suivre :
Cela ne permettrait pas d'avoir une vision "au produit" comme avec les fonctionnalités e-commerce mais cela donnerais une bonne vision ROIste notamment
Bonjour Vincent,
Concernant le suivi e-commerce, ce qui est interdit principalement c'est de remonter un numéro de commande qui te permettrait de retrouver l'identité de l'acheteur.
Donc je te recommande en effet de remonter les actions e-commerce sous forme d'événements personnalisés. Le souci de Matomo est que tu ne peux pas remonter de valeur autre qu'un nombre dans le champ
value
d'un événement. Par contre, on peut complètement utiliser le champaction
pour passer une chaine de caractères (moins pratique, mais fonctionne quand même)Les événements ressembleraient à ça :
{{ProductName}}
-view_item
{{ProductCategory}}
-view_item_list
{{ProductsNameArrayStringified}}
-cart_update
{{ProductsNameArrayStringified}}
-purchase
-{{OrderValue}}
La catégorie "Ecommerce" permet de regrouper les événements L'action est variable pour remonter les informations Le nom d'événement suit la convention de nommage établie par Google (et largement suivie)
J'espère que ma réponse pourra t'aider dans ton balisage.
Hello Ronan, j'ai implémenter le suivi e-commerce avancé pour mon site, tout fonctionne sauf le nombre de visite dans l'onglet produit de la catégorie e-commerce sur Matomo, pourtant mon code est le suivant :
Aurais-tu une solution? Merci d'avance !
Bonjour Adam,
Le code que tu montres ici contient une variable de
dataLayer
, c'est bien le cas ? Si oui, je t'invite à lire la documentation de la page suivante qui sera plus adaptée.Pour que les informations de vues de produits soient pris en compte, il faut s'assurer que la balise Matomo se déclenche quelques millisecondes après ta balise de page de vue de produit.
Si tu n'utilises pas le TagManager, tu peux directement placer ce code avant le code de suivi Matomo et ton souci sera réglé.
En espérant t'avoir donné de bonnes pistes, Ronan
Bonjour Ronan, Tout d'abord merci beaucoup pour ta réponse qui m'est utile, Mais j'utilise GTM pour implémenter les données sur Matomo est-ce le même types de problèmes?> Merci d'avance !
Bonjour Adam,
Oui, peu importe que ce soit GTM ou MTM, l'usage d'un Tag Manager rend le tracking plus propre et plus simple à maintenir dans le temps.
Donc dans GTM, tu peux créer un délai de 1 ms sur ta balise Matomo. Cela forcera le Tag Manager à prioriser les balises, et donc à déclencher l'événement de page vue après l'information de vue de page produit.
Bonjour Ronan, je vais mettre en place tes conseils merci ça m'aide vraiment !
Aucun souci, n'hésites pas si tu as des questions !