Back to Blog

Configurer le tracking Google Analytics avec Google Tag Manager pour être RGPD compatible !

Laurent THOMAS

Si vosu utilisez Google Tag Manager, quelques minutes suffisent pour configurer correctement le tag Google Analytics afin d'être dans les clous du RGPD et des nouvelles règles relatives aux cookies.

Étape 1 : Accepter les conditions Data Processing Terms.

Il s’agit d’un avenant qui définit les responsabilités du traitement des données entre le Data Controler (nous) et le Data Processer (Google). Pour découvrir et valider le DPA Data Processing Agrement), vous devez aller dans votre compte  Google Analytics > Admin > Compte > Modification du traitement des données. Une fois l’avenant validé, il faudra communiquer à Google le contact des représentants de l’entreprise (juridique, gérant, CDO..) dans le formulaire « DPA ».

Étape 2 : Validation en 2 étapes des identifiants de connexion

Toujours dans l’admin du compte Google Tag Manager, activer l’option « Exiger la validation en deux étapes des identifiants de connexion pour certaines opérations. »

Pour en savoir + : https://support.google.com/accounts/answer/185839?hl=fr&ref_topic=2954345.

Résultat de recherche d'images pour "2 steps login verification  google analytics"

Étape 3 : Anonymiser les adresses IP récoltées

Anonymiser les IP permet de supprimer le dernier octet de l’IP et doncde rendre quasiment impossible l'identification de l'utilisateur. De ce fait, l'IP n'est plus une donnée personnelle et vous pouvez même être exempté de consentement.  À noter que par défaut vous n’avez pas accès aux adresses IP collectées par Google Analytics.
Pour supprimer le dernier octet des IP dans Google Tag Manager, il faut ajouter un champs custom « anonymiseIP » et mettre une valeur « true ».

Étape 4 : Changer la durée d’expiration du cookie _ga à 13 mois

La durée de 13 mois est la durée max légale de conservation d’un cookie et cela à partir de sa création. Sauf que l’expiration du cookie de Google Analytics (« _ga=GA1.2.480157514.1520623338 ») est de 24 mois
Vous devez donc donc modifier la durée d’expiration par défaut du cookie _ga. Voici comment procéder avec Google Tag Manager.


1 – Créer une variable GTM « cookie » pour récupérer le CID contenu dans le cookie  « _ga ».

2 – Créer une variable JavaScript personnalisée « cookie _ga expires 13 months » pour calculer et retourner la nouvelle date d’expiration en secondes.

function(){
try {
   var ga = {{cookie _ga}};
   var ga_create= (Number(ga.split(".").pop()))*1000;
   var sec_expire = 60*60*24*30*13*1000;
   var t = new Date().getTime();
   var t0 = new Date(ga_create).getTime();
   var t1 = t0 + sec_expire;
   var t_diff = Math.round((t1-t)/1000);
   return t_diff;
} catch(e){
  return sec_expire/1000;
console.log(e);
}
}


Le site Formations Analytics livre un excellent tutoriel sur ce sujet pour tout comprendre. 

  1. var ga fait référence à  la variable GTM « cookie _ga », qui représente la valeur du cookie _ga ex. « GA1.2.1008265330.1520804885 ».
  2. var ga_create fait référence à la date de création du cookie _ga en millisecondes écoulées depuis le 1er janvier 1970. Pour obtenir l’information, on découpe la chaîne « ga » à partir des « . » pour récupérer via la méthode push() le dernier élément « 1520804885 », qui correspond à la date de création du cookie. Un dernier élément qu’on convertit en nombre avant de le multiplier par 1000, pour avoir la version millisecondes.
  3. var sec_expire correspond à 13 mois en millisecondes.
  4. var t représente à maintenant en nombre de millisecondes écoulées depuis le 1er janvier 1970, généré via new Date().getTime().
  5. var t0 représente la date de création du cookie en nombre de millisecondes écoulées depuis le 1er janvier 1970.
  6. var t1 représente la date d’expiration en millisecondes calculer à partir de la date de création du cookie _ga + 13 mois.
  7. var t_diff représente la différence en secondes entre t1 et t. C’est cette valeur qui va renseigner le paramètre cookieExpires des hits Google Analytics.

