Tag managers : quelle incidence sur la performance web ?

L’utilisation d’un système de Tag Management – comme Google Tag Manager ou TagCommander – pour gérer des fonctionnalités/scripts externes présents sur vos pages web revêt de multiples intérêts, notamment pour les services marketing. Côté performance web, l’impact de ces outils n’est pas neutre. Explications.

Les « tags », ces injections de code faisant souvent appel à des ressources externes (en anglais « Third-party content »)  et implémentées la plupart du temps via du code JavaScript, ont tendance à se multiplier dans vos sites web. Logique : si vous travaillez au marketing de votre activité en ligne, ces tags représentent un moyen – a priori – simple et rapide pour ajouter de nouvelles fonctionnalités à vos pages web… Que ces fonctionnalités profitent à vos visiteurs ou vous soient utiles dans votre propre métier. En voici quelques exemples parmi les plus courants : les outils de suivi analytics, les widgets sociaux, les scripts d’insertions publicitaires, de retargeting ou d’A/B testing, etc.

3rd party content distribution

Ce graphe, réalisé par Paul Calvano lors d’une discussion sur ces scripts tiers pour en évaluer la répartition illustre très bien l’importance de ces ressources externes pour un nombre non négligeable de sites web.

Scripts externes, conséquences internes

Hélas, l’utilisation des ressources tierces ne s’accompagne pas que de bénéfices, loin de là : 

D’abord au niveau métier : chaque ajout de tag nécessite de solliciter l’équipe de développement, qui doit l’intégrer à son planning, prévoir de livrer sur un environnement d’intégration… Avant que vous puissiez faire vos tests (et éventuellement, abandonner la fonctionnalité !). Un processus lourd, car il implique des développements et livraisons alors que la phase d’usage, de configuration et de sélection des tags n’est qu’une étape dans le processus de sélection, et peut aboutir à l’abandon du script. En investissant de la sorte les équipes de développement, on génère de la frustration, des délais et de l’agacement.

Outre le risque que ces scripts font courir à vos pages, puisqu’ils modifient souvent le contenu, la performance web de votre site peut également s’en trouver dégradée. Par exemple, certains de ces tags peuvent s’exécuter de manière synchrone. Suivant leur placement dans la page, ils risquent alors de perturber le chargement d’autres éléments et affecter notablement l’expérience utilisateur. Certes, ce type d’impact n’est pas un fatalité : il existe en effet des méthodes pour charger les JavaScripts plus efficacement, comme nous l’expliquons dans cet article dédié aux techniques pour différer l’analyse et l’exécution des scripts.

Un tag pour les manager (presque) tous

Les Tag Managers (ou TMS pour Tag Management System) se posent alors comme une solution technique pour faciliter d’abord le processus métier. En atteste l’argument phare mis en avant par Google Tag Manager (GTM) sur son site web : “Pourquoi patienter des mois avant la mise à jour du code de votre site ? Grâce à Google Tag Manager, vous pouvez lancer de nouvelles balises à tout moment en quelques clics, ce qui vous permet de ne jamais manquer une opportunité en matière de mesure ou de marketing”. Le service gratuit développé par Google trustant nettement plus de la moitié du marché des TMS (selon Datanyze ou Built With), nous nous focaliserons sur son mode de fonctionnement dans le reste de cet article. Sachant que fondamentalement, les autres solutions proposent un service similaire. 

D’un point de vue métier donc, le Tag Manager se présente comme une interface permettant de gérer (ajout, configuration, déploiement, etc.) tout ou partie des scripts externes sur votre site web, sans avoir systématiquement recours à un développeur (une fois l’outil mis en place bien entendu). Avec pour principales promesses par exemple chez GTM :

En tout premier lieu un gain d’autonomie des services marketing pour ajouter ou modifier rapidement des balises, tout en ayant accès à une console de débogage, un historique des versions, etc.

La fiabilité et le contrôle, la solution incluant des outils pour gérer ses propres process (utilisateurs multiples avec différents niveaux d’autorisation) et vérifier que tout fonctionne correctement au sein de votre infrastructure,

La souplesse d’utilisation, Google Tag Manager mettant en avant sa compatibilité “avec de nombreuses balises Google et différentes balises de fournisseurs tiers” (dont vous pouvez retrouver une liste ici).

Techniquement, le Tag Manager se résume à un seul élément <script> (en deux parties comme le montre l’illustration ci-dessous) qui joue le rôle de conteneur des autres ressources externes et qui s’occupe uniquement de les charger aussi efficacement que possible (ou tout du moins selon les règles que l’on aura définies).
Avantage de cette solution : un faible coût d’implémentation pour les développeurs, un déploiement rapide et sans itération.

