Annulation de commande dans Google Analytics

23 avril 2012

D'après la documentation de Google Analytics, il est possible d'annuler une commande (ou transaction). Cette opération consiste à envoyer des valeurs négatives au niveau des informations de la transaction (montant, TVA, Livraison, et Quantité de produit). Seulement, tous les indicateurs e-commerce ne sont pas "corrigés" …

Lors d'une "annulation", que se passe-t-il techniquement ?

Dans plusieurs fils de discussion de différents forums, j'ai constaté que le problème de l'annulation de commandes dans Google Analytics était récurrent, et que la solution technique évidente préconisée par Google était appliquée, en considérant que toutes les corrections sont appliquées. Mais en raisonnant par rapport aux mécanismes de calcul des certains indicateurs, qu'en est-il exactement ? Appliquant ces indications de la documentation officielle, j'ai réalisé une expérience simple d'envois d'information e-commerce. Ainsi, lors de 6 visites simulées, une transaction a été enregistrée à chaque fois. Puis trois commandes ont été annulées via trois visites. Parmi ces trois, deux correspondent à des annulations de commandes existantes, la troisième (n° 201227173238) n'existant pas. Cet article n'abordera pas les aspects analytiques liés à la notion d'annulation de commande, ni sa pertinence. Il se concentrera seulement sur les aspects techniques, dont une partie est très peu abordée dans la "littérature" (web ou papier).

La technique d'annulation

Pour une transaction décrite ainsi dans le marqueur de GA (ici en mode asynchrone) :

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-27182-8']);
_gaq.push(['_trackPageview']);

_gaq.push(['_addTrans',
'314159',		// Numéro de commande (obligatoire)
'Site',			// Affiliation ou nom du magasin
'750',			// Total (obligatoire)
'147',			// Taxe
'1',			// Frais de port
'Paris',		// Ville
'Ile-de-France',	// État ou région
'France'		// Pays
]);

_gaq.push(['_addItem',
'314159',		// Numéro de commande (obligatoire afin d'associer l'article à la transaction)
'G',			// Référence/code produit (obligatoire)
'Module G',		// Nom du produit
'Formation Analytics',	// Catégorie ou variante
'750',			// Prix unitaire (obligatoire)
'1'			// Quantité (obligatoire)
]);

_gaq.push(['_trackTrans']);

(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl': 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

Voici la méthode d'annulation consiste à renvoyer les mêmes informations, sauf que les valeurs de quantité et de montant sont négatives :

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-27182-8']);
_gaq.push(['_trackPageview']);

_gaq.push(['_addTrans',
'314159',		// Numéro de commande (obligatoire)
'Site',			// Affiliation ou nom du magasin
'-750',			// Total (obligatoire)
'-147',			// Taxe
'-1',			// Frais de port
'Paris',		// Ville
'Ile-de-France',	// État ou région
'France'		// Pays
]);

_gaq.push(['_addItem',
'314159',		// Numéro de commande (obligatoire afin d'associer l'article à la transaction)
'G',			// Référence/code produit (obligatoire)
'Module G',		// Nom du produit
'Formation Analytics',	// Catégorie ou variante
'-750',			// Prix unitaire (obligatoire)
'-1'			// Quantité (obligatoire)
]);

_gaq.push(['_trackTrans']);

(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl': 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

L'annulation amène des corrections...

Le chiffre d'affaire, les taxes, la livraison et les quantités sont corrigés grâce aux valeurs négatives transmises, comme illustré dans le rapport [Conversion / Commerce électronique / Transactions] (encadrés verts) :

Statistiques e-commerce de base

Une transaction dont toutes les valeurs sont annulées disparaît dans le rapport [Conversion / Commerce électronique / Transactions]. Il ne reste alors que les commandes non annulées (ou pour lesquelles il reste des produits de quantité non nulles), pour des périodes d'analyse couvrant les commandes et leur annulation :

Liste des transactions enregistrées

Mais on trouve également dans la liste des transactions celles qui sont négatives, car ne correspondant pas à une commande existante. Du coup, le chiffre d'affaire et les autres principaux indicateurs pré-cités seront biaisés par ces dernières.

Transaction annulée inexistante

Le contenu de cette transaction 201227173238 "négative" apparaît ainsi, avec des valeurs négatives (encadrées en orange) :

Statistiques d'une transaction annulée inexistante

Mais il y a aussi des biais...

Les nombres de transactions et d'achats uniques (nombre total de fois où un produit spécifié a fait partie d'une transaction) augmentent au lieu d'être ajustés :

Statistiques globales e-commerce dans Google Analytics

En effet, nous devrions lire 5 transactions = 6 commandes - 2 annulations valides + 1 annulation invalide. Les produits avec une quantité d'achat nulle apparaissent dans le rapport [Conversion / Commerce électronique / Performance des produits], car le nombre d'achats uniques n'est pas nul (4 achats uniques pour zéro quantité) :

Liste des produits de transactions modifiées

Cet affichage nous montre donc que l'indicateur achats uniques n'est pas corrigé. Par ailleurs, le taux de conversion du commerce électronique peut être erroné. Pourquoi ?

Calcul du taux de conversion e-commerce

Ce taux égale le nombre de visites avec transactions divisé par le nombre de visites. L'annulation d'une commande est comptabilisée comme une transaction, car correspondant à l'envoi d'informations e-commerce, et peut engendrer une visite avec conversion. L'acte d'annulation va donc augmenter le taux de conversion, d'une façon insignifiante mais possiblement importante si cette opération est réalisée fréquemment et automatiquement (amenant mécaniquement la comptabilisation d'une visite par annulation).

