Analytics

Envoyer la longueur de la charge utile Google Analytics en tant que dimension personnalisée

Peut-être que vous le saviez, peut-être pas, mais les requêtes envoyées depuis votre site Web (ou application) à Google Analytics ont une taille maximale. Ou, plus précisément, le charge utile size (c’est-à-dire le corps du contenu réel de la requête) a un maximum.

Cette taille maximale de la charge utile est 8192 octets. Cela signifie, en gros, que la chaîne de paramètres entière envoyée aux serveurs de Google Analytics ne peut pas dépasser 8192 caractères. Le fait est que si la charge utile dépasse cela, Google Analytics abandonne simplement le coup. Il n’y a aucun avertissement, aucune erreur, rien. Le hit n’est tout simplement pas envoyé. Si vous exécutez l’extension de navigateur du débogueur Google Analytics, vous pouvez voir réellement un avertissement lorsque la taille de la charge utile est dépassée :

Taille maximale de la charge utile

Si vous voyez cet avertissement, cela signifie que le hit a été abandonné en raison du dépassement de la longueur 8192 de la charge utile.

Notez que si vous utilisez Protocole de mesure pour envoyer directement des données à Google Analytics, cette limitation de taille s’applique aux Corps de la requête POST. Si vous envoyez les données avec une requête GET, la taille maximale du URL entière /collecte est 8000 octets.

Quoi qu’il en soit, dans cet article, je vais vous montrer comment envoyer la taille de la charge utile (ou au moins une approximation très proche de celle-ci) en tant que dimension personnalisée à Google Analytics avec chaque hit. De cette façon, vous pourrez vérifier si vous vous approchez de cette limitation, et ainsi vous pourrez prendre des précautions pour éviter de dépasser la taille maximale. Nous allons faire avancer les choses avec customTask (quoi d’autre ?) et Google Tag Manager.

METTRE À JOUR: Découvrez l’excellent article d’Angela Grammatas sur le même sujet. Elle utilise une tactique légèrement différente, en ajoutant les données dans le buildHitTaskqui fonctionne aussi bien.

DEMANDE IMPORTANTE

Avant de commencer, j’ai une demande à faire. Il y a quelque temps, j’ai été contacté par quelqu’un (Googler, je pense), qui m’a fait part d’une solution similaire. Pour ma vie, je ne trouve cette communication nulle part, car je ne me souviens même pas sur quel support j’ai été contacté (j’ai parcouru ma boîte aux lettres en vain).

Cette solution a été définitivement inspirée par l’idée de cette personne, donc je veux donner du crédit là où le crédit est dû. Donc, si vous vous souvenez de m’avoir approché avec une solution sur laquelle vous travailliez et qui faisait quelque chose de similaire, veuillez me contacter et je mettrai à jour cet article avec mes remerciements pour votre exemple inspirant.

Envoyez la longueur de la charge utile du hit à l’aide de customTask

Si vous ne savez pas quoi customTask est, s’il vous plaît consulter mon guide sur le sujet. En un mot, customTask permet de modifier, entre autres, la requête envoyée à Google Analytics avant il est envoyé, ajoutant dynamiquement des informations à la charge utile. Ces informations peuvent être n’importe quoi, d’une charge utile purgée de PII à l’ID client.

customTask fonctionne avec un Variable JavaScript personnalisée. Pour envoyer la longueur de la charge utile d’appel en tant que dimension personnalisée, vous devez d’abord créer une nouvelle hit-scoped Dimension personnalisée dans l’administration Google Analytics. Une fois que vous l’avez créé, notez le indice affecté à la nouvelle dimension.

Dimension personnalisée

Ensuite, dans Google Tag Manager, créez un nouveau Variable JavaScript personnalisée. Donnez-lui un nom descriptif, par exemple customTask – atteindre la longueur de la charge utile. Voici ce que vous devez ajouter dans :