Source : https://www.optimizesmart.com/beginners-guide-google-tag-manager-v2/

Pour autant, le Tag Manager doit-il – ou peut-il – gérer tous les scripts tiers de ses pages web ? “La migration de l’ensemble de vos balises peut être réalisée en une seule opération. C’est une bonne pratique, mais ce n’est pas obligatoire,” indique-t-on chez GTM. Et pour cause : tous les tags ne peuvent pas être déployés via Google Tag Manager. Himanshu Sharma (OptimizeSmart.com) indique ainsi quelques cas d’exclusion :

  • les scripts qui doivent s’exécuter de manière synchrone ;
  • les tags en plusieurs parties, devant être chargées dans un certain ordre;
  • les tags purement et simplement incompatibles : “par exemple, le Javascript SDK de Facebook ne peut être déployé via GTM,” explique l’analyste web.

Dans les faits, donc, il est probable que vous ne puissiez pas gérer toutes vos balises via un tag manager. Néanmoins, GTM semble faire en sorte de pouvoir en intégrer un maximum : outre son système de modèles pour les balises Google mais aussi pour une liste croissante de fournisseurs agréés, le service permet de déployer n’importe quel type de balise personnalisée (c’est à dire créée par vous-même). Non sans indiquer un avertissement : “Pour éviter des problèmes de performances et toute activité liée à un logiciel malveillant, la meilleure méthode est d’utiliser les modèles de balises intégrés dans Google Tag Manager”…

Quel impact sur la performance web ?

Performance : le mot est laché… Quel peut donc être l’impact de l’adoption (puis de l’utilisation) d’un système de tag management sur la vitesse de chargement de vos pages ? La question est loin d’être anodine, puisque nous avons vu précédemment que le sujet des scripts tiers pouvait être lourd de conséquences au niveau performance web (nous avons d’ailleurs déjà consacré tout un article à cette question).
Sur le papier, on pourrait présumer d’un impact négatif : après tout, un tag manager représente d’abord un script supplémentaire sur votre page, c’est à dire une dépendance de plus, avec une résolution DNS, une connexion TCP, etc.

Pourtant, bon nombre de ces solutions TMS se prévalent de l’inverse, à savoir d’un effet positif sur la performance web des pages sur lesquelles elles sont implémentées. Ainsi, selon une enquête réalisée par Econsultancy auprès d’un panel de webmarketeurs nord-américains, 64% d’entre eux affirment que le remplacement des multiples tags sur leur site web par un système de tag management a entraîné une amélioration de la vitesse de chargement. Et ils sont un tiers à qualifier ce gain de “significatif”.

Attention toutefois : il faut plutôt concevoir cette promesse d’une accélération de vos pages comme le résultat de l’application de nouvelles bonnes pratiques et contraintes. Examinons rapidement quelles sont les raisons de cette amélioration potentielle :

Les tags managers comme GTM imposent des déclenchements asynchrones. Ce qui veut dire que les scripts se chargent indépendamment les uns des autres et parallèlement aux autres éléments de la page. L’impact sur la performance est donc bien plus limité qu’avec des intégrations synchrones. Si l’adoption d’un TMS vous permet de passer certains tags d’un chargement synchrone à asynchrone, vous pourrez donc en constater les bénéfices. Si en revanche, vous utilisez des fonctionnalités nécessitant un comportement bloquant, le tag manager ne sera tout simplement pas une solution.

Google Tag Manager recommande fortement la mise en place – en collaboration avec le développement – d’une “couche de données” (data layer) regroupant les informations dont ont besoin les scripts tiers. Outre l’intérêt évident de cette pratique pour bien expliciter les données (et servir aussi au débuggage), cette consolidation évite aussi d’aller récupérer plusieurs fois les mêmes données nécessaires à plusieurs tags. Plus largement, la mise en place du Data Layer constitue aussi l’occasion de remettre les choses à plat en interne concernant les informations transmises à des scripts tiers… Et peut-être de faire un coup de ménage salutaire en cette période de préparation au RGPD !

D’une manière générale, les tag managers font en sorte de minimiser leur impact sur les performances web, comme l’explique Georgene Nunn sur conversionxl.com, en rappelant “qu’il est courant, aussi, qu’un tag manager utilise un CDN (Content Delivery Network)”.

