nov
13

Tracking ecommerce Google Analytics avec Google Tag Manager et son dataLayer

Google a enfin sorti son outil de Tag management. Tout le monde est au courant. J’en ai donc profité pour faire quelques petits tests et je me suis rendu compte que peu de ressources étaient disponibles aujourd’hui concernant le tracking ecommerce et donc le tag transactionnel avec cet outil.

Avant de lire ce que je vais exposer rapidement, et surtout si vous ne savez pas ce qu’est Tag Manager, je vous invite à regarder cette petite vidéo d’introduction.

Depuis peu, lors de la configuration d’une balise de type Google Analytics, vous pouvez définir un type de suivi « Transaction ». Ce type de suivi correspond au tag ecommerce de Google analytics.

Durant mes recherches, je n’ai pas trouvé de code me permettant d’utiliser ce type de balise en utilisant le dataLayer (ou couche de donnée en français) de Google Tag Manager. J’ai trouvé beaucoup de ressources qui exposaient l’utilisation d’astuces et surtout de balises custom HTML. Or Google fournit tous les outils permettant l’utilisation du dataLayer pour gérer dynamiquement ce type de tracking.

Deux liens indispensables à la compréhension du code :

Une fois votre balise de type Google Analytics avec type de suivi « transaction » créée, vous pouvez définir une règle de déclenchement à lui appliquer afin qu’elle ne parte que sur la dernière page de votre tunnel d’achat. Prenons comme exemple la page /merci.php, voici la règle à définir :

Après avoir configuré tout cela, il ne vous suffira plus qu’à mettre le script suivant juste avant le script de votre conteneur. Ce code est un exemple à dynamiser à l’aide de vos chers collègues développeurs.

<script>
    dataLayer = [{
      'transactionId': '1234',
      'transactionDate': '13112012',
      'transactionType': 'Type 1',
      'transactionAffiliation': 'ACME Clothing',
      'transactionTotal': 25.60,
      'transactionShipping': 5.00,
      'transactionTax': 1.00,
      'transactionPaymentType': 'Paypal',
      'transactionCurrency': 'EUR',
      'transactionShippingMethod': 'Retrait magasin',
      'transactionPromoCode': '',
      'transactionProducts': [{
        'id': '12',
        'name': 'bottes rouge croco',
        'sku': '45622FRES',
        'category': 'chaussures > bottes',
        'price': 450.00,
        'quantity': 2
        },
        {
        'id': '14',
        'name': 'veste cuir noire',
        'sku': '456VESRTE',
        'category': 'vêtements > vestes',
        'price': 750.00,
        'quantity': 1
        }]
    }];
    
  </script>
									

Chaque produit du panier doit être un élément du tableau transactionProducts. Cela équivaut à l’exécution d’un _addItem par produit.

On remarque par rapport au code basique actuel que les variables city, state or province et country n’ont pas d’équivalent dans le dataLayer. Arrêtez-moi si je me trompe, mais il me semble que de toute façon ces variables ne sont actuellement pas personnalisables au niveau du tag transactionnel. Google analytics récupère automatiquement les propriétés pays / région / ville du visiteurs qu’il applique à la transaction. J’avais déjà fait quelques tests pour utiliser ces variables et y insérer d’autres données, sans succès.

Le contenu de la requête http sur la transaction :

City, country et region sont en undefined.

On remarque également que de nouvelles variables font leur apparition (et donc sûrement de nouvelles dimensions natives dans l’outil) : type de transaction, date de la transaction, type de paiement, mode de livraison, code promo.

Le contenu de la requête http sur un item :

Beaucoup de variables qui ont une valeur dans le dataLayer n’apparaissent pas encore aujourd’hui…

Tout cela me fait penser à tout ce que l’Universal Analytics pourrait apporter dans les prochains mois. Le Google Tag Manager est clairement fait pour la mise à disposition de nouvelles dimensions, qu’elles soient prédéfinies ou personnalisées.

Si vous avez des remarques, astuces ou conseils à partager, n’hésitez pas !

Google+
juin
5

3 astuces de présentation Excel pour analystes

Author François    Category Outils web analytics, Pratique analytics     Tags

Je vais parler de certaines de mes astuces préférées sur Excel que j’utilise généralement dans mes tableaux de bord afin de gagner en clarté et efficacité.
Ce ne sont pas des choses inédites mais il est toujours intéressant de comparer nos façons de travailler. Je vous invite d’ailleurs à me proposer vos meilleures astuces !

Excel est l’outil de base du web analyste, il doit devenir par conséquent son meilleur ami. Plonger dans les chiffres, arranger des tableaux, extraire les données pertinentes, tout ceci fait partie de notre quotidien et il vaut mieux apprendre à bien se servir de certaines fonctions.