function() {   // Change this index to match that of the Custom Dimension you created in GA   var customDimensionIndex = 10;      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);                }     });   }; } 

Pour configurer ce customTaskil vous suffit de mettre à jour le customDimensionIndex variable avec le numéro d’index de votre dimension personnalisée (dans mon exemple, l’index est 10).

Cette fonction interrompt sendHitTask, qui est la tâche utilisée pour envoyer la demande à Google Analytics. La charge utile envoyée à Google Analytics est ajoutée à la dimension personnalisée que vous avez créée, et la valeur de cette dimension personnalisée est définie sur toute la longueur de la charge utile. Ainsi, lorsqu’une balise qui utilise ce customTask se déclenche, la demande adressée à Google Analytics contiendra la longueur de la charge utile comme valeur de la dimension personnalisée que vous lui avez attribuée.

Pour l’ajouter à vos balises, utilisez une variable de paramètres Google Analytics ou remplacez les paramètres de n’importe quelle balise. Faites défiler jusqu’à Plus de réglages > Champs à définiret ajoutez un nouveau champ.

Nom de domaine: tâchepersonnalisée
Évaluer: {{customTask – atteindre la longueur de la charge utile}}

Champs à définir

Désormais, toute balise pour laquelle ce champ est défini ajoutera la longueur de la charge utile du hit en tant que dimension personnalisée à la demande.

Vous pouvez le vérifier en ouvrant le Réseau onglet des outils de développement de votre navigateur. La balise est représentée par une requête à /collectet en cliquant sur cette requête, vous pouvez voir que le paramètre Custom Dimension est inclus dans la longueur de la charge utile :

Longueur de la charge utile dans les requêtes réseau

Autres idées

Vous pourriez en fait réécrire le customTask pour ajouter une logique supplémentaire si vous approchez de la 8192 taille maximale en octets. Par exemple, cela ne vous aide pas vraiment d’ajouter la longueur de la charge utile en tant que dimension personnalisée, si la charge utile n’est jamais envoyée en raison du dépassement de la taille requise.

En ajoutant du code personnalisé, vous pourriez faire des choses comme :

  1. Lorsque la longueur de la charge utile est égale ou supérieure à 8192 octets, supprimez les champs inutiles de la charge utile jusqu’à ce que la longueur soit inférieure à la limite.

  2. Lorsque la longueur de la charge utile est égale ou supérieure à 8192 octets, envoyez un nouveau hit à Google Analytics qui contient certaines informations clés de la charge utile “cassé”, juste pour que vous ayez une idée de l’étendue du problème.

Une raison typique de dépassement de la longueur de la charge utile est si vous envoyez des données d’impression Enhanced Ecommerce ou simplement de très gros paniers. Il suffit de quelque chose comme 50 à 60 produits pour que vous approchiez de la limite de 8192 octets. À moins que vous ne puissiez réduire la taille de la charge utile du produit à l’aide de moyens réguliers, vous pouvez faire quelque chose comme supprimer tous les champs non critiques des objets du produit (par exemple brand, category, variant), et incluez simplement le id, name, priceet quantity.

Vous pouvez également supprimer toutes les données produit, à l’exception de id dans ces cas, puis utilisez Data Import pour actualiser les données supplémentaires.

Résumé

Eh bien, on dirait customTask à nouveau à la rescousse. C’est une fonctionnalité tellement puissante, et j’adore le fait que vous puissiez obtenir tous méta avec vos données Google Analytics.

Parsemer la charge utile de détails autrement obscurcis est un excellent moyen d’ajouter un tout nouveau niveau d’opportunités de débogage à votre collecte de données.

La limite de taille de la charge utile atteinte est désagréable dans la mesure où vous ne serez pas alerté si un problème survient. L’interface utilisateur de Google Analytics ne pourra pas vous informer de ce problème, car les demandes ne sont jamais envoyées à GA en premier lieu. Avec cette dimension personnalisée, vous pouvez ajouter ces informations à la charge utile en tant que dimension personnalisée, puis vous préparer à l’avance à l’éventualité où vous pourriez bientôt atteindre la taille maximale de la charge utile.

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