17 août 2017

Forensics en analytics (cybermétrie)

Ça fait longtemps que je n'ai rien publié! Je me dis toujours que je manque de sujet, de temps, que j'ai de la difficulté à bien raconter. On m'a aussi dit que c'est en écrivant que ça devient plus facile. Que la meilleure façon de s'améliorer c'est de pratiquer. C'est donc ainsi que je m'y mets.

Forensics
Le terme Forensics ou Médecine légale en français désigne l'ensemble de tâches servant à déterminer la cause d'un crime. En analytics et en intelligence d'affaires, il arrive parfois (toujours) que les données ne soient pas telles qu'attendues. C'est en analysant qu'on trouve des anomalies. On veut par exemple, trouver les sources d'une variation et on s'aperçoit qu'on n'a plus de données pour une certaine page.


On ne parle pas ici d'une page qui avait 4 visites en 2 semaines et plus aucune durant la période suivante. Une vraie variation.

Ma technique de forensics analytics
J'utilise pour l'explication le cas de figure très réel mentionné plus haut d'une page dont les données arrêtent d'entrer dans Google Analytics. Dans toutes les implémentations de Google Analytics que j'ai fait récemment, j'utilise un framework maison qui me permet plus facilement de créer un guide de tags à implémenter par l'utilisation du dataLayer et de dataLayer.push(). Le click listner, une technique alternative populaire demeure, selon ma faible expérience, bourrée de problèmes techniques qui dépasse ma compréhension de JavaScript.

Partir de la source
Je repars toujours à la source de la création des données un peu comme dans l'adage trouver la "source du problème".

      Visite sur le site > requête à la base de données (via dataLayer + GTM) > traitement (filtres GA)

Il serait aussi possible de faire le chemin inverse, soit de partir des filtres, mais il me semble plus logique de partir du début.

Étape 1: Taper l'URL de la page. 
Utilisez l'icône  de Google Analytics pour vous y rendre directement ou copiez-collez-la. On cherche à reproduire le comportement de l'utilisateur. Notez si la page est redirigée vers une autre URL. Si c'est le cas, assurez-vous qu'il s'agit bien d'une redirection de type 301. C'est le seul type de redirection qui n'entraine pas la perte des paramètres UTM ou gclid (AdWords). Si effectivement, la page est redirigée, validez que la nouvelle page est suivie et repartez votre analyse avec la nouvelle page tout en gardant en tête que l'analyse longitudinale doit être faite en combinant les deux URL.


Étape 2: Code source et DataLayer
La deuxième étape consiste à valider dans le code source que l'objet JavaScript dataLayer est bien renseigné. Dans le framework que j'utilise, l'URL de la page est toujours réécrite. L'objectif est de pouvoir changer quelque chose si le besoin s'en fait sentir plus tard durant l'implémentation ou durant la maintenance.

Il faut donc s'assurer que le dataLayer soit déclaré à la bonne place et avant le premier script de Google Tag Manager. Si les positions sont respectées, les valeurs dans le dataLayer seront pour Google Tag Manager lorsque son script est exécuté après. Dans le cas d'un élément suivi qui est "au clic" ou un autre type d'événement, il faut le retrouver dans le code source ou la console.

Étape 3: Valider la requête au serveur
Si le dataLayer est populeux adéquatement, il faut valider que GTM envoie les données. La façon la plus facile de le faire est d'ouvrir son outil d'analyse de tag préféré (WASP, Fiddler, Http Fox dans Firefox, Google Tag Assistant).
Si le tag est exécuté normalement, on passe à l'étape 4. Sinon, il faut vérifier que les identifiants GTM et GA utilisés sont les bons. L'addon Chrome de Google Tag Assistant est la plus rapide des façons que je connaisse pour faire cette validation.
S'ils sont bons, il faut aller dans GTM et retracer quelle(s) balises est(sont) devraient exécuter le tag.

En cliquant sur "Prévisualiser", on entre en mode de vérification des balises et déclencheurs.
On retourne dans le site et exécute l'action qui devrait être suivie. Dans le cas d'hyperliens, un simple contrôle + clic va ouvrir l'hyperlien dans une nouvelle fenêtre permettant de conserver les traces de l'action. Si l'action, n'a pas entrainé de log dans le sommaire à droite du panneau GTM, c'est qu'il y a un problème avec le tagging (code) ou le listner (GTM).

Dans le panneau GTM au bas de la fenêtre, on clique sur le log représentant l'action devant être suivie dans le sommaire à droite et on clique sur la balise devant envoyer le tag. On défile vers le bas jusqu'à ce qu'on atteigne la partie "Firing trigger". Dans ce bloc, GTM explique pourquoi le tag est parti ou non. Il faut adapter le déclencheur en fonction des informations recueillies.

Étape 4: Filtres Google Analytics
La dernière étape consiste simplement à réviser tous les filtres du profil qui est affecté. Il est à noter que leur ordre peut impacter les données. Ils sont exécutés selon l'ordre affiché dans la section admin de Google Analytics.

