Test des paramètres sendBeacon pour l'envoi de données

Lorsque vous utilisez des méthodes standard d'envoi de données à Google Analytics, il est probable que le système n'aura pas le temps d'envoyer tous les événements si le processus a été interrompu par le rechargement de la page. Plus tôt cette année, plusieurs publications sont apparues sur la façon d'améliorer l'intégrité des données collectées en GA. L'un d'eux était consacré aux événements qui suivent les actions des utilisateurs menant à des rechargements de page: clics sur les liens externes, téléchargements de fichiers, clics sur les boutons d'envoi de formulaires, avant de télécharger des événements. Pour résoudre le problème, l'auteur du document, Dmitry Osiyuk, suggère de définir le champ de transport avec la balise de valeur dans le code Google Analytics. Ce champ détermine laquelle des méthodes d'envoi utiliser:


xhr (en utilisant un objet XMLHttpRequest)
image (à l'aide de l'objet Image)
beacon (en utilisant la méthode navigator.sendBeacon).


sendBeacon fonctionnera de manière asynchrone, même si l'utilisateur ferme la page ou quitte complètement le site, ce qui devrait permettre de collecter les données plus précisément.


Maintenant, analytics.js choisit lui-même la meilleure méthode d'expédition. Navigator.sendBeacon est utilisé uniquement si la balise est sélectionnée comme mécanisme de transmission (champ de transport). Selon Google, à l'avenir, l'option balise est susceptible d'être utilisée par défaut dans les navigateurs qui la prennent en charge. J'ai décidé de vérifier dans la pratique quel effet l'utilisation du paramètre sendBeacon donne.


Ce qui a été fait:


Sélection d'un événement pour le test: cliquez sur le lien dans le menu. En cliquant sur une autre page est chargée.
Créé deux balises dans Google Tag Manager, travaillant sur les mêmes déclencheurs. L'un a utilisé la méthode d'envoi standard, le second sendBeacon.


De plus, j'ai décidé de tester l'utilisation de différentes priorités de balises dans GTM afin de comprendre l'influence des paramètres dans tous les cas.


En d'autres termes, lorsque l'utilisateur a cliqué sur le lien dont nous avions besoin, GTM a envoyé l'événement à GA deux fois: une fois en utilisant la méthode standard, une fois avec la méthode sendBeacon. Les priorités peuvent être modifiées dans les paramètres avancés des balises dans GTM, l'élément est «Priorité pour l'activation des balises». Zéro est la priorité minimale; plus le nombre est élevé, plus la priorité est élevée par rapport aux autres balises. Par défaut, la valeur est zéro.



Vérifiez sendBeacon


J'ai testé trois options:


  • La priorité est donnée à l'envoi standard;
  • La priorité est plus élevée pour sendBeacon;
  • Priorité tout aussi élevée pour les deux méthodes.

Dans le cas de priorités différentes, lorsque l'utilisateur a cliqué sur le lien, GTM a d'abord envoyé l'événement avec la priorité la plus élevée, immédiatement après - le second. Lorsque les priorités coïncidaient, chacune des méthodes fonctionnait plus tôt dans la moitié des cas.


En conséquence, vous pouvez observer deux paires d'événements - pour PC (ordinateur de bureau) et appareils mobiles (tablette et mobile).


Priorité pour l'envoi standard



Priorité à sendBeacon



Même priorité - échantillon le plus important



Comme le test l'a montré , sendBeacon fonctionne vraiment mieux, mais le pourcentage d'événements qui n'ont peut-être pas été envoyé n'est pas si élevé. La différence par rapport à la méthode d'envoi conventionnelle est de ~ 0,3%. Il convient également de considérer que sendBeacon est conçu pour suivre les événements qui conduisent l'utilisateur à une nouvelle page. Lorsque vous utilisez cette méthode pour suivre tous les événements sur le site, la différence sera encore moins importante. Dans le même temps, sendBeacon a un avantage: l'envoi de données de manière asynchrone, il ne ralentit pas le site, ce qui se produit lors de l'utilisation d'autres méthodes. La vitesse de téléchargement et de chargement des pages ne baisse pas.


* Bonus: Pendant l'expérience, j'étais en outre convaincu que les priorités d'activation des tags dans GTM fonctionnent bien.

Source: https://habr.com/ru/post/fr449688/


All Articles