Il ne vous reste plus qu'à configurer le paramètre « cookieExpires  » avec la nouvelle date d’expiration dans un nouveau paramétre sur GTM, qui sera utilisé et appelé par toutes les balises Google Analytics.

google-analytics-RGPD-GTM-customTask-remove-pii

Étape 5 : Expurger les données personnellement identifiables (PII) envoyées à GA.

Certaines données personnelles directes peuvent s'enregistrer sans que vous le sachiez. Là encore, la référence Formation Analytics donne deux exemples concret. Dans ce contexte, l'objectif est de détecter et de remplacer les PII par un message du type « REDACTED EMAIL » au moment de l’envoi des données (hitPayload – protocole de mesures) au serveur GA. Le script pour réaliser cette manipulation semble être du côté de Simo avec quelques RegExp en plus. Il vous faudra alors intégrer ce script dans une variable « JavaScript personnalisé », nommée par exemple « js – GA customTask ». Si nécessaire, Formation Analytics conseille d'ajouter/adapter les expressions RegExp pour qu’elles correspondent aux PII de votre site.

function() {
return function(model) {
// Add the PII patterns into this array as objects
var piiRegex = [{
 name: 'EMAIL',
 regex: /[^\/]{4}@[^\/]{4}/g
},{
 name: 'TEL',
 regex: /((tel=)|(telephone=)|(phone=)|(mobile=)|(mob=))[\d\+\s][^&\/\?]+/gi
},{
 name: 'NAME',
 regex: /((prenom=)|(nom=)|(firstname=)|(lastname=)|(surname=))[^&\/\?]+/gi
}];
var globalSendTaskName = '_' + model.get('trackingId') + '_sendHitTask';
// Fetch reference to the original sendHitTask
var originalSendTask = window[globalSendTaskName] = window[globalSendTaskName] || model.get('sendHitTask');
var i, hitPayload, parts, val;
// Overwrite sendHitTask with PII purger
model.set('sendHitTask', function(sendModel) {
 hitPayload = sendModel.get('hitPayload').split('&');
 for (i = 0; i < hitPayload.length; i++) {
parts = hitPayload[i].split('=');
// Double-decode, to account for web server encode + analytics.js encode
val = decodeURIComponent(decodeURIComponent(parts[1]));
piiRegex.forEach(function(pii) {
 val = val.replace(pii.regex, '[REDACTED ' + pii.name + ']');
});
parts[1] = encodeURIComponent(val);
hitPayload[i] = parts.join('=');
 }
 sendModel.set('hitPayload', hitPayload.join('&'), true);
 originalSendTask(sendModel);
});
};
}


Il faudra ensuite appeler la variable « js – GA customTask » dans un champ « customTask » dans votre variable « GA Setup » (variable « Paramètres Google Analytics ») qui doit être utilisée dans toutes vos balises Google Analytics. Une fois que vous avez ajouté cette variable à vos tags Google Analytics,  les hits de ces scrips seront analysés par cette variable, qui remplace les instances de PII par la chaîne [REDACTED pii_type].

google-analytics-RGPD-GTM-customTask-remove-pii
Les fameux tutos de Formations Analytics

Share on social media: 

Ne partez pas si vite ... 

Freebe choisit Axeptio pour la gestion de ses cookies !

Si vous êtes freelance, on vous conseille de vous intéresser rapidement à l'outil en ligne Freebe 🤖 : un outil de gestion, français et super praitque, spécialement conçu pour les indépendants !

Lire la suite

Les experts de la com' craquent pour Axeptio

Blog du webdesign, Webdesigner Trends, Le Pti Digital, ou encore Design Spartan : les influenceurs de la communication et du marketing nous font confiance !

Lire la suite

Hey ... have you met PixelMe ?

Dans le vaste monde des cookies, un nouveau tag innovant et totalement made in France a fait son apparition il y a quelques années : PixelMe ! Vous ne connaissez pas ? Pas de problème, on fait les présentations !

Lire la suite

Le mieux pour ne rien louper,
c'est surement notre super newsletter !

Un digest, 2 fois par mois, avec toutes les infos essentielles
sur la privacy et le permission marketing. Deal ? 
Dans ce contexte, nous utiliserons uniquement votre adresse email.
Notre routeur email  (Hubspot) aura accès à cette information.
Vous pourrez à tout moment vous désinscrire en cliquant sur les liens de désinscription présents dans chacun de nos e-mails.