Voici ici 3 manipulations assez simple qui peuvent changer l’apparence d’un dashboard ou la productivité de l’analyste.

1- Présenter la performance avec le bullet graph

Lorsque l’on envoie un dashboard de performance à un client avec de jolis KPI, en général dans la journée on reçoit un appel téléphonique avec la fameuse question :
« Merci pour le dashboard, mais au fait mes taux de clics sur mes campagnes là… C’est bien ou pas ? »

Si on reçoit ce genre de question à chaque dashboard que l’on envoie, c’est qu’il y a visiblement un problème. Et le problème vient souvent du manque de contexte que l’on donne dans un dashboard… Hey oui ! L’analyste lui il a l’habitude de voir des taux de clics à longueur de semaine… Il sait ce qui est correct, bon ou très bon. Il sait ce qu’est un bon taux d’ouverture… Mais pas forcément le client. Donc on fini par donner des chiffres pour se benchmarker et dans le meilleur des cas nous avons aussi des objectifs chiffrés à atteindre. Lorsque l’on a tous ces éléments de contexte une bonne manière de présenter l’information est ce qu’on appelle un bullet graph. Il y a de bonnes explications sur le web pour faire soi-même son bullet graph dans Excel et de mon point de vue ça peut changer totalement une présentation.
Voici par exemple comment je pourrais présenter la comparaison de taux d’entrée que l’on souhaite suivre sur plusieurs pages d’arrivées :

Sur ce graph on peut placer, l’objectif, et l’information qualitative sur la performance. Une fois ce graph expliqué, plus de question pour savoir si ça « a marché ou pas ».

EDIT : Je viens de voir que le créateur de ce graph vient de publier un article expliquant pourquoi ce graph est bien plus approprié que les habituelles jauges : Le bullet graph (en anglais). Très bonne lecture ! Par ailleurs on comprend pourquoi ce graph est en nuances de gris, ayant moi même un daltonien dans l’équipe, ça prend vraiment tout son sens.

2- Ajouter des information sur les tendances : lignes d’écart type et moyenne mobile.

Les graphs Excel ont des fonctionnalités puissantes qu’il faut savoir utiliser. Trop souvent on voit dans des Powerpoints les graphs par défaut d’Excel sans élément de contexte ou de fonctionnalité pour aider la lecture du graph.

Voici l’exemple de l’utilisation des barres d’erreurs représentant l’écart type sur la période. L’avantage de cette représentation c’est que l’on voit tout de suite quelle sont les valeurs qui se dispersent au delà de l’écart type :

Il s’agit du même graph, mais le deuxième montre une information supplémentaire qui permet de lire plus facilement les écarts. N’oubliez pas que les barres d’erreurs sont aussi personnalisables, on peut donc comme sur le graph au dessus les élargir pour se faire se toucher et leur donner la couleur que l’on souhaite. Voici par exemple une très belle explication (en anglais) de Stéphane Hamel sur le Dashboard Excel

Autre exemple, si l’on regarde une audience par semaine sur un site qui a une certaine périodicité le pics et les creux rendent la lecture quelque peu difficile. Par exemple, un site recevant le trafic en provenance d’une newsletter toutes les 3 semaines a une courbe de tendance par semaine qui peut ressembler à ceci :

Pour comprendre l’évolution, la lecture du graph n’est pas très intuitive, mais heureusement on peut créer une moyenne mobile :

Ce qui avec un peu de travail sur l’apparence du graph nous donne un résultat plus facilement lisible :

3- Utiliser les si(estnum()) pour éviter d’avoir des erreurs.

Lorsque l’on a besoin de sortir régulièrement les mêmes rapports et qu’il faut légèrement les retoucher afin de les présenter de manière un peu plus esthétique qu’un simple export ou que l’on a besoin de modifier les noms de certaines dimensions, on fait souvent appel à une couche tampon intermédiaire qui est en fait un onglet brouillon sur Excel. Cet onglet brouillon peut être caché avant d’envoyer le dashboard au client et contient toutes les données brutes, le plus souvent en provenance directe des outils web analytics. Le problème c’est que parfois nous voulons faire une comparaison avec la semaine précédente entre des valeurs présentes dans deux tableaux
Pour aller récupérer la dimension que l’on souhaite dans l’ordre que l’on souhaite et la comparer avec la même valeur dans un autre tableau il suffit d’utiliser une « recherchev » (vlookup en anglais), la formule est très simple avec l’exemple ci dessous :

