Configurer Magento et Google Analytics pour l'analyse statistique de la boutique

  • De le 26 janvier 2010
  • Difficulté : 2/4

Configurer Magento et Google Analytics pour l'analyse statistique de la boutique Magento implémente par défaut un module pour Google Analytics : en quelques clics le tracker Analytics est installé, et la bonne nouvelle c'est que le module intègre automatiquement l'API e-commerce d'Analytics.

[EDIT 19/12/2011] Modification de l'article pour l'adapter à la nouvelle version d'Analytics.

Je ne suis pas un grand spécialiste d'Analytics, j'y découvre d'ailleurs de temps en temps quelques subtilités. Ce qui est certain, c'est que pour le vente en ligne, Analytics est un outil d'analyse surpuissant. Idéal pour tracker faits et gestes des internautes et analyser les comportements.

Sans entrer dans les détails d'analyse poussée des données récoltées par Analytics, voici déjà comment le configurer au mieux avec Magento.

L'objectif est d'envoyer à Analytics les informations des ventes réalisées sur la boutique : transactions (référence, montant total, tva, frais de port...) et produits commandés (noms, prix, sku, quantités...). L'outil se charge ensuite de vous donner le taux de conversion par source, le panier moyen, le chiffre d'affaires et plein d'autres informations indispensables à la pérennité de votre e-commerce. Et il n'y a pour cela que 2 choses à faire :

  • 1. Activer Analytics sur Magento
  • 2. Indiquer à Analytics que votre site est un e-commerce

Pour activer Analytics, rendez-vous sur le menu Système > configuration > Ventes > API Google > Google Analytics. On renseigne alors son UA, et on active :

Activer Google Analytics sur Magento

Sur Analytics, éditez les paramètres du profil de votre e-commerce. Pour accéder aux paramètres cliquez sur l'icône engrenage situé en haut à droite de la page :

Paramètres Analytics

Sélectionnez ensuite le profil concerné, puis cliquez sur Paramètres de profil :

Profil Analytics

Editez les paramètres du profil de votre e-commerce puis modifiez les informations sur le profil. Indiquez que votre site est un site Web de commerce électronique (sans oublier de modifier la devise) :

Editer le profil Analytics

L'onglet Conversions > Commerce électronique peut commencer à afficher les informations issues des transactions :

Menu analytics e-commerce

Voilà pour la configuration... Cependant pour que tout cela fonctionne correctement et que les données soient correctement collectées, il vous faut à tout prix que l'internaute, quelque soit la méthode de paiement sélectionnée, finisse par atterrir sur la page checkout/onepage/success/.

C'est en effet sur cette page que l'API e-commerce entre en action. Si vous observez le code source de la page, vous y trouverez :

Tracker Analytics depuis checkout/onepage/success/

<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-XXXXXXX-X");
pageTracker._trackPageview("/magento/checkout/onepage/success/");
</script>

<script type="text/javascript">
pageTracker._addTrans("100000016","","11.6100","1.1500","4.9000","Lille","Nord","FR");
pageTracker._addItem("100000016","THE003","The Yunnan Pu-Erh","","5.8500","1.0000");
pageTracker._trackTrans();
</script>

3 méthodes GATC sont utilisées : _addItem() pour tracker les produits commandés, _addTrans() pour générer l'objet transaction, et _trackTrans() pour communiquer au serveur d'Analytics la transaction et les produits associés (Tracking API Ecommerce).

Notez que ces méthodes sont également disponibles pour la version asynchrone d'Analytics que Magento n'utilise pas encore. Une petite surcharge du module GoogleAnalytics peut permettre d'implémenter cette nouvelle version du tracker.

Selon les méthodes de ventes que vous proposez et les interfaces de paiement utilisées, obligez donc le client à achever sa commande sur la page checkout/onepage/success/. Pour la France, l'interface de paiement très largement répandue et proposée par la majorité des banques et celle d'ATOS. Par défaut le client peut ne pas revenir sur le site une fois le paiement effectuée (très peu d'internautes le font, refroidies par le message d'avertissement sur les données transmises en claire lors du clic sur le bouton "retour à la boutique"). Pour l'API ATOS, penchez vous sur la variable NO_RESPONSE_PAGE à transmettre lors de la requête....

8 commentaires

Commentez cet article : Configurer Magento et Google Analytics pour l'analyse statistique de la boutique

