Analytics

13 dimensions personnalisées utiles pour Google Analytics

L’un de mes articles préférés (et les plus populaires) de mon blog est Améliorer la collecte de données avec quatre dimensions personnalisées. Dans cet article, je montre comment vous pouvez améliorer la qualité et la granularité de votre ensemble de données Google Analytics avec seulement quatre dimensions personnalisées. La raison pour laquelle j’ai choisi les quatre dimensions (Hit Timestamp, Session ID, Client ID et User ID) est parce que je crois fermement qu’elles devraient être dans Google Analytics’ la norme ensemble de dimensions, mais pour une raison inexplicable, elles ne le sont pas.

13 dimensions personnalisées utiles pour Google Analytics

Depuis la publication de cet article il y a trois ans, j’ai naturellement découvert plus de ces dimensions personnalisées “indispensables”, et j’ai écrit un tas de guides sur la façon de les mettre en œuvre. Dans cet article, je souhaite rassembler tous ces éléments dans un seul guide de référence, que vous pourrez ensuite utiliser pour trouver facilement les informations pertinentes. Tous les guides de mise en œuvre concernent Google Tag Manager, mais rien ne vous empêche de modifier le JavaScript pour qu’il fonctionne avec analytics.js ou gtag.js.

Table des matières

Table des matières

[+show] [–hide]

1. Améliorer la granularité

Les quatre premières dimensions personnalisées sont celles présentées dans mon article précédent. Vous pouvez suivre le lien pour voir plus de détails sur la mise en œuvre, mais certaines des solutions ci-dessous ont été actualiséassurez-vous donc de suivre ces guides plutôt que ceux de l’article d’origine.

Les but de ces quatre dimensions est d’ajouter plus d’informations aux ensembles de données Google Analytics sur le parcours utilisateurs qui se déroulent sur votre site. Pouvoir segmenter et hacher les données hit par hit (Hit Timestamp), les regrouper en sessions (Session ID), trier par utilisateur GA (Client ID) et enfin analyser les chemins inter-appareils (User ID) , est tellement logique d’un point de vue analytique. Il est étonnant que ces dimensions ne soient pas facilement disponibles dans les ensembles de données de Google Analytics. Ils sont disponible dans l’exportation BigQuery…

Améliorer la granularité

1.1. Horodatage d’accès

Source primaire: Lien

Portée de la dimension personnalisée: Succès

Hit Timestamp génère le local l’heure (c’est-à-dire l’heure du navigateur du visiteur) du hit dans un format standardisé. Un exemple serait 2018-05-29T15:04:51.361+03:00 (année-mois-jourTheure:minutes:secondes.millisecondes timezone_offset). Depuis ses succès horodatage, il est important que vous ajoutiez ces dimensions personnalisées à chaque balise Google Analytics qui se déclenche sur votre site. Le moyen le plus simple de le faire est de l’ajouter à une variable de paramètres Google Analytics.

Note! Il pourrait en fait être plus sage d’envoyer simplement l’horodatage UNIX (new Date().getTime()) au lieu d’une chaîne de date/heure préformatée comme ci-dessous. De cette façon, il est plus facile d’appliquer des normalisations et des transformations à la valeur lorsqu’elle est transmise à un entrepôt de données, par exemple. Mais l’option préformatée est préférable si vous souhaitez simplement afficher les données dans Google Analytics.

Grâce à Salste de Tuomas pour avoir signalé quelques bugs dans le code !

Variable JavaScript personnalisée: {{Horodatage d’accès}}

Contenu:

function() {     // Get local time as ISO string with offset at the end     var now = new Date();     var tzo = -now.getTimezoneOffset();     var dif = tzo >= 0 ? '+' : '-';     var pad = function(num, ms) {         var norm = Math.floor(Math.abs(num));         if (ms) return (norm < 10 ? '00' : norm < 100 ? '0' : '') + norm;         return (norm < 10 ? '0' : '') + norm;     };     return now.getFullYear()          + '-' + pad(now.getMonth()+1)         + '-' + pad(now.getDate())         + 'T' + pad(now.getHours())         + ':' + pad(now.getMinutes())          + ':' + pad(now.getSeconds())         + '.' + pad(now.getMilliseconds(), true)         + dif + pad(tzo / 60)          + ':' + pad(tzo % 60); } 

Horodatage d'accès

1.2. ID de session

Source primaire: Lien

Portée de la dimension personnalisée: Session

L’ID de session est une chaîne aléatoire et unique (GUID) qui s’étend à l’ensemble de la session. Cela signifie que tous les hits de la même session peuvent être interrogés avec le même ID. Ceci, à son tour, signifie que vous avez un moyen d’agréger tous les hits associés directement dans les rapports de données, plutôt que d’avoir à les déduire à l’aide de segments, par exemple.

Vous ne pouvez ajouter l’ID de session qu’à votre balise Page View, mais il n’y a aucun mal à l’inclure dans chacune de vos balises GA. En fait, je recommande en fait de simplement l’ajouter à la variable Paramètres de Google Analytics que vous utilisez pour toutes vos balises, car il est possible que toutes vos sessions n’aient pas une page vue (si la session s’interrompt et qu’une nouvelle démarre sans recharger une feuille).

Variable JavaScript personnalisée: {{GUID aléatoire}}

Contenu:

function () { // Public Domain/MIT     var d = new Date().getTime();     if (typeof performance !== 'undefined' && typeof performance.now === 'function'){         d += performance.now(); //use high-precision timer if available     }     return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {         var r = (d + Math.random() * 16) % 16 | 0;         d = Math.floor(d / 16);         return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);     }); } 

ID de session

1.3. identité du client

Source primaire: Lien

Portée de la dimension personnalisée: Utilisateur

L’ID client est l’identifiant de cookie anonyme que Google Analytics attribue à chaque instance de navigateur d’un visiteur Web donné. C’est ainsi que GA calcule le Utilisateurs métrique dans les vues qui n’ont pas la fonctionnalité User ID activée (plus à ce sujet dans le chapitre suivant).

L’envoi de l’ID client en tant que dimension personnalisée à Google Analytics est absolument nécessaire. C’est le seul moyen d’obtenir des rapports ligne par ligne divisés par utilisateur, et c’est le seul moyen d’interroger les données collectées auprès de n’importe quel utilisateur anonyme.

L’ID client est collecté à l’aide de customTask (guide ici), afin de ne pas l’ajouter aux balises à l’aide de la Dimensions personnalisées Les paramètres. Au lieu de cela, vous l’ajoutez à Champs à définir -> customTask (voir capture d’écran ci-dessous). Assurez-vous de lire mon guide sur customTask comprendre le fonctionnement de ce mécanisme.

Variable JavaScript personnalisée: {{customTask – ID client}}

Contenu:

function() {   var clientIdIndex = 3; // Change this number to the actual Custom Dimension index number   return function(model) {     model.set('dimension' + clientIdIndex, model.get('clientId'));   }; } 

ID client de tâche personnalisée

1.4. Identifiant d’utilisateur

Source primaire: Lien

Portée de la dimension personnalisée: Utilisateur

L’ID utilisateur est un identifiant que vous avez lié d’une manière ou d’une autre à l’utilisateur connecté. Il s’agit généralement d’une clé pseudonymisée écrite dans dataLayer en utilisant un identifiant attaché à l’utilisateur dans votre CRM ou dans un autre registre d’utilisateurs côté serveur.

Parce qu’il y a tellement de façons d’implémenter l’ID utilisateur, selon la façon dont votre backend produit l’identifiant, je n’ai pas de guide générique sur la façon de générer la valeur. Ainsi, les instructions ci-dessous s’appliquent uniquement à un cas d’utilisation très spécifique, où l’ID utilisateur est écrit dans le dataLayer lorsque la page est chargée. Mais vous pouvez tout aussi bien demander à votre serveur Web d’écrire l’ID utilisateur dans une autre variable globale, ou même dans un cookie de navigateur.

De plus, étant donné que vous collectez des données auprès d’utilisateurs connectés, assurez-vous que la solution que vous mettez en œuvre est conforme à la législation et à la réglementation en matière de confidentialité de votre région.

Variable de couche de données: {{DLV – ID utilisateur}}

Contenu: Nom de la variable de la couche de données – userId

Couche de données d'ID utilisateur

2. Bonnes dimensions personnalisées tout autour

Le prochain ensemble de dimensions personnalisées est juste intelligent éléments à ajouter à votre collecte de données. Comme ils sont inclus dans ce guide, ils ne sont pas interrogeables par défaut dans l’interface de création de rapports de GA.

Dimensions utiles

2.1. Type de coup

Source primaire: Lien

Portée de la dimension personnalisée: Succès

Hit Type vous indique explicitement ce que taper de hit collecté dans Google Analytics était. Ce serait donc event pour les événements, pageview pour les pages vues, timing pour les hits de synchronisation, etc. Vous pouvez l’utiliser pour créer des segments (par exemple, des sessions où le premier hit était un événement) ou pour ajouter plus de granularité à l’analyse du chemin.

Vous devez ajouter la variable à chaque balise Google Analytics de votre conteneur. La variable doit être ajoutée en utilisant customTask. Assurez-vous de lire mon guide sur customTask comprendre le fonctionnement de ce mécanisme.

Variable JavaScript personnalisée: {{customTask – Type d’accès}}

Contenu:

function() {   var hitTypeIndex = 5; // Change this number to the actual Custom Dimension index number   return function(model) {     model.set('dimension' + hitTypeIndex, model.get('hitType'));   }; } 

hit type customTask

2.2. Référent complet

Portée de la dimension personnalisée: Succès

Full Referrer est simplement la valeur de document.referrer ajouté en tant que dimension personnalisée d’accès à chaque balise Google Analytics de votre conteneur. Cela vous permettra d’analyser ce que page précédente de n’importe quel coup donné était. Cela a beaucoup de sens pour le suivi des pages vues, et cela a beaucoup de sens pour les hits qui démarrent des sessions, puisque vous pouvez désormais analyser les informations de référence pour les sessions provenant d’une autre source qu’un hit de référence.

Variable Javascript: {{document.referrer}}

Contenu: Nom de la variable globale – document.referrer

référent de document

2.3. Longueur de la charge utile

Source primaire: Lien

Portée de la dimension personnalisée: Succès

Vous pouvez envoyer la longueur de la charge utile de chaque hit Google Analytics en ajoutant cette dimension personnalisée délimitée par hit à chaque balise de votre conteneur. L’idée est que vous pouvez surveiller si vous vous approchez de la 8192 limite d’octets, puisque les hits qui égalent ou dépassent cette limite seront ne pas être envoyé à Google Analytics.

La solution est ajoutée en utilisant customTask. Assurez-vous de lire mon guide sur customTask comprendre le fonctionnement de ce mécanisme.

Variable JavaScript personnalisée: {{customTask – Longueur de la charge utile atteinte}}

Contenu:

function() {   // Change this index to match that of the Custom Dimension you created in GA   var customDimensionIndex = 7;      return function(model) {          var globalSendTaskName = '_' + model.get('trackingId') + '_sendHitTask';          var originalSendHitTask = window[globalSendTaskName] = window[globalSendTaskName] || model.get('sendHitTask');          model.set('sendHitTask', function(sendModel) {              try {                  var originalHitPayload = sendModel.get('hitPayload');                  var hitPayload = sendModel.get('hitPayload');         var customDimensionParameter = '&cd' + customDimensionIndex;                // If hitPayload already has that Custom Dimension, note this in the console and do not overwrite the existing dimension                if (hitPayload.indexOf(customDimensionParameter + '=') > -1) {                      console.log('Google Analytics error: tried to send hit payload length in an already assigned Custom Dimension');           originalSendHitTask(sendModel);                  } else {                // Otherwise add the Custom Dimension to the string         // together with the complete length of the payload           hitPayload += customDimensionParameter + '=';           hitPayload += (hitPayload.length + hitPayload.length.toString().length);                    sendModel.set('hitPayload', hitPayload, true);           originalSendHitTask(sendModel);                  }       } catch(e) {                 console.error('Error sending hit payload length to Google Analytics');         sendModel.set('hitPayload', originalHitPayload, true);         originalSendHitTask(sendModel);                }     });   }; } 

Longueur de la charge utile atteinte

2.4. ID de conteneur GTM

Portée de la dimension personnalisée: Succès

Il s’agit d’une autre de ces dimensions personnalisées évidentes. L’envoi de l’ID de conteneur sert à plusieurs fins : il vous aide à identifier les résultats valides du spam (en particulier le spam envoyé depuis l’extérieur de votre site), il vous aide à déboguer les données dans une situation où vous avez plus d’un conteneur en cours d’exécution sur le site, et il le rend des installations parallèles faciles à exécuter d’Universal Analytics (ou Global Site Tag) et de Google Tag Manager.

Vous devez activer le Identifiant du conteneur Variable intégrée pour cela. Ajoutez la variable à votre variable Paramètres Google Analytics, afin qu’elle soit ajoutée à chaque balise Google Analytics de votre conteneur.

Identifiant du conteneur

3. Comportement de navigation

Le dernier ensemble de dimensions personnalisées concerne le suivi du comportement de navigation. Suivez le lien dans la phrase précédente pour lire un guide complet sur comment et pourquoi suivre le comportement de navigation dans Google Analytics.

Il suffit de dire qu’en ajoutant ces dimensions à votre collecte de données, vous pouvez donner plus de sens à la façon dont les utilisateurs naviguent, naviguent et s’éloignent de votre site. Il est enfin possible de segmenter vos données en fonction de la façon dont vos visiteurs ouvrent les pages dans les onglets du navigateur, naviguent-ils avec les boutons Précédent et Suivant du navigateur, et combien d’onglets ils ont ouverts à un moment donné !

Au lieu d’ajouter des informations de mise en œuvre spécifiques à la solution, veuillez suivre les étapes du guide d’origine.

Comportement de navigation

3.1. Nombre de redirections

Portée de la dimension personnalisée: Succès

Le nombre de redirections est le nombre de fois que la demande de document initiale a été redirigée lorsque l’utilisateur a chargé la page actuelle. Il y a quelques incohérences ici, et je n’ai pas été en mesure d’en déduire une description cohérente de redirectCount comportement. Cependant, s’il fonctionne comme il se doit, il offre des données intéressantes sur la façon dont votre site répond aux requêtes, en particulier lorsqu’il est combiné avec du trafic de recherche organique, par exemple.

Variable de couche de données: {{DLV – comportementdenavigation.redirectCount}}

Contenu: Nom de la variable de la couche de données – browsingBehavior.redirectCount

Nombre de redirections

3.2. Type de navigation

Portée de la dimension personnalisée: Succès

Le type de navigation désigne la méthode de navigation vers la page actuelle. Cela inclut des valeurs telles que NAVIGATE (l’utilisateur a écrit l’adresse dans la barre d’adresse ou cliqué sur un lien vers la page en cours), RELOAD (l’utilisateur a rechargé la page), BACK / FORWARD (l’utilisateur a cliqué sur les boutons Précédent ou Suivant du navigateur) et OTHER (une autre façon de naviguer vers la page.

Variable de couche de données: {{DLV – BrowsingBehavior.navigationType}}

Contenu: Nom de la variable de la couche de données – browsingBehavior.navigationType

Type de navigation

3.3. Type d’onglet

Portée de la dimension personnalisée: Succès

Le type d’onglet indique si le chargement de la page s’est produit dans un onglet nouvellement ouvert ou si l’onglet existait déjà. Cela se fait en stockant le courant tabId dans sessionStorage. Si le stockage n’a pas l’ID d’onglet actuel, nous pouvons en déduire que l’onglet est un nouveau, puisque sessionStorage est purgé lorsque l’onglet est fermé.

Variable de couche de données: {{DLV – comportementdenavigation.newTab}}

Contenu: Nom de la variable de la couche de données – browsingBehavior.newTab

Type d'onglet

3.4. Onglets ouverts

Portée de la dimension personnalisée: Succès

Onglets ouverts renvoie le nombre d’onglets actuellement ouverts dans le navigateur. Ceci est basé sur un nombre d’ID d’onglets actuellement actifs stockés dans localStorage. Ce compteur n’est pas fiable à 100 %, car il repose sur un certain nombre de pièces mobiles qui ne sont pas toujours synchronisées. Mais en tant qu’indicateur, il est très utile, car il vous indique comment votre contenu est généralement digéré.

Variable de couche de données: {{DLV – comportementdenavigation.tabCount}}

Contenu: Nom de la variable de la couche de données – browsingBehavior.tabCount

Onglets ouverts

3.5. ID d’onglet

Portée de la dimension personnalisée: Succès

Le dernier rouage de la machine est l’ID de l’onglet actuel. Ceci est utile si vous souhaitez regrouper les accès par l’onglet dans lequel ils se sont produits.

Variable de couche de données: {{DLV – comportementdenavigation.tabId}}

Contenu: Nom de la variable de la couche de données – browsingBehavior.tabId

ID d'onglet

4. Le customTask variable

Vous avez peut-être remarqué qu’un certain nombre de solutions présentées dans ce guide utilisent customTask. Je vous aurais peut-être recommandé de lire mon customTask guider aussi !

L’une des choses que vous apprendrez dans le guide est que vous ne pouvez avoir qu’un seul customTask par balise. Cela signifie que si vous voulez implémenter tous les dimensions personnalisées de cet article, vous devrez combiner Trois différent customTask solutions en une seule variable JavaScript personnalisée.

C’est assez facile à faire, puisqu’il s’agit plus ou moins de copier-coller tout le code dans un long fichier anonyme functionmais je vais quand même vous montrer comment faire.

Voici la variable JavaScript personnalisée que vous utiliserez :

function() {   var clientIdIndex = 3; // Change this number to the index of your Client ID Custom Dimension   var hitTypeIndex = 5; // Change this number to the index of your Hit Type Custom Dimension   var payloadLengthIndex = 7; // Change this number to the index of your Payload Length Custom Dimension   return function(model) {     var globalSendTaskName, originalSendHitTask, originalHitPayload, hitPayload, customDimensionParameter;          if (typeof clientIdIndex === 'number') {       model.set('dimension' + clientIdIndex, model.get('clientId'));     }          if (typeof hitTypeIndex === 'number') {       model.set('dimension' + hitTypeIndex, model.get('hitType'));     }          if (typeof payloadLengthIndex === 'number') {       globalSendTaskName = '_' + model.get('trackingId') + '_sendHitTask';            originalSendHitTask = window[globalSendTaskName] = window[globalSendTaskName] || model.get('sendHitTask');            model.set('sendHitTask', function(sendModel) {                try {                    originalHitPayload = sendModel.get('hitPayload');                    hitPayload = sendModel.get('hitPayload');           customDimensionParameter = '&cd' + payloadLengthIndex;                  // If hitPayload already has that Custom Dimension, note this in the console and do not overwrite the existing dimension                  if (hitPayload.indexOf(customDimensionParameter + '=') > -1) {                        console.log('Google Analytics error: tried to send hit payload length in an already assigned Custom Dimension');             originalSendHitTask(sendModel);                    } else {                    // Otherwise add the Custom Dimension to the string             // together with the complete length of the payload             hitPayload += customDimensionParameter + '=';             hitPayload += (hitPayload.length + hitPayload.length.toString().length);                      sendModel.set('hitPayload', hitPayload, true);             originalSendHitTask(sendModel);                    }                    } catch(e) {                   console.error('Error sending hit payload length to Google Analytics');           sendModel.set('hitPayload', originalHitPayload, true);           originalSendHitTask(sendModel);                  }              });     }   }; } 

Si vous souhaitez supprimer l’une des trois solutions de ce customTasksupprimez ou commentez simplement les var ...Index = N; la ligne. Par exemple, si vous n’avez pas besoin de collecter la longueur de la charge utile, modifiez le code en conséquence :

function() {   var clientIdIndex = 3; // Change this number to the index of your Client ID Custom Dimension   var hitTypeIndex = 5; // Change this number to the index of your Hit Type Custom Dimension      // var payloadLengthIndex = 7;      return function(model) {     ... 

Résumé

Cette liste de dimensions personnalisées n’est certainement pas exhaustive, et je suis sûr que vous avez d’autres suggestions sur ce qui pourrait être considéré comme “utile”.

Une chose à garder à l’esprit est la restriction de seulement 20 emplacements de dimensions personnalisées disponibles dans la version gratuite de Google Analytics. C’est très malheureux, et l’un des principaux reproches que j’ai avec GA. Il est donc très probable que vous soyez obligé de prioriser la dimension que vous devrez ajouter à votre collecte de données. Si les choses se gâtent, je serais personnellement d’accord pour ignorer les cinq dimensions du comportement de navigation et me concentrer uniquement sur les 8 dimensions énumérées en premier dans cet article.

Quoi qu’il en soit, je considère que ces dimensions personnalisées ajoutent une granularité indispensable aux données GA. La plupart de ces dimensions ne sont disponibles par défaut que dans l’exportation BigQuery, qui, à son tour, est principalement disponible pour les clients Google Analytics 360. Ainsi, en ajoutant ces dimensions à votre ensemble de données, vous économisez en fait de l’argent.

Avez-vous des dimensions personnalisées incontournables que vous recommanderiez aux autres d’ajouter à leur collecte de données dès maintenant ? Faites le nous savoir dans les commentaires.

Source : www.simoahava.com

Articles similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Bouton retour en haut de la page
Index