Conclusion

S'il est intéressant de pouvoir corriger les données e-commerce dans GA, surtout pour un site connaissant beaucoup d'annulations de commandes préalablement enregistrées dans GA (afin de minimiser les biais dans les analyses), cet outil ne doit pas être considéré comme un back-office de comptabilité e-commerce. De plus toute erreur dans une annulation peut entraîner des effets de bords rapidement ingérables. Nous abordons tous ces sujets lors de nos différentes formations  concernant Google Analytics. Nicolas GUILLARD

A propos de l'auteur : Nicolas Guillard Ranking Metrics sur Google+ Ranking Metrics sur Twitter Ranking Metrics sur Facebook

Nicolas GuillardExpert SEO et Web Analytics, Nicolas Guillard est consultant et formateur chez Ranking Metrics. Bon pédagogue (il enseigne depuis 15 ans), il anime les formations Google Analytics de Ranking Metrics. Il maîtrise les principaux outils de Web Analytics tels que Google Analytics (il est GAIQ), Site Catalyst (avec la certification Advanced Implementation), AT Internet Analyzer. Il intervient depuis 6 ans chez des grands comptes du Web.

Vous avez aimé cet article, partagez-le sur vos réseaux sociaux !

Suivez-nous sur les réseaux sociaux !

Suivre Ranking Metricssur Google+

Assistez à nos formations !

Un catalogue complet de formation au emarketing

En tant que spécialistes du référencement naturel, nous proposons un cursus de formation SEO sur 4 jours (fractionnables). Nous l'avons complété par des modules sur Google Analytics, Google AdWords, les réseaux sociaux Facebook/Twitter et la e-réputation. Consultez ici toute notre catalogue de formations.

Des formations référencement plébiscitées par les sociétés

Plus de 4000 entreprises ont déjà participé à nos formations à Paris, Lyon, Marseille, Rennes, Montpellier, Nice Sophia-Antipolis, Nantes, Bordeaux, Strasbourg, Toulouse, Lille, Genève, Bruxelles... Parmi celles-ci : Accor, Suez Environnement, BNP Paribas, Bosch Electroménager, Accenture, Darphin, eBay, Entre Particuliers, Kelkoo, Crédit Mutuel, plusieurs chambres de Commerce et d'Industrie, Skyrock, Rent a Car, Sofinco, et bien d'autres !

Les stagiaires : Clients Ranking Metrics

Nos Références clients : des indépendants, des PME et des grands comptes sont venus en formation Ranking Metrics

Inscription en ligne

4 réponse à “Annulation de commande dans Google Analytics”

  1. Julien a écrit :

    En attendant que Google ajoute un bouton "Annuler cette transaction"....

  2. Nicolas Guillard a écrit :

    Merci Julien A. N'hésitez pas à remonter vos besoins de formation via notre formulaire de contact.

  3. Julien_A a écrit :

    Très intéressant article, j’espère que les publications continueront ici.

    Dommage ! Je m'attendais à une solution pour "normaliser" tout ceci, mais elle semble ne pas exister, tout du moins, simplement.

    Et il ne faut pas hésiter à venir à Marseille pour les formations Nicolas !

    Vous faites pas cette année 🙁 et je m'ennuie

  4. Cargo a écrit :

    J'avais signalé à Google il y a presque deux ans ce bug de l'annulation, car on peut considérer ça comme un bug ! Ça fausse les données et c'est bien dommage ! Ils m'avaient répondu qu'une annulation était une transaction...