On peut imaginer créer dans un autre onglet un petit tableau récapitulation en regroupant les sources et en ajoutant une variation :

La formule que j’utilise pour la recherche des données est dans ce cas :
=VLOOKUP(A3;Exemple1!$A$3:$B$15;2;FALSE)

Et pour la variation :
=VLOOKUP(A3;Exemple1!$A$3:$B$15;2;FALSE)/
VLOOKUP(A3;Exemple1!$D$3:$E$15;2;FALSE)-1

Le problème c’est que lorsque l’on fait ce genre de formules et que les tableaux viennent directement des outils web analytics certaines lignes de dimensions peuvent être vides certains mois, et donc on se retrouve avec des erreurs. Pour éviter ces erreurs, je change légèrement ma formule pour lui ajouter un condition :
=IF(ISNUMBER(VLOOKUP(A3;Exemple1!$A$3:$B$15;2;FALSE));
VLOOKUP(A3;Exemple1!$A$3:$B$15;2;FALSE);0)

et

=IF(ISNUMBER(VLOOKUP(A3;Exemple1!$A$3:$B$15;2;FALSE)/
VLOOKUP(A3;Exemple1!$D$3:$E$15;2;FALSE));
VLOOKUP(A3;Exemple1!$A$3:$B$15;2;FALSE)/VLOOKUP(A3;Exemple1!$D$3:$E$15;2;FALSE)-1; »n/a »)

 
Ces deux conditions si(estnum()) en français dans Excel permettent d’avoir un résultat plus clair et lisible sans les gros #N/A

Voilà, petit tour rapide de quelques astuces simples mais que personnellement j’utilise très souvent. Le prochain truc un peu plus complexe les graphs dynamiques que certains de mes ex-collègues que j’ai torturé connaissent bien.

Google+
mai
22

Dashboard et analyse, comment s’y prendre ?

Et hop, j’ai eu plusieurs questions la semaine dernière sur un article, donc je vais tenter d’y répondre cette semaine. D’abord merci JB pour ces questions, c’est toujours plus intéressant de répondre à quelqu’un plutôt que d’essayer d’imaginer le sujet qui peut intéresser certains.

« Est-il possible de concevoir un dashboard qui corresponde à la fois aux exigences de simplicité du client et aux souhaits d’exhaustivité du web analyste (en agence), et quelles sont les best pratices pour y parvenir ? »

Le dahsboard client

Alors, je rectifierais légèrement le postulat de base, parce que personnellement j’ai rarement vu en agence de vraies exigences de simplicité d’un client. Au contraire j’ai souvent croulé sous les demandes de « chiffres », de « stats », de « KPIs », ce qui signifiait faire un copié collé de l’outil web analytics dans un fichier Excel… Les demandes sont souvent confuses et contiennent beaucoup de choses différentes.

Cela dit il est vrai qu’on se rend compte aussi que la majorité des clients ne finissent par ne plus lire les dashboards si on les construit comme ils le souhaitent au départ et c’est peut être ce qui donne cette impression à la longue qu’il faut produire un nouveau dashboard plus simple, plus clair et plus facilement lisible.

Déjà il faut comprendre pourquoi le client demande beaucoup de chiffres. Pourquoi veut-il dans certains cas avoir quasiment toute l’information utile à l’analyste pour faire toute son analyse ?
Comme je disais dans un précédent billet, on a parfois l’impression que le client veut faire le travail d’analyse à notre place. J’ai toujours été surpris de cette attitude ce qui m’a poussé à essayer de comprendre pourquoi ça arrivait afin de trouver une manière de rectifier ce problème.

J’ai trouvé 4 principales raisons qui poussent un client vouloir jouer les analystes :