Yéééééé!
Vous devriez avoir identifié la source du problème et devriez être mieux orienté pour le corriger ou faire corriger. Si vous avez suivi le chemin et que le problème demeure un mystère, appelez-moi et on pourra réviser le tout ensemble.

En terminant, j'aimerais remercier Arnaud St-Germain pour m'avoir incité à écrire sur le sujet.

Bonne recherche!


8 novembre 2014

7 différences entre un analyste digital classique vs ecommerce

Un analyste digital à la particularité de pouvoir et vouloir analyser tout ce qui aide à la compréhension d'un phénomène. Tous les analystes que je connais déclarent pouvoir faire des analyses dites ecommerce. Moi-même, je m'en croyais capable jusqu'à ce que j'arrive chez LeSite une agence digitale de Montréal spécialisé en ecommerce. Aujourd'hui, tous mes clients sont des propriétaires ou gestionnaires de sites ecommerces. Depuis mon arrivé, j'ai appris que non-seulement je n'y connaissait rien, mais aussi que je n'était pas seul. J'y ai appris quelques choses importantes.

1. La première leçon est que l'argent mène la décision. Jusqu'ici, rien de nouveau. Mais lors d'analyse, la valeur d'un élément doit toujours être précisé. Toutes les analyses doivent être mises en contexte par rapport aux objectifs et aux revenus. Votre $ devient votre qualifiant. $/channel, $/content, $/page speed, $/anything.

2. Mes meilleurs amis sont devenus les mesures transactionnels: revenue, visites avec transactions,  nombre de transactions, average order value mieux connu par AOV, basket size (quanity/transactions), ...
Je travaille avec ces métriques sans arrêt et à toutes les sauces.

3. La métrique qui selon moi est la plus importante est le taux de conversion du commerce électronique (ecommerce conversion rate). C'est le "nombre de visites avec un achat" divisé par les "visites totales". Cette métrique signifie, lorsqu'elle est positive, qu'une dépense supplémentaire pourrait générer un revenu supplémentaire ceteris paribus. Un taux de conversion de 5% pour un canal me dit que si j'investis 100$ de plus dans ce canal à disons 10¢ du clic, j'ai 50 transactions. Disons aussi pour l'exemple que ces transactions n'auraient pas eu lieu sans mon investissement de 100$ (voir multi cannal plus loin). Si mon profit moyen par transaction est de 5$, je fais 250$ (50 transactions * 5$ de profit moyen = 250$ de profit). C'est un ROI de 250%. 
Note: pour maintenir le ceteris paribus, c'est-à-dire que toutes les autres métriques ne change pas ou peu, il faut une bonne équipe et une optimisation continue.

4. L'analyse de l'abandon du tunnel de conversion ecommerce est le même travail que pour des conversions non transactionnels, mais les budgets d'optimisation sont plus facile à faire approuver. Il faut tout de même commencer avec un petit projet de optimisation du taux de conversion (CRO) à grand potentiel.

5. Un autre point important est la comparaison. Les gestionnaires ne sont pas autant dans les stats que nous et donc, ils ne se souviennent pas souvent des anciennes stats qu'on leur a fournis. Ils se souviennent encore moins d'un benchmark spécifique comme du nombre de produit vendu du dernier lancement de produit à la semaine 5. Toujours mettre le comparatif, et s'il n'y en a pas, mettre quelque chose de similaire avec une note disant que ce ne sont pas exactement les même choses.

6. L'analyse multi-cannal et multi device est l'art d'étudier les visiteurs qui vont interagir avec une marque à travers une multitude de points de contacts et de devices. Pensons à un client insatisfait qui va faire une vidéo sur YouTube avec sa webcam, qui gazouille sur Twitter avec son cellulaire et qui partage sur Facebook un mécontentement avec sa tablette. Ça donne plusieurs points de contacts. Cela se fait aussi pour l'achat en ligne et surtout pour les gros achats et les petits achats répétitifs. Les gens vont chercher plusieurs sources d'informations et en plusieurs sessions avant de se décider à acheter.

7. L'attribution est l'étape suivant l'analyse multi cannal et multi device consistant à créer un model automatique d'attribution des conversions aux bons points de contacts. Cette analyse sert à attribuer le ROI aux bon cannaux et optimiser en fonction des parcours type. Je connais 2 techniques de création de model d'attribution: A. la manuelle et subjective et B. la statistique. 
A. La technique manuelle est d'attribuer des valeurs à chacun des points de contacts et de laisser le model faire le reste. C'est très subjectif à l'analyste et les biais de narcissisme et vanité sont des pièges à éviter. 
B. La statistique consiste à modéliser l'impact des valeurs selon les données passées. Dans ce cas, l'utilisateur doit être lié à tous les multi-device et multi cannaux possible.

Si vous faites des analyses ecommerce et vous avez noté d'autres points importants, laissez-moi savoir!

 


24 octobre 2014

Implémenter CrazyEgg avec le Google Tag Manager

