Analytics

Comment annuler la définition d’une dimension personnalisée définie par l’utilisateur dans Google Analytics

Portée dans les dimensions personnalisées de Google Analytics fait référence à la manière dont la valeur de la dimension personnalisée est étendue à tous les appels dans la même portée.

Succès– et produitLes dimensions personnalisées étendues s’appliquent uniquement à l’appel donné ; elles ne sont pas étendues à d’autres appels dans la session ou par le même utilisateur.

SessionLes dimensions personnalisées de portée appliquent dernière valeur envoyée pendant la session à tous les succès de cette session.

UtilisateurLes dimensions personnalisées de portée appliquent dernière valeur définie pendant la session à tous les hits de la session ET à tous les hits futurs par le même client jusqu’à ce qu’une nouvelle valeur soit envoyée.

Jusqu’à présent, j’avais l’impression que Utilisateur-Les dimensions personnalisées étendues ne pourraient jamais être non défini, car je pensais qu’il n’était pas possible d’envoyer une valeur “nulle” ou “vide” à une dimension personnalisée. Les analytics.js bibliothèque, utilisée par GTM pour le Web et Universal Analytics sur la page, empêche l’envoi de valeurs nulles avec les dimensions personnalisées (mais pas chaînes vides), donc ce problème ne s’est jamais manifesté dans mes implémentations.

Cependant, l’envoi de hits avec Protocole de mesure ou en utilisant le ancien Google Tag Manager pour les SDK iOS/Android peut vous faire rencontrer ce problème. Voici à quoi cela ressemble dans les rapports :

Dimension personnalisée définie par l'utilisateur

J’ai rencontré ce problème en examinant certaines données client erratiques. Pour une raison quelconque, il semblait qu’une dimension personnalisée définie par l’utilisateur lors d’une session n’était plus disponible lors d’une session ultérieure. Dans l’image ci-dessus, vous pouvez voir à quoi cela ressemble.

Les données proviennent d’un seul utilisateur qui a eu deux sessions successives, à environ quatre heures d’intervalle. La première session, à 10h49, avait deux vues d’écran, et vous pouviez interroger ces données avec la dimension personnalisée définie par l’utilisateur, renvoyant la valeur b.

Ensuite, dans la dernière session avec une seule vue d’écran, vous ne pouviez plus interroger cette dimension personnalisée définie par l’utilisateur.

Comment envoyer un paramètre sans valeur

Si vous utilisez Protocole de mesure, vous pouvez facilement reproduire cela. Tout ce que vous avez à faire est de copier un appel existant à partir de votre site Web, qui inclut une dimension personnalisée à l’échelle de l’utilisateur, et de la renvoyer en remplaçant la valeur de la dimension personnalisée par rien.

Supposons que la requête contienne à l’origine ces paramètres :

&cd5=page&cd6=logged-in&cd7=this-user-id&cd8=hello

Ici, dimension &cd7 est limité à l’utilisateur dans Google Analytics, donc s’il s’agissait du dernier appel envoyé dans la session, l’utilisateur aurait la valeur this-user-id jusqu’à ce qu’une autre valeur valide soit envoyée à la dimension personnalisée.

Cependant, si je copie maintenant cette demande de hit et remplace la partie pertinente par ceci :

&cd5=page&cd6=logged-in&cd7&cd8=hello

Vous pouvez voir comment j’ai supprimé la valeur du paramètre, mais J’inclus toujours le paramètre dans la chaîne de requête (vous pouvez également utiliser &cd6=logged-in&cd7=&cd8=hello et cela aura le même résultat). Maintenant, la valeur est envoyée à Google Analytics, et il s’agit essentiellement nuls la valeur de l’interface de création de rapports GA, ce qui signifie que vous ne pouvez plus interroger la dimension personnalisée définie par l’utilisateur de cet utilisateur.

Dans BigQuery, cela se traduit par quelque chose comme :

Exportation BigQuery

Comme vous pouvez le voir, il existe un tas d’indices de dimension personnalisée avec des chaînes vides comme valeurs. Si l’un d’entre eux correspond à une dimension personnalisée à l’échelle de l’utilisateur ou de la session, il réinitialisera toute valeur précédente de ce champ.

Où est le problème

Naturellement, la plupart des gens utiliseront GTM et GA pour le Web, donc ce problème ne se manifestera jamais.

Cependant, les SDK hérités de Google Tag Manager (iOS et Android) ont une fonctionnalité originale.

Si vous avez défini une variable de couche de données dans votre balise Google Analytics et que cette clé de couche de données n’est pas renseignée avec une valeur lorsque la balise se déclenche, le SDK enverra automatiquement le paramètre sans valeur, donc annuler toutes les dimensions personnalisées de l’utilisateur ou de la session qui reçoivent ces paramètres vides.

Hit du SDK iOS

