Analytics

customTask – Le Guide

Dernière mise à jour le 4 septembre 2018

Si vous avez lu les articles de mon blog au cours de la dernière année, vous avez peut-être remarqué une tendance inquiétante. J’ai publié 9 articles sur customTask depuis la sortie de l’API. Cela peut sembler peu, mais je ne vois pas une seule fonctionnalité dans Google Analytics ou Google Tag Manager qui m’ait si complètement convaincu de son utilité en si peu de temps.

Les customTask L’API est une fonctionnalité de la bibliothèque Universal Analytics (également utilisée par les balises de Google Tag Manager). Il vous permet get et set valeurs depuis et vers le hit (protocole de mesure) lors de sa génération. Ceci est vraiment utile pour plusieurs raisons, que j’ai abordées dans les articles précédents, mais je les passerai brièvement en revue au début de ce guide également.

customTask - Le Guide

Autant dire que surtout pour Google Tag Manager, customTask ajoute beaucoup de valeur. Avec GTM, il a toujours été assez difficile d’accéder au processus de création de hits lors de l’utilisation de modèles de balises. Heureusement, customTask offre une solution à ce problème, et au moins pour ce développeur particulier, cela a ouvert un tout nouveau monde de personnalisation de Google Analytics.

Cependant, malgré la rédaction de tous ces articles sur customTask, j’ai récemment réalisé que je n’avais jamais pris le temps d’expliquer plus en détail comment cela fonctionnait. De plus, je n’ai pas encore partagé de solutions pour combiner plusieurs customTask astuces dans une seule balise. Ce guide vise à répondre à ces points.

Assurez-vous également de consulter mon outil customTask Builder – il vous aidera à compiler le JavaScript nécessaire pour customTask pour fonctionner dans votre configuration sans conflits !

Table des matières

Table des matières

[+show] [–hide]

Fonctionnement des tâches

Lorsque vous exécutez le ga('send', 'pageview') soit directement dans le JavaScript de votre site, soit indirectement via les balises Google Analytics de Google Tag Manager, vous demandez en fait à la bibliothèque JavaScript Universal Analytics (analytics.js) de compiler une requête HTTP vers les serveurs de Google Analytics.

Le point de terminaison auquel les hits sont envoyés est généralement /collect sur le domaine du collecteur Google Analytics. Le processus de création et d’envoi des hits aux serveurs GA est également connu sous le nom de Protocole de mesure (député). En fait, MP est le processus sous-jacent utilisé par tous Les mécanismes de suivi GA, qu’il s’agisse des ga('send'...) Le SDK JavaScript, les balises GA de Google Tag Manager, les SDK natifs pour Android et iOS et les requêtes HTTP personnalisées des systèmes de point de vente, par exemple.

Processus de suivi

Lorsque vous utilisez le SDK JavaScript, soit via ga('send', 'pageview') ou les balises Google Analytics dans GTM, vous lancez ainsi une séquence de processus, où le produit final est la demande MP réelle à Google Analytics. Cette séquence comprend plusieurs Tâchesdont customTask est le premier exécuté.

Voici un bref récapitulatif de ce que fait chaque tâche, répertoriée dans l’ordre dans lequel elle est appliquée au hit.

Tâche La description
tâche personnalisée Aucune fonctionnalité propre, mais peut être utilisée pour manipuler le model objet avant qu’il ne soit traité par les autres tâches.
aperçuTâche Si la demande est générée à partir de la page vue d’une vignette “Top Sites” dans Safari, annulez l’appel.
checkProtocolTask Abandonne la requête si le protocole de la page n’est pas valide (http ou alors https).
tâche de validation Vérifie si les champs de la demande ont des valeurs valides et attendues. Abandonne la requête si ce n’est pas le cas (par exemple en essayant d’envoyer une chaîne comme valeur d’événement).
historyImportTask Si le suivi hérité est toujours en cours d’exécution sur le site, cette tâche importe les informations des anciens cookies de la bibliothèque GA dans Universal Analytics. Très utile si le site migre vers Universal Analytics.
samplerTâche Si vous avez décidé d’échantillonner manuellement les utilisateurs pour rester dans les limites de traitement de Google Analytics, cette tâche annule la demande si l’utilisateur est extrait de la collecte de données.
buildHitTask Génère le hitPayload string, qui est essentiellement la liste des paramètres de requête et leurs valeurs transmises à la demande de protocole de mesure.
envoyerHitTask Envoie le hitPayload dans une demande de protocole de mesure aux serveurs GA.
timingTâche Si vous échantillonnez automatiquement des pages pour les mesures de vitesse de page, cette tâche envoie l’appel de synchronisation à Google Analytics.
displayFeaturesTask Si vous avez activé les fonctionnalités d’affichage dans les paramètres GA, cette tâche compile la requête vers les serveurs DoubleClick.

