Mesurer vos conversions offline dans Google Analytics avec le protocole de mesure | Articles

 

Au cours de ces dernières années, il est devenu de plus en plus facile pour les marqueteurs et les analystes web de traquer les visiteurs sur leur site. D’une part, les outils de web analytics se sont considérablement améliorés et se sont adaptés au besoin de pouvoir attribuer les conversions aux budgets alloués au marketing digital. D’autre part, Les systèmes de gestion des tags (Tag Management Systems - TMS) ont permis à l’industrie de ne plus totalement dépendre des équipes de de développement, rendant nos vies beaucoup plus faciles.

 

Il est désormais par conséquent extrêment simple d’attribuer un évènement accompli en ligne (signup, transaction etc.) aux canaux d’acquisition et de remarketing. Avec les rapports tels que le multi-channel funnels report (MCF) dans Google Analytics, vous pouvez avoir un aperçu cross-channel de vos conversions en ligne en quelques clics seulement. Avec une interpretation avisée de ces rapports, vous pouvez alors changer vos investissements de façon à booster votre retour sur investissement (Return on Investment - ROI). Tout ce dont vous avez besoin est une connaissance basique en web analytics et éventuellement d’’expérience avec un Tag Management System. Nul besoin de se préoccuper de créer un lien entre les visites sur votre site et vos utilisateurs, la majorité des plateformes de web analytics s’en chargent pour vous.

 

L’histoire peut s’achever ici pour la plupart des business en ligne. Cependant, pour beaucoup d’autres entreprises actives dans le monde physique, le parcours des consommateurs ne se finit pas sur le site lui-même. Certaines conversions peuvent en effet être débutées en ligne et achevées hors ligne. C’est par exemple le cas d’un contrat généré en ligne (lead) puis envoyé par courrier postal aux prospects. Le contrat est alors conclu lorsque celui-ci est renvoyé signé par le le prospect. L’industrie des paris sportifs en ligne peut également être citée en exemple. En effet, le résultat d’un pari sportif n’est connu qu’après que l’évènement sportif soit fini. Les coupons distribués en ligne et monétisés hors ligne sont un autre exemple. Dans chacun de ces cas, il est impossible de mesurer le retour réel sur investissement (ROI) à l’aide d’une implémentation basique d’un outil de web analytics. Le mieux qui puisse être généralement fait est d’utiliser le nombre de prospects (leads) comme KPI pour évaluer le ROI.

Le protocole de mesure

 

Heureusement, si vous utilisez Google Analytics, il existe déjà une solution: le protocole de mesure (measurement protocol). Pour faire simple, le protocole de mesure est la méthode utilisée pour envoyer de l’information (hit data) aux serveurs de Google Analytics. Si vous n’êtes pas familier avec le protocole de mesure, n’ayez aucune crainte: vous l’utilisez déjà sans le savoir. En effet, à chaque fois qu’un tag Google Analytics est déclenché ( page vue, évènements, etc.), une requête HTTP (protocole de mesure) contenant toutes les données est envoyée aux serveurs de Google Analytics. Vous pouvez voir les détails de la requête HTTP en suivant les étapes suivantes:

1 - Dans votre navigateur, faites un clic droit sur la page que vous traquez

2 - Cliquez sur ‘Inspect’ (Google Chrome - EN)

protocole-mesure-ga1

3 - Sélectionnez l’onglet ‘network’

4 - Cherchez le mot ‘collect’ dans la barre de recherche

5 - Actualisez votre page

6 - Sélectionnez la requête que vous voulez afficher

protocole-mesure-ga2

Vous pouvez voir que les données sont envoyées dans la requête grâce aux paramètres. Ensemble, ces paramètres ont une signification que Google Analytics est capable de comprendre. Par exemple, la variable ‘sr’ indique la taille de l’écran (1920x1080) alors que le paramètre ‘vp’ décrit la taille de la zone visible dans votre navigateur.

http://www.google-analytics.com/collect?v=1&_v=j41&a=95273961&t=pageview&_
s
=1&dl=http%3A%2F%2Fspendoo.additionly.com%2F&dp=%2F&ul=en-us&de=UTF-8&dt=Spendoo&sd=24-bit&sr=1920x1080&
vp
=596x962&je=0&fl=20.0%20r0&_utma=233387214.2091347972.1408006233.1413183655.1413209274.46&
_utmht
=1457617100090&_u=SCECgAAB~&jid=&cid=704404341&tid=UA-XXXXXXX-1&gtm=GTM-56L5PG&z=XXXXXX