Vous pouvez voir ici un exemple de ce à quoi ressemble une demande à GA lors de l’utilisation de la balise Universal Analytics normale dans l’ancien SDK iOS. Comme vous pouvez le voir, il y a un tas de dimensions personnalisées (entourées en rouge) qui n’ont aucune valeur. Ce sont des dimensions qui n’avaient aucune valeur dans TAGDataLayer lorsque le coup a été envoyé.

Ce problème est ne pas présent dans le dernier SDK GTM (Firebase), ce qui est bien sûr une bonne chose.

De plus, je n’ai pas testé si ce problème était présent si j’utilisais le SDK natif de Google Analytics. j’imagine que il estcar l’ancien SDK GTM utilise le SDK des services Google Analytics pour envoyer les appels à GA.

Qu’est-ce que cela signifie

Cela a deux implications.

Premièresi vous utilisez le anciens SDK Google Tag Manager et très probablement le SDK du service Google Analyticsil est également possible que des dimensions personnalisées à l’échelle de l’utilisateur ou de la session aient des données corrompues.

Il serait juste de supposer que si la clé n’a pas de valeur dans la couche de données, la clé n’est pas incluse dans le hitou ça à tout le moins, un paramètre sans valeur ne remplacera PAS une valeur précédemment définiemais ces hypothèses sont, d’après mes conclusions, faux.

Vous devrez donc repenser votre approche de mise en œuvre, en vous assurant peut-être que les balises qui doivent envoyer des dimensions personnalisées à l’échelle de l’utilisateur et de la session ne se déclenchent pas à moins que les variables de la couche de données ne se résolvent en valeurs appropriées. Cela peut signifier créer de nouvelles balises dans votre conteneur.

Secondecela peut aussi être un bonne chose. Il arrive parfois que la réinitialisation des dimensions personnalisées soit nécessaire. Par exemple, si vous utilisez une dimension personnalisée définie par l’utilisateur pour stocker informations sur les expériences issues des tests A/B, vous souhaiterez peut-être réinitialiser ces champs pour les utilisateurs qui ont participé à un test précédent mais qui ne sont plus inclus dans un test en cours d’exécution. Vous savez, juste pour réduire la quantité de bruit dans vos rapports.

Pour ce faire, vous pouvez écrire du code qui vérifie si l’utilisateur est inclus dans une expérience en cours et si ce n’est pas le cas, envoyez la dimension sans valeur.

Vous pouvez également le faire facilement sur le Web. Définissez simplement la valeur de la dimension sur une chaîne vide :

ga('tracker.set', 'dimension25', '');  // or  ga('send', 'event', 'resetDimension', 'reset', {dimension25: ''}); 

Si vous utilisez Google Tag Manager pour le Web, c’est un peu plus difficile car vous ne pouvez pas définir de champs vides. Cependant, il est assez simple de créer simplement une variable JavaScript personnalisée qui renvoie une chaîne vide :

Chaîne vide

La variable JavaScript personnalisée ressemblerait à ceci :

function() {   return ''; } 

Dernières pensées

je pense que c’est bon que nous avons la possibilité de réinitialiser une valeur de dimension personnalisée. Et oui, je sais que ce n’est pas techniquement réinitialiser la valeur, mais plus sur l’exploitation d’une fonctionnalité de l’interface de création de rapports Google Analytics qui vous empêche d’interroger les dimensions personnalisées avec des valeurs vides.

Cependant, je pense que c’est mal que les SDK mobiles (à l’exception de Firebase) le font automatiquement. C’est toujours déroutant lorsque Google Tag Manager pour les applications s’écarte de la façon dont il fonctionne sur le Web, et ceci en est un autre exemple. Au lieu de supprimer le paramètre des requêtes si aucune valeur valide n’est trouvée, comme c’est le cas sur le Web, le paramètre est envoyé avec une valeur vide.

Je ne m’attends pas à ce que cela soit corrigé dans les conteneurs hérités, car ils devraient s’éloigner de Firebase, et c’est certainement une autre raison de mettre à niveau votre configuration.

Vous devriez probablement rechercher ce phénomène dans vos données, en particulier si vous collectez des données d’application à l’aide de l’un des SDK hérités. Si vous disposez de GA360 et que vous avez accès aux exportations BigQuery, vous pouvez interroger les champs de dimension personnalisée dont la valeur est une chaîne vide.

Segment GA

Dans l’interface utilisateur de Google Analytics, j’ai initialement trouvé ce problème en créant un segment dans lequel j’inclus les utilisateurs qui ont une valeur valide pour une dimension personnalisée définie par l’utilisateur, mais j’exclus les sessions qui n’ont pas de valeur valide.

Ce segment inclurait donc les données des utilisateurs avec des sessions qui ont une valeur valide et des sessions qui n’ont PAS une valeur valide. Après cela, il s’agit d’utiliser le rapport de l’explorateur d’utilisateurs et d’explorer les parcours des utilisateurs individuels pour voir si les sessions sans valeur sont venues après ceux qui avaient une valeur valide.

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