J'ai fait le test et il est possible d'installer CrazyEgg  (CE) sur un site qui à Google Tag Manager (GTM) sans jouer dans le code. Il suffit de mettre la règle d'exécution à "Event equals gtm.dom".

C'est quoi CrazyEgg

CrazyEgg est un logiciel de suivi du comportement de l'utilisateur. Il comporte 4 grandes fonctions.

1. Click Map

Le click map est une fonction qui permet de voir sur une carte de chaleur ou les clics sont plus concentrés. Un endroit avec plusieurs clics devient "plus chaude" passant du bleu au vert, puis rouge, orange, jaune et blanc s'il y a beaucoup de clics.

2. Scroll map

Le scroll map est l'outil qui permet de dire à quelle hauteur les gens ont passé le plus de temps dans une page. La hauteur (en pixels) ayant eu le plus d'attention est celle où on attribue le blanc est les couleurs s'en suivent selon le niveau d'attention par rapport à la hauteur.


3. Confetti report

Le rapport de confetti est l'équivalent du click map par contre, les clics sont représentés par des petits points. Il est possible à l'aide d'un menu de segmenter ces clics en fonction de plusieurs critères tels que l'heure du jour, jour de la semaine, utm_source, utm_support, utm_campaign, le navigateur, le système d'opération, et plusieurs autres.


4. Overlay / liste

C'est une analyse de clics par zone (zone du header, zone de la bannière principale, etc.) Il y a aussi les clics sans liens, les "others". Ces zones sont aussi disponible via une liste.

Concurrents

CrazyEgg à maintenant des concurrents qui font du click mapping:


  • LuckyOrange - fait plusieurs types de suivi aussi. Le click map n'est pas aussi bon à mon avis.


  • ClickTale - fait aussi plusieurs choses. L'outil est plus dispendieux.


  • Yandex metrica - gratuit si vous possédez un compte chez l'engin de recherche russe


Le processus pour utiliser CE sur GTM

En étape:
Pour ceux qui ont GTM et CE passez à l'étape 4 directement.

CrazyEgg et Google Tag Manager

1. Achetez-vous une licence CrazyEgg. Il y a des plans qui commencent à partir de 9$ par mois.
2. Lors de l'ouverture du compte, CrazyEgg vous donnera un code JavaScript à implémenter dans le code de votre site avant la balise fermante body. Notez et enregistrez ce code dans un fichier Texte sans l'implémenter directement dans le site.
3. Créer vous un compte Google Tag Manager et implémentez le code GTM tout juste après la balise ouvrante body.

Nouveau Tag

4. Créez un "New tag" et choisissez le type "custom HTML".
5. Cliquez sur "More" sous les type de trigger.

Nouveau Trigger

6. Créez un nouveau en cliquant sur "New" > "custom event" > entrez "gtm.dom" sous "Event name to match" > ajouter le "trigger name" "gtm.dom".
7. Assurez-vous que le trigger gtm.dom est séléctionné, cliquez sur "save" et ensuite cliquez sur "continue".

Code CrazyEgg

8. Sous "Tag name " entrez "CrazyEgg Code"
9. Collez dans la boite HMTL le code de CrazyEgg sauvé à l'étape 2
10. Cliquez sur "Create tag".

Déployez les changement de code et vous pouvez faire fonctionner CE à partir de GTM!

Bonne analyse,
Raf

Note: Lors de la mise-en-place des suivis CrazyEgg, un module vérifie que le code est dans la page suivie. Celui-ci ne voit pas le code CE à travers le code de GTM même si celui-ci s'exécute. Validez 2 à 4 heures plus tard et vous devriez avoir des données qui ont commencé à entrer.


19 août 2013

Quoi faire si on atteint la limite de Google Analytics gratuit

Problème de hits sur Google Analytics

Les termes de Google Analytics dictent que le contrat de service est gratuit si moins de 10 millions de hits sont envoyés à Google Analytics.

Les hits sont:
les pagevues naturelles
les pagevues virtuelle
les écrans des SDK mobiles
les pagevues et autres envois du type envoyés à l'aide du Protocole ouvert de mesure (traduction libre de Open Mesurement Protocole)
les événements
les suivis social (trackSocial)
les variables de transaction (addItem et addTrans)

La somme ne doit pâs dépasser 10M


Les techniques pour réduire:


1. Faire un QA pour réduire le nombre de hits (enlever les doubles event et les doubles pagesvues (virtuel et naturel en même temps)

Inconvénients: temps, intégration et déploiement sauf si sur GTM


2. utiliser _setSampleRate

Inconvénients: temps intégration et déploiement et un UI sans données aggrégés et remontés (gestion difficile)

3. passer à un outil payant comme GA Premium comme tout est déja installé

Inconvéniants: Coût


Ils ont tous des inconvénients, l'idée est de trouver le plus bénéfique (moins négatif) pour l'organisation du client. 

En gros, il faut se rappeler que de dépasser les limites volontairement n'est pas une bonne chose parce que Google pourrait à long terme contacter le propriétaire du site pour qu'il agisse et si rien n'est fait, supprimer le compte. Il faut donc agir!