pascal Le 20/06/2010 à 23:25
Bonjour,
concernant l'activation de NO_RESPONSE_PAGE j'ai vu sur des forums que cela pouvait causer des soucis, et la doc atos comporte le message ci-dessous :
ATTENTION :
L’utilisation de cette option modifie le protocole de la réponse renvoyée sur les URL paramétrées dans les champs normal_return_url et cancel_return_url. La réponse cryptée n’est plus envoyée en méthode POST, mais en méthode GET. La méthode GET ne permettant pas de véhiculer de grosses variables, tous les champs de la réponse ne sont pas renvoyés.
Les champs non transmis sont : caddie, customer_email, customer_id, customer_ip_address, merchant_language, order_validity, receipt_complement, return_context et transaction_condition.
Alors quelle est la méthode à utiliser pour que GA prenne en compte toutes les transactions ? J'ai vu qu'il existait une extension fooman GA plus, quelqu'un a un retour d'expérience là dessus vu que l'extension est en beta ?
Pascal
Commentaire #1
Magentix Le 20/06/2010 à 23:25
J'ai dû modifier le module d'Atos développé par "Quadra Team" pour gérer la transmission des informations en GET et non plus en POST. Bizarrement le module propose d'activer l'option NO_RESPONSE_PAGE dans la configuration mais plante car il ne peut gérer de base le GET. Après la modification dans les fichiers du module ($_POST > $_REQUEST) je n'ai pas rencontré de problème particuliers. Les informations indispensables sont transmises et le module fonction bien.

Par contre je ne connais pas l'extension Fooman GA plus...
Commentaire #2
pascal Le 20/06/2010 à 23:26
Merci de ta réponse,

j'ai un site en production pour lequel j'aimerais faire la modif dont tu parles mais j'ai pas trop droit à l'erreur :) : pourrais tu m'indiquer quels fichiers et quel code il faut ajouter ou modifier notamment pour la variable no_reponse_page (parcom ou atos.php) car j'ai vu differentes reponses sur des forums, ainsi que pour passer de POST en GET.
Pour l'extension Fooman, si ca interesse quelqu'un :
http://www.magentocommerce.com/magento-connect/FOOMAN/extension/171/fooman-google-analytics-plus

Merci
Pascal
Commentaire #3
Magentix Le 20/06/2010 à 23:26
Houlà çà remonte à loin ;)
Tu n'as pas la possibilité de tester sur un serveur de pré-production ?
Sinon la récupération des données en POST se font au niveau du contrôleur : app/code/local/Mage/Atos/controllers/StandardController.php, pour un paiement par CB standard (pas par carte aurore ni paiement en plusieurs fois).

Tu vas y trouver un certain nombre de $_POST['DATA'], et des conditions du type if($this->getRequest()->isPost('DATA')).
L'idée est de remplacer tout çà par des $_GET['DATA'] et des if(isset($_GET['DATA'])), ou mieux, faire des conditions selon que les infos sont envoyés en GET ou en POST afin de pouvoir facilement basculer de l'un à l'autre (tu pourras comme çà revenir rapidement en POST si çà marche pas...)
Commentaire #4
pascal Le 20/06/2010 à 23:27
Ok je te remercie je vais tester cà. Je voulais etre sur de la méthode.
Pascal
Commentaire #5
Plancton Le 15/12/2010 à 18:42
@pascal et Magentix :
La version 1.3.0 du module Mage_Atos publiée en avril 2010 corrige le pb du GET et du POST en introduisant une fonction getData dans le controller. Mais ce module ne prend pas en compte la spécificité du mode NO_RESPONSE_PAGE qui est que si la transaction est refusée ou annulée, on est renvoyé sur l'url Cancel et non normal comme indiqué page 19 du Guide de personnalisation des pages de Sogenactif ("Il est ainsi directement reconnecté à la boutique du commerçant, sur l’URL paramétrée dans le champ normal_return_url ou cancel_return_url suivant que la transaction a été acceptée ou refusée. ")
Donc c'est au controller cancelAction() de gérér l'affichage du message d'erreur. C'est pourquoi on est renvoyé sur le panier sans aucun message en cas d'échec de paiement en mode No_RESPONSE !
Il faut alors analyser le response_code (05 pour un refus, 17 pour une annulation) ET le bank_response_code (raison du refus).
Je vais publier une proposition de correction sur le forum du module en espérant que celle-ci soit intégrée dans la prochaine version.
Commentaire #6
Julien Le 18/03/2013 à 09:57
Bonjour, je viens de suivre votre tuto, mais chez moi ca ne bouge pas, en fait j'ai un ancien compte google analytics qui est connecté à mon site, donc je change le account number, je fait aussi les modifs de votre tuto, je fait save , mais dans le code source de mon site, c'est toujours l'ancien code...comment il faut faire? il supprimer l'ancien d'abord?
Commentaire #7
Lilas Le 10/04/2013 à 08:49
Bonjour,

Le tutorial datant de decembre 2010, c'est sans doute la raison pour laquelle je ne retrouve pas le fichier sucess.phtml ici checkout/onepage/success/. Je la trouve là checkout/success.phtml. En ouvrant et en observant le code source de la page sucess je ne trouves pas le script affiché ci-dessus !!
Une mise à jour serait peut être utile, qu'en pensez-vous ?
Commentaire #8
Rédiger un commentaire

Code de sécurité

* champs obligatoires