- Personne ne fait le vrai bon travail d’analyse.
C’est le plus dur constat à faire, surtout si c’est un client que l’on a depuis longtemps. En fait si personne n’explique ce qui se passe sur le site, si le client est aveugle sur ses opérations digitales, s’il ne voit pas de manière de les améliorer, il va vouloir lui même comprendre à partir des données web analytics. Si votre client n’arrête pas de vous demander des chiffres posez vous les deux principales questions :
1 -Est-ce que je fais mon travail d’analyse et de diffusion de l’analyse correctement ?
2- Est-ce que mon client a vraiment confiance en mon travail ?
En répondant à ces questions on peut parfois trouver la solution pour désamorcer une situation épineuse. Il arrive aussi que suite à une série de malchance le client a perdu très clairement la confiance et dans ce cas il faut faire le dos rond un bon moment tout en essayant de produire de la valeur…
- Le client pense mieux savoir que l’analyste.
Je dis « pense », mais ce n’est pas forcément faux… Il faut savoir que bien souvent en agence on manque de contexte pour les analyses parce que beaucoup de paramètres offline et confidentiels entrent en jeu. Lorsque l’analyste n’a pas toute l’information et que la communication est un peu coupée, le client peut vouloir reprendre une partie de l’analyse.
Il se peut aussi que le client pense mieux connaitre le digital que son analyste, et là, à vous de voir si il a raison…
- Le client veut faire valoir ses bonnes idées auprès de ses supérieurs.
Evidemment on est dans un monde compétitif où la bonne idée peut sauver une place ou booster une carrière. Il est parfois plus judicieux pour un client de récupérer les rapports un peu bruts, regarder si les chiffres corroborent ses intuitions et proposer lui-même des optimisations plutôt que de laisser l’analyste briller par sa perspicacité. Ce cas est un peu particulier, mais je dois dire que j’ai l’ai déjà vu.
- Le client ne comprend pas le web analytics ou le scope du travail de l’analyste
Bon, dans ce cas précis, c’est souvent un peu compliqué mais une grande partie du travail web analytics consiste à faire comprendre (à ses collègues ou à son client) ce qu’on l’on fait et comment on peut les aider.

Maintenant si l’on arrive à avoir une relation saine avec son client et que l’on fait bien son travail le but est de produire un tableau de bord simple, avec des indicateurs segmentés qui fournissent une vraie information, avec une explication de cette information mettant en valeur les opportunités ou les menaces pour l’entreprise. Enfin un bon tableau de bord devrait être accompagné d’actions à prendre (recommandations d’optimisation). Mais d’expérience entre ce qui est vendu au client en agence et la réalité de l’analyse au fil des semaines il y a souvent un bel écart. Si le tableau de bord est hebdomadaire il n’est vraiment pas évident de proposer des actions toutes les semaines (quoique j’ai vu certains analystes sous pression se surpasser…).

Mais une fois que l’on réussit à créer un dashboard simple, clair et orienté sur les objectifs comment produire une belle analyse contextuelle pertinente contenant ces fameuses recommandations ?

L’analyse des dashboards.

Ici je pense que l’on a tous des méthodes un peu différentes pour cette partie, mais en général je fonctionne suivant 3 process :
- Je construis mon tableau de bord client avec plusieurs onglets.
Le premier onglet est l’executive summary, où finalement toute l’information est condensée. On y trouve les KPIs et les objectifs chiffrés si on en a, et on peut cliquer sur les KPIs pour avoir un détail dans d’autres onglets qui ont en fait deux fonctions : orienter l’analyste dans sa recherche d’insights et rassurer le client sur le fait « qu’il y a du boulot derrière ». Une fois la confiance installée le client ne regardera plus que le premier onglet si l’analyse est pertinente. Les autres onglets restent là pour l’inspiration, et pourquoi pas même retirer ces onglets définitivement et voir si le client pose la question ?
- Je monitore les pages principales en fonction de leur objectif respectif.
Chaque page (ou section) du site a une fonction et donc un objectif qui en découle. J’identifie l’objectif et je trouve le KPI correspondant. La comparaison des pages de fonction similaire peut fournir des informations précieuses pour comprendre quels sont les parties du site qui fonctionnent le moins bien. De même lors d’une opération marketing, si les performances ne sont pas au rendez vous on peut identifier plus facilement quelle page ou section (et donc quelle fonction) n’a pas produit les résultats escomptés. (en fait je pourrais faire tout un article sur cette méthode…)
- J’analyse en aveugle dans l’outil de segmentation.
Enfin lorsque tout est plat, les campagnes ne changent pas, les performances ne bougent pas, le mieux est d’aller « jouer » dans l’outil de segmentation. Il n’y a pas vraiment de règle, il faut aller regarder les données et tester différents segments habituels pour essayer de repérer quelque chose d’anormal : nouveaux vs. visiteurs connus, sources de trafic, navigateurs, origine géographique, jour de visite, etc.

Enfin je voulais aussi confirmer ce que dit Marc en commentaire sur l’article de Romuald. Il est très intéressant de fonctionner aussi de manière réactive, susciter l’intérêt avec des données nouvelles et provoquer des questions est aussi une belle manière de débuter une analyse. Il faut être bien conscient que l’analyste ne peut pas tout voir ou tout connaitre, toutes les questions des clients sont des bons points de départ pour aller voir si tout fonctionne comme prévu. Concrètement on peut par exemple essayer de comprendre la question business qui se cache derrière une demande de chiffre, répondre à ce genre de question produit beaucoup plus de valeur que de copier coller une un rapport directement depuis l’outil.

Google+