Chaque tâche reçoit le model objet comme paramètre. Les model L’objet contient tous les champs qui ont été définis dans le tracker, ainsi que toutes les améliorations appliquées dans les tâches elles-mêmes.

La beauté de customTask est que, comme il s’exécute avant toutes les autres tâches, vous pouvez l’utiliser pour écraser le comportement de ces autres tâches. Par exemple, si vous souhaitez exécuter Google Analytics localement ou dans une extension Chrome, vous devez vous assurer checkProtocolTask n’est jamais exécuté, car il interrompt le générateur de hits si le protocole de la page n’est pas http ou alors https. Les customTask ressemblerait à ceci :

var customTask = function(model) {   // Prevent checkProtocolTask from running   model.set('checkProtocolTask', null); }; 

Comme vous pouvez le voir, la tâche est en fait un champ du model objet que vous pouvez manipuler comme vous pouvez manipuler n’importe quel autre champ du model. Par exemple, si vous souhaitez récupérer l’ID de suivi (UA-XXXXXX-Y) et l’envoyer dans la dimension personnalisée avec l’index 15, vous pouvez utiliser ce qui suit : customTask:

var customTask = function(model) {   // Get the tracking ID from the model object   var trackingId = model.get('trackingId');      // Set the tracking ID to Custom Dimension 15   model.set('dimension15', trackingId); }; 

Pour voir quels champs sont disponibles dans l’objet modèle, consultez cette documentation du développeur. Notez qu’il n’est pas complet, car il manque toutes les tâches.

En exécutant ces model interaction avec customTask, vous avez beaucoup de contrôle sur la façon dont la séquence de tâches est exécutée. Surtout avec Google Tag Manager, il serait difficile d’exécuter une logique compliquée pour savoir quand et comment manipuler sendHitTasksi vous l’avez appliqué directement à la balise en tant que champ.

Comment ajouter customTask à tes coups

Ajouter customTask à ton Gestionnaire de balises Google tags, vous devez créer une variable JavaScript personnalisée qui renvoie le customTask méthode dans le corps de la variable. Pratiquement tous mes customTask Les articles montrent des exemples de ce à quoi ressemble cette variable JavaScript personnalisée.

Lorsque vous êtes prêt à ajouter la variable à vos balises, vous pouvez le faire soit via une variable de paramètres Google Analytics (recommandé), soit en remplaçant directement les paramètres de la balise.

Vous devez faire défiler jusqu’à Champs à définiret ajoutez un nouveau champ qui ressemble à ceci :

Définir customTask dans GTM

Si vous utilisez l’extrait de code Universal Analytics (analytics.js) sur la page, vous ajoutez le customTask comme ceci, par exemple :

var _customTask = function() {   // Set Client ID to Custom Dimension 199   return function(customTaskModel) {     customTaskModel.set('dimension199', customTaskModel.get('clientId'));   }; };  ga('create', 'UA-12345-1'); ga('set', 'customTask', _customTask()); ga('send', 'pageview'); 

Notez que vous pouvez n’en mettre qu’un customTask par tracker / hit / tag. Si vous voulez ajouter plus d’un “truc” au customTask fonction, vous devez écrire le JavaScript qui combine toutes les différentes solutions en un tout cohérent.

Ou, vous pouvez utiliser mon outil CustomTask Builderqui fait le sale boulot pour vous.

Choses que vous pouvez faire avec customTask

Comme écrit plus haut, customTask est spécial pour deux raisons.

  1. Il n’a pas de fonctionnalité particulière qui lui est propre. Une file d’attente de tâches peut et fonctionnera parfaitement sans customTask défini.

  2. Elle s’exécute avant toute autre tâche, ce qui signifie que vous avez un contrôle total sur le traitement de la file d’attente.

Avec ces deux choses à l’esprit, voici la liste de tous les customTask trucs dont j’ai parlé, avec une description de ce qui les rend spéciaux.

1. Définir l’ID client comme dimension personnalisée

Lien vers l’article : #GTMTips : utilisez customTask pour accéder aux valeurs de suivi dans Google Tag Manager.

C’est l’une des astuces les plus simples. Il ne manipule pas du tout la file d’attente de tâches elle-même, il suffit simplement obtient l’ID client de l’objet modèle, puis ensembles en tant que valeur de la dimension personnalisée spécifiée.

C’est une solution élégante à un problème difficile. Sans pour autant customTask, il était difficile d’obtenir et de définir l’ID client dans une balise Google Analytics. Si la balise est exécutée pour un visiteur pour la première fois qui n’a pas encore reçu d’ID client, la valeur réelle clientId champ n’est pas disponible lorsque les champs de balise réguliers sont résolus. Un piratage typique pour cette solution consistait à récupérer l’ID client en créant un outil de suivi factice ou en envoyant l’ID client avec une balise d’événement qui s’est déclenchée après la consultation de la page.

Mais avec customTaskil n’y a pas besoin de telles méthodes peu orthodoxes.

2. Dupliquer les balises Google Analytics sur plusieurs propriétés

Lien vers l’article : #GTMTips : envoyer la balise Google Analytics à plusieurs propriétés.

C’est customTask à l’état pur. Les customTask fonction stocke d’abord une référence à sendHitTask dans une variable globale, après quoi il écrase sendHitTask dans l’objet modèle courant avec le code duplicateur.

Le duplicateur laisse d’abord le coup d’origine se déclencher sur GA, après quoi il remplace l’ID de suivi dans le hitPayload avec l’ID de suivi de la deuxième propriété. Ensuite, le mondial sendHitTask est appelée à nouveau et le hit est envoyé à la deuxième propriété avec une charge utile identique.

Note! La raison pour laquelle la référence à sendHitTask est stocké dans une variable globale afin d’éviter les problèmes de multiplication de champs. Disons que vous l’utilisez toujours pour obtenir l’original sendHitTask référence:

var originalSendTask = model.get('sendHitTask');

A chaque fois ce customTask code est exécuté, il obtiendra une référence à ce qui est stocké dans l’objet modèle sendHitTask. Malheureusement, lors de la création de hits de commerce électronique standard ou lors de l’échantillonnage automatique des hits de synchronisation, la balise est automatiquement envoyée plusieurs fois. Ainsi la référence à l’original sendHitTask est augmenté récursivement à chaque itération de model.set('sendHitTask');entraînant une exécution erratique du code.

En ayant une variable globale stockant la référence à l’original sendHitTaskce problème récursif est évité.

3. Suivez les utilisateurs hors ligne dans Google Analytics

Lien vers l’article : Suivre les utilisateurs hors ligne dans Google Analytics.

C’est tout David Vallejo. Sa solution s’attaque au problème de la connectivité Internet perdue et des accès interrompus à cause de cela. Il utilise customTask pour vérifier si l’utilisateur est hors ligne, et si c’est le cas, les hits sont stockés dans une file d’attente batch. Une fois la connectivité restaurée, la file d’attente est traitée et les hits sont finalement envoyés à GA.

4. Supprimer les PII des charges utiles GA

Lien vers l’article : #GTMTips : Supprimer les informations personnelles des résultats de Google Analytics.

Avec le RGPD à venir, couvrir toutes vos bases en matière de données privées est une bonne idée. Résoudre les fuites potentielles d’informations personnelles avant qu’elles n’atteignent les serveurs de Google Analytics est une bonne méthode pour vous assurer que vous respectez les conditions d’utilisation de Google Analytics ainsi que les réglementations de plus en plus strictes en matière d’envoi et de collecte de données personnelles.

E-mail expurgé

Ici, customTask prend la charge utile du hit avant qu’elle ne soit envoyée à GA et la purge de toutes les correspondances avec les expressions régulières données. Ces expressions régulières peuvent être créées pour correspondre à des éléments tels que les adresses e-mail et les numéros de sécurité sociale.

5. Corrigez l’échantillonnage de la vitesse du site qui perturbe vos métriques personnalisées

Lien vers l’article : Empêcher le taux d’échantillonnage de la vitesse du site de biaiser les dimensions personnalisées et les métriques personnalisées.

Il s’agit d’une astuce assez simple, mais elle résout un problème potentiel avec les données de métrique personnalisée faussées par les hits de synchronisation de page collectés automatiquement. Le problème est que l’appel de synchronisation copie tous les paramètres de la balise de vue de page qui est échantillonnée, et donc toutes les dimensions personnalisées et les statistiques personnalisées sont également envoyées plusieurs fois.

Ici, customTask est attaché à la balise Page View, où il vérifie si le type de hit est timing (en raison de l’appel de synchronisation généré automatiquement), et si c’est le cas, il supprime toutes les références aux dimensions et statistiques personnalisées de la demande.

6. Respecter l’opt-out

Lien vers l’article : #GTMTips : respectez la désactivation de la publicité et de l’analyse.

Une astuce simple, encore une fois. Ce temps customTask vérifie si l’utilisateur a des paramètres de désactivation spécifiques dans le navigateur, et si c’est le cas, il annule les demandes à Google Analytics et DoubleClick. Vous devrez créer manuellement le paramètre lui-même, qu’il s’agisse d’une fenêtre contextuelle qui stocke l’opt-out dans un cookie de navigateur ou quelque chose du genre, mais une fois que vous l’avez fait, cette solution facilite l’activation de l’opt-out par programmation. .

7. Envoyer des informations sur les tests Optimize à Google Analytics

Lien vers l’article : Envoyer un événement et une dimension personnalisée si l’expérience Google Optimize est en cours d’exécution.

Cette astuce résout un problème lié à la manière dont les données de Google Optimize sont signalées dans Google Analytics. Fondamentalement, les dimensions Nom de l’expérience et ID de l’expérience s’appliquent à l’utilisateur pendant toute la durée de l’expérience. Il n’est donc pas possible d’obtenir un segment des sessions réelles lorsque l’utilisateur participait activement à une page de test.

Les customTask vérifie certaines fonctionnalités de la balise Page View à laquelle elle est associée, et si ces fonctionnalités sont trouvées, il met à jour une dimension personnalisée dans la charge utile du hit avec des détails sur l’expérience. Vous pouvez ensuite segmenter vos données GA avec ces dimensions personnalisées pour voir les sessions où l’utilisateur était réellement actif sur une page de test.

Lien vers l’article : #GTMTips : Auto Link Domains With Regex.

Avec cette astuce, customTask apporte Google Tag Manager à la parité des fonctionnalités avec analytics.js. Le suivi régulier de Google Analytics sur la page vous permet d’utiliser des expressions régulières avec le plug-in Auto-Link Domains. Google Tag Manager n’accepte que les valeurs de chaîne.

Ici, customTask applique en fait le plugin Auto-Link à l’objet tracker lui-même, en passant le tableau d’expressions régulières au plugin. De cette façon, les domaines peuvent être automatiquement liés avec des paramètres inter-domaines basés sur une correspondance d’expression régulière, plutôt qu’une liste exhaustive de chaînes.

9. Envoyez les charges utiles de Google Analytics à Snowplow

Lien vers l’article : #GTMTips : dupliquez automatiquement les résultats Google Analytics vers le chasse-neige.

Je suis un grand fan de Snowplow, principalement parce qu’il est open-source et s’attaque à de nombreux problèmes difficiles liés à la mise en session et aux schémas de suivi. Cette astuce utilise customTask pour reproduire ce que fait le plug-in “officiel” Snowplow Google Analytics.

chasse-neige open source

Google Tag Manager ne prend pas en charge l’ajout de plug-ins aux balises. Par conséquent, utilisez customTask répliquer les fonctionnalités du plugin est une solution aussi bonne que n’importe quelle autre.

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

Lien vers l’article : Envoyer la longueur de la charge utile Google Analytics en tant que dimension personnalisée.

Cette astuce vous permet de collecter la longueur de la charge utile de chaque demande Google Analytics en tant que dimension personnalisée dans Google Analytics.

La longueur maximale d’une charge utile Google Analytics est de 8192 octets. Il est utile de vérifier si vous vous approchez de cette valeur avec certains de vos hits, car si la longueur de la charge utile dépasse cette valeur, le hit n’est jamais envoyé à Google Analytics.

Assurez-vous de consulter mon conseil ci-dessous sur la façon de réduire automatiquement la longueur de la charge utile.

11. Envoyer le type de hit en tant que dimension personnalisée

Lien vers l’article : #GTMTips : ajoutez le type d’accès en tant que dimension personnalisée.

Avec cette astuce, vous pouvez envoyer le type de hit (par exemple pageview, event, timing) en tant que dimension personnalisée avec chaque appel auquel cette customTask est attaché.

Très utile pour le débogage, puisque vous pouvez désormais créer des segments où vous vous référez directement au type de hit, qui n’est pas disponible (étonnamment) comme dimension par défaut dans Google Analytics.

12. Réduire automatiquement la longueur de la charge utile

Lien vers l’article : Réduisez automatiquement la longueur de la charge utile de Google Analytics.

Avec ça customTaskla charge utile envoyée à Google Analytics est automatiquement analysée et, si nécessaire, réduite pour passer sous la longueur de charge utile maximale de 8192 octets.

Il est très courant, en particulier avec le commerce électronique amélioré, d’envoyer de très longues charges utiles à Google Analytics. Malheureusement, si ces charges utiles dépassent la longueur maximale, les hits ne sont jamais envoyés et des données clés seront donc absentes de votre ensemble de données.

Vous pouvez utiliser cette astuce pour analyser de manière récursive la charge utile et en supprimer les paramètres inutiles, qui ne servent qu’à gaspiller de l’espace précieux sous la limite de longueur.

Lien vers l’article : Créer et mettre à jour le cookie d’expiration de la session Google Analytics.

Cette astuce crée (ou met à jour) un cookie de navigateur qui expire après un délai que vous avez configuré (30 minutes par défaut).

Chaque coup qui utilise ce customTask rafraîchira le cookie au moment même où le hit est déclenché.

Ainsi, si ce cookie existe dans le navigateur, cela indique qu’il pourrait bien y avoir une session Google Analytics active pour l’utilisateur actuel.

Vous pouvez utiliser le cookie pour bloquer l’envoi des hits d’événement à Google Analytics s’il n’y a pas de session active, par exemple.

14. Suivi des iframes inter-domaines

Lien vers l’article : Suivi des Iframes inter-domaines – Solution mise à niveau.

Ici, nous allons mettre à jour une de mes anciennes solutions en utilisant customTask et un window.setInterval() script d’interrogation ensemble pour un grand effet.

L’idée est que lorsque le hit est construit, le customTask recherche l’iframe donné sur la page, et s’il est trouvé dans un délai configuré, l’iframe est rechargé avec les paramètres de suivi inter-domaines.

Il s’agit d’une manière plus élégante d’aborder le problème des iframes inter-domaines, car il ignore la condition de concurrence d’exécution du script avant que l’iframe n’ait été chargé sur la page, et il utilise également l’objet de suivi correct au lieu du premier. traqueur sur la page.

15. Empêcher l’envoi de transactions en double

Lien vers l’article : Empêcher les transactions en double dans Google Analytics avec customTask.

Encore une fois une mise à jour d’un vieux truc.

Dans cette résolution, customTask magasins tous envoyés ID de transaction dans le navigateur. Une fois qu’un appel de transaction est mis en file d’attente pour être envoyé à GA, le customTask vérifie si l’identifiant de transaction du hit se trouve dans cette liste d’identifiants déjà envoyés. Si une correspondance est établie, le hit est bloqué, empêchant ainsi l’envoi de données dupliquées à GA.

Si aucune correspondance n’est établie, le hit est envoyé normalement et l’ID de transaction est écrit dans la liste des ID envoyés, de sorte que toute tentative future d’envoyer une transaction avec cet ID sera bloquée.

Contrairement à l’ancienne solution, cette méthode mise à niveau bloquera également le commerce électronique amélioré. Pour le commerce électronique standard, vous pouvez (et devriez) toujours utiliser le customTask, mais vous devrez toujours utiliser des déclencheurs et des exceptions. Tout est détaillé derrière le lien ci-dessus.

16. Obfusquer et dupliquer les données de Google Analytics

Lien vers l’article : Obfusquer et dupliquer les données de Google Analytics.

Il s’agit d’un petit script assez complexe qui duplique toutes les données de Google Analytics auxquelles le customTask est ajouté et l’envoie à l’ID de suivi que vous fournissez dans la configuration.

Le hic, c’est qu’en plus de les dupliquer, les données sont également obscurci. Toutes les chaînes sont converties en mots dans un ensemble fini, et cela se fait de manière prévisible (ainsi, toute chaîne donnée est toujours convertie en le même mot). Tous les prix sont également modifiés par une valeur de pourcentage aléatoire.

Le fait est que vous pouvez l’utiliser pour créer une démo ou un ensemble de données GA de formation à partir de n’importe quel ensemble de données réelles et réelles sans …

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