Une description de tous les paramètres peut être trouvée ici:

https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#general

En utilisant cette structure de façon identique, il est relativement facile de compiler manuellement  et d’envoyer une requête contenant de l’information à Google Analytics sans avoir besoin de déclencher un tag Google Analytics. Cette méthode est très utile car aucun tag n’est en effet déclenché lorsqu’une conversion est accomplie hors ligne. Voici un exemple de requête utilisant le protocole de mesure avec python:

import httplib, urllib

params = urllib.urlencode({

'v': 1,

'tid': 'UA-XXXXXXX',

'cid': '1999709383.1453743725',

't': 'event',

'ec': 'Contract signed',

'ea': 'Product A',

'el': 'Some transaction ID',

'ev': 551,

})

connection = httplib.HTTPConnection('www.google-analytics.com')

connection.request('POST', '/collect', params)

Construire votre requête

Automatiser ces requêtes est un tâche de 10 minutes pour un développeur. Cependant, en envoyant des paramètres simplement choisis ‘à la carte’ dans les ressources Google, il y a de fortes chances que ceux-ci soient mal construits. En effet, une compréhension plus approfondie de ces paramètres est nécessaire afin de correctement envoyer les données souhaitées dans Google Analytics.

Client ID

Le paramètre Client ID (paramètre ‘cid’) est l’ID utiisé par défaut par Google Analytics pour unifier les sessions des utilisateurs. Le Client ID est spécifique au navigateur des utilisateurs. Les rapports ‘multi-channel funnels’ et d’attribution utilisent cette clé pour aggréger les données des différents visiteurs durant leur parcours au travers des différents canaux utilisés avant la conversion (pour les Vues GA sans configuration de l’User ID).

Parce que votre objectif final est de calculer le ROI de ces canaux marketing, le Client ID est indiscutablement une variable précieuse. Elle vous permettra de faire le lien entre vos conversions hors ligne et tous les canaux digitaux utilisés avant cette conversion (avec le même navigateur).

Le Client ID est stocké dans le cookie utma de Google Analytics et ressemble à ceci: 987654321.9876543210. La première section du nombre (précédant le point) est un ID aléatoire unique. La seconde partie du nombre (après le point) est caractéristique à l’horodatage unix de  la visite initiale de l’utilisateur. Vous pouvez retrouver le Client ID dans Google Tag Manager à l’aide de la variable JavaScript suivante:

function()

{

var match = document.cookie.match('(?:^|;)\\s*_ga=([^;]*)');

var raw = (match) ? decodeURIComponent(match[1]) : null;

if (raw)

{

match = raw.match(/(\d+\.\d+)$/);

}

var gacid = (match) ? match[1] : null;

if (gacid)

{

return gacid;

}

}

Vous pouvez ensuite remonter cette variable en dimension personnalisée dans Google Analytics (‘session scope’) de la façon suivante:

1 - Configurer votre propriété GA:

protocole-mesure-ga3

2 - Configurer votre tag GA (éventuellement dans GTM comme ci-dessous):

protocole-mesure-ga4

Vous serez désormais en mesure de télécharger le Client ID afin de l’injecter plus tard en tant que paramètre ‘cid’.

User ID

Si les visiteurs de votre site peuvent s’identifier ou être identifiés par un élément caractéristique tel que l’adresse email, vous devriez probablement tirer profit de l’User ID. L’User ID est la clé utilisée par Google Analytics pour unifier les sessions des utilisateurs (pour les Vues GA avec configuration de l’User ID). À la différence du Client ID, l’User ID est spécifique à chaque utilisateur et non au navigateur qu’ils utilisent. Il peut par conséquent être utilisé pour l’aggrégation des données ‘cross-device’. Il est relativement simple d’ajouter le User ID à vos ‘hits’ GA avec GTM en utilisant le paramètre standard ‘uid’:

protocole-mesure-ga5

Vous pouvez maintenant voir qu’un nouveau paramètre a été ajouté à votre requête HTTP:

protocole-mesure-ga6

Comme pour le Client ID, il est possible d’ajouter l’User ID en tant que dimension personnalisée dans GA (‘user scope’). Il est cependant très important que les règles d’utilisation de Google soient respectées: la valeur enregistrée dans GA ne peut pas être PII (‘Personally Identifiable Information’).