Les tag managers n’ont donc pas de bénéfice direct sur la  performance web. Mais indirectement, les bénéfices peuvent être significatifs, car l’adoption d’une telle solution peut se révéler comme un occasion de mettre à plat la gestion des tags. En apportant notamment la contrainte de l’asynchrone et en centralisant la connaissance de ce parc dont la maîtrise est une réelle difficulté. Sous réserve cependant de ne pas vous laisser “griser” par l’autonomie que la solution vous confère en éliminant l’intégration par les équipes techniques. Sans quoi votre tag manager deviendra l’arbre qui cache une forêt inextricable de scripts s’accumulant au fil du temps !

Comme l’explique le WebAnalyste Franck Scandolera, les TMS peuvent être sources de problèmes sérieux s’ils ne sont pas gérés de manière rigoureuse : “Sans discipline vous prenez le risque de vous retrouver au fil de temps avec de longues listes ingérables de balises, de règles et de macros, de surcharger inutilement votre conteneur GTM. Pire encore, vous pourriez arriver à faire tomber votre site, causant une perte financière importante pour votre entreprise”. 

En outre, l’utilisation d’un TMS ne doit pas vous exempter – au contraire – d’aborder la question des ressources tierces sous l’angle des budgets performance. Car c’est d’abord cette approche qui vous permettra d’optimiser la vitesse de votre site. En clair, pour chaque script ou fonctionnalité envisagée, mettez en balance ses bénéfices avec son impact performance, et arbitrez !

Inventaire des bonnes pratiques quant à l’implémentation et l’utilisation d’un tag manager, Retour détaillé sur quelques points cruciaux concernant les implications en termes de performance web, cohabitation avec des démarches telles que CSP (Content Security Policy), et quelques conseils de spécialistes en prime : Nous concoctons en ce moment-même un deuxième volet à ce billet dédié au tag managers, à paraître prochainement. Stay tuned !

Edit (26/06/2018) : la suite de cet article vient d’être publiée. Cliquez sur le lien ci-dessous pour y accéder.
Tag managers & performance web : une question de rigueur et de coopération 

2 réflexions au sujet de « Tag managers : quelle incidence sur la performance web ? »

  1. Le métier ne devrait pas passer au dessus des développeurs pour ajouter des fonctionnalités à un site. Pour la simple et bonne raison qu’ils n’ont aucune idée de ce qui est en jeu, mis à part l’idée d’une nouvelle fonctionnalité a priori allèchante.

    Les environnements de préprod ne sont pas là pour rien, les tests d’intégration non plus.

    En revanche, mettre une solution telle que celle-là sur un environnement dédié (type test similaire à une préprod), afin de tester les fonctionnalités qui sont en suite intégrées via l’équipe de dev, ça me paraît beaucoup plus sérieux.

    Au niveau des avantages, on aura donc :
    – Un environnement en « bordel » qui est remis à zero régulièrement mais où les marketteux peuvent faire ce qu’ils veulent
    – Des développeurs qui n’intègrent au test que ce qui va se faire en prod
    – Moins de frustration pour tout le monde
    – Un retard moins important qu’en suivant un process classique pour chaque test
    – Des performances maitrisées
    – L’assurance de ne pas faire tomber la prod et de ne pas ajouter de failles de sécurité (XSS et cie)

    Qu’en pensez-vous ?

    1. Oui, délivrer n’importe quel script sur une Production est un problème, surtout si cela nuit aux performance. Mais cela permet aussi de tester rapidement, y compris sur des volumes statistiques d’utilisateurs, ce que la Préprod ou l’Intégration ne permettent pas. Il y a donc un vrai équilibre à trouver pour que les gestionnaires de ces services SaaS Front-End (car c’est de ça qu’il s’agit) et les développeurs travaillent ensemble.

      Une des clés de ce travail est peut-être la Content-Security-Policy, qui bloque les domaines et donc doit être alimentée pour autoriser de nouveaux services. Mais elle ne doit pas être la seule interface entre les publics internes de la division Web d’une entreprise. L’entreprise doit aussi s’assurer du respect des informations privées et de la bonne gestion des garanties contractuelles associées aux services tiers utilisés.

      Loin de nous l’idée de recommander la mise en place d’un « bac-à-sable » pour le Web Marketing. D’abord, ça serait prendre une posture très haute sur un métier qui contribue autant au web que les équipes de développement. Ensuite ça irait dans le sens d’un manque de communication transversale, ce qui est exactement l’inverse de ce que nous essayons de faire au quotidien chez Dareboost.

      Montons tous en compétence sur nos métiers respectifs pour offrir, ensemble, une meilleure expérience aux internautes.

Laisser un commentaire

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

*

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.