(https://developers.google.com/analytics/devguides/collection/protocol/policy)

Une fois ajoutée en dimension personnalisée, vous pouvez récupérer l’User ID de vos visiteurs et l’utiliser en tant que votre paramètre ‘uid’ de votre protocole de mesure afin de lier toutes les actions d’un même utilisateur, même hors ligne.

Hit type

Le ‘hit type’ (type de donnée) est un aspect clé dans l’élaboration de votre solution de tracking de conversions hors ligne.  Le hit type peut être ‘pageview’, ‘screenview’, ‘event’, ‘transaction’, ‘timing’, ‘exception’, ‘item’ ou ‘social’.

Pourquoi est-ce si important? Parce que vous ne voulez pas polluer vos rapports et que vous voulez vous assurer de récupérer les informations pertinentes dans le rapport ‘multi-channel funnels’ (MCF). Par exemple, si vous traquez les commandes faites sur votre site avec Google Enhanced Ecommerce, un hit de type transaction va être envoyé quand le tag se déclenche à chaque commande. Si vous choisissez de traquer les confirmations (hors ligne) de ces commandes avec un hit (protocole de mesure) également de type transaction, vous allez doubler le nombre de transactions envoyées à GA avec le même Transaction ID. Par conséquent, vos rapports compteront deux transactions pour une seule transaction réelle. Il est alors préférable de traquer les actions hors ligne avec un nouveau ‘goal’ basé sur un évènement ou sur une page vue. Vous n’aurez alors qu’à établir le type de hit en ‘event’ ou ‘pageview’.

Dimension personnalisée

Il est tout à fait possible d’envoyer des dimensions supplémentaires avec votre hit hors ligne. Ceci est particulièrement utile quand vous voulez envoyer à GA des données relatives aux utilisateurs qui ne visitent plus votre site (churn). En effet, ces informations ne peuvent pas être envoyées avec un tag classique car ces non-visiteurs ne déclenchent plus de tags. De plus, vous pouvez enrichir votre requête HTML avec d’autres données personnalisées, telles que des données issues du CRM.

Une bonne clé est la clé

Bien que le Client ID et/ou le User ID soient des valeurs requises pour le tracking des conversions offline, elles ne sont pas toujours suffisantes pour établir un lien entre l’action hors ligne et le canal marketing emprunté pour la dernière visite sur le site. Vous devrez en effet le plus souvent utiliser une clé supplémentaire que vous pouvez récupérer de façon fiable depuis les actions hors ligne. Cette clé peut être un Coupon ID ou un Transaction ID, comme c’est le plus souvent le cas. Cette clé constitue un élement central de votre système de tracking. Voici comment procéder:

1 - Implémenter le Client ID et/ou le User ID tel que décrit ci-dessus et les ajouter en dimension personnalisée.

2 - Créer une clé qui fera le lien entre le canal marketing et votre conversion hors ligne. Cette clé peut être par exemple le Transaction ID que vous envoyez à GA quand un contrat est généré et que vous récupérez ensuite depuis votre base de données interne quand le contrat est signé.

3 - Pour chacune des conversions hors ligne, téléchargez le Client ID et/ou le User ID associé (ils devraient être enregistrés en dimension personnalisée), en utilisant l’ID créé à l’étape 2 comme clé commune.

4 - Envoyez une requête HTTP (protocole de mesure) avec les paramètres correspondants (y compris cid et/ou uid). Les hits seront alors automatiquement liés par Google Analytics aux canaux marketing qui précèdent la conversion hors ligne.

5 - Vous pouvez maintenant calculer le Return On Investment réel de vos conversions hors ligne et mieux comprendre le rôle cross-canal de vos canaux digitaux dans le rapport MCF de GA.

Make it happen

La méthodologie décrite ci-dessus n’est pas un manuel DIY. Des compétences en développement sont requises et vos process devront sans doute être légèrement modifiés afin d’intégrer la clé de liaison. Cet article ne prétend pas non plus donner une explication complète du protocole de mesure: la complexité du protocole de mesure va au-delà de cette application. Cet article est cependant une introduction à une application concrète du protocole de mesure et donne une vue d’ensemble sur l’approche nécessaire au calcul du ROI réel des conversions hors ligne. Avec cette vue d’ensemble, vous serez capable de mieux briefer votre équipe IT et de mieux gérer un projet d’intégration de données hors ligne dans GA.

Auteur: Vincent Crochet

 

 

Tags:

Prenez Contact

Semetis | Rue de l'Escaut 122, 1080 Bruxelles - Belgique

welcome@semetis.com

Connectez-vous

Cookie Policy

This website uses cookies that are necessary to its functioning and required to achieve the purposes illustrated in the privacy policy. By accepting this OR scrolling this page OR continuing to browse, you agree to our privacy policy.