Blog
SignalHost pour Drupal : installez le module, connectez-vous une fois, et le suivi côté serveur est actif
Publié · 8 min de lecture
Le module SignalHost installe Google Tag Manager côté serveur sur un site Drupal sans une seule ligne de code à coller. Il ajoute le chargeur de suivi sur chaque page qui n’est pas une page d’administration, le maintient à jour quand quelque chose change de notre côté, et le retire quand vous vous déconnectez. Ce guide suit l’ordre dans lequel vous le découvrez : installation du module, connexion d’un conteneur, vérification, et ce qu’il faut faire quand quelque chose ne fonctionne pas.
Avant de commencer
- Drupal 10.3 ou 11, sous PHP 8.1 ou version ultérieure avec l’extension sodium, qui fait partie de PHP depuis la version 7.2.
- Un compte SignalHost. L’offre gratuite suffit pour essayer : 10 000 requêtes par mois et un conteneur. Vous pouvez créer le compte pendant la connexion.
- Un compte disposant du droit « Administer SignalHost Server-Side Tagging ». Seuls les utilisateurs qui l’ont peuvent connecter ou déconnecter le site.
1. Installer le module
Installez-le comme n’importe quel module contribué depuis sa page de projet sur drupal.org : ajoutez-le avec Composer, puis activez-le.
composer require drupal/signalhost_server_side_tagging
drush en signalhost_server_side_taggingSans Drush, activez-le sous Extension, où il figure sous le nom SignalHost Server-Side Tagging dans le groupe Statistics. Il n’affiche rien tant que le site n’est pas connecté.
2. Connecter le site à un conteneur
Ouvrez Configuration › Services Web › SignalHost (/admin/config/services/signalhost) et cliquez sur « Connect with SignalHost ». Si vous n’avez pas encore de compte, « Create a free account » vous mène plutôt à l’inscription. Rien n’est envoyé à SignalHost avant que vous ne cliquiez sur « Connect ».
Sur signalhost.io, connectez-vous. L’écran suivant indique ce que le module pourra et ne pourra pas faire, et vous demande quel conteneur le site doit utiliser. Un conteneur est votre propre serveur de tagging : un conteneur web et un conteneur serveur Tag Manager, construits dans votre propre compte Google, si bien qu’ils restent à vous.
Choisissez un conteneur existant, ou cliquez sur « Nouveau conteneur pour … » suivi de l’adresse de votre site et passez par le court assistant. La construction d’un nouveau conteneur prend quelques minutes ; vous pouvez vous connecter tout de suite, et le code est ajouté dès qu’il est prêt. Cliquez sur « Connecter ». Vous revenez sur la page SignalHost de Drupal avec le message « Connected. SignalHost's code is now added to every page of your site. »
3. Vérifier que le code est sur votre site
La page indique maintenant « Tracking is live », ou « Tracking starts as soon as your container is ready » tant qu’un nouveau conteneur est encore en construction. Lisez ensuite la ligne « On your home page » : juste après la connexion, le module récupère votre page d’accueil comme le ferait un visiteur et y cherche son code. « Code found » est la réponse que vous voulez. « Check again » relance la vérification à tout moment, et les autres réponses sont expliquées sous « Quand quelque chose ne fonctionne pas ».
4. Le tester
Ouvrez votre site dans une fenêtre de navigation privée et parcourez quelques pages ; un visiteur qui refuse votre bannière de cookies est tout de même compté, sous la forme du signal sans cookie de Google. Cliquez ensuite sur « Open statistics & settings » pour ouvrir la page de votre conteneur sur signalhost.io.
Sous « Statistiques avancées », l’onglet « Récent » affiche les pages vues des 30 dernières minutes, dont les vôtres. « Lancer les vérifications », sous « Dépannage » au bas de la page, compare ce que votre serveur de tagging a reçu avec ce que Google Analytics rapporte pour les mêmes 30 minutes. Un chiffre plus faible dans Analytics est normal : il exclut les visiteurs qui ont refusé les cookies. À partir de l’offre Growth, « Suivi des événements en direct » affiche chaque événement à son arrivée.
Ce que le module ajoute à votre site
Un petit script, et une synchronisation toutes les heures :
- Le chargeur Google Tag Manager, dans le head de chaque page qui n’est pas une page d’administration, pointé vers votre propre adresse de tagging au lieu de googletagmanager.com. Il charge votre conteneur Tag Manager depuis cette adresse. Le module le construit lui-même à partir de deux valeurs vérifiées ; rien de ce qu’envoie SignalHost n’est jamais affiché en tant que script. Ces pages portent une étiquette de cache, si bien que le cache de pages se rafraîchit chaque fois que le chargeur change, y compris pour les pages mises en cache avant votre connexion.
- Une fois par heure, après l’envoi d’une réponse, le module contacte signalhost.io pour rester à jour. Il n’envoie que les versions du module, de Drupal et de PHP, l’adresse de votre site et le fait que le code a été trouvé ou non sur votre page d’accueil : aucune donnée de visiteur, aucun contenu, aucun compte utilisateur. Si signalhost.io est injoignable, le site conserve la dernière configuration valide. Rien de ce qu’il enregistre ne voyage avec un export de configuration.
Chaque requête quitte le navigateur sous une forme que les bloqueurs de publicité ne reconnaissent pas, et votre serveur de tagging la transmet à Google Analytics 4 et aux plateformes publicitaires que vous configurez sur la page du conteneur : Google Ads, Meta, TikTok et d’autres. Le suivi respecte votre bannière de cookies via Google Consent Mode ; placez le code de votre bannière avant celui de SignalHost.
Le module ne lit ni les formulaires ni les commandes, Drupal Commerce compris. Les pages vues arrivent d’elles-mêmes ; un achat ou un prospect atteint votre conteneur lorsque votre site le pousse dans le dataLayer.
Votre propre domaine de suivi
Votre conteneur démarre sur une adresse sous signalhost.io. Avec une offre payante, « Configurer votre propre domaine » sur la page du conteneur le déplace vers un sous-domaine de votre propre site, comme sgtm.votresite.com, avec un seul enregistrement DNS chez votre fournisseur. Cette adresse résiste aux listes de filtres et garde les cookies de clic first-party. Une fois qu’elle est en ligne, le module y bascule votre site lors de sa prochaine synchronisation, généralement dans l’heure, et l’étiquette de cache rafraîchit vos pages en cache. Rien n’est à remplacer à la main, et l’ancienne adresse continue de fonctionner d’ici là.
Ajouter SignalHost à la main
Vous pouvez aussi coller le code vous-même. Sur la page du conteneur, trouvez votre extrait dans la carte « Installer sur votre site » et cliquez sur « Copier ». Collez-le dans le head de chaque page (dans Drupal, via votre thème), juste après le script de votre bannière de cookies, et cliquez sur « C’est fait ». « Copier pour un agent IA » confie la même tâche à un agent de programmation.
Le collage à la main renonce à ce que fait le module : rien ne vérifie votre page d’accueil, rien ne retire le code quand vous vous déconnectez, et quand votre propre domaine est en ligne, c’est à vous de remplacer le code, à partir de « Mettez à jour le snippet de votre site » sur la carte ou de l’e-mail annonçant le domaine. N’utilisez jamais les deux voies : deux copies comptent chaque visite deux fois.
Mises à jour, gestion et déconnexion
Les mises à jour passent par Composer, et le rapport des mises à jour de Drupal signale les nouvelles versions, comme pour tout module de drupal.org.
« Disconnect », sur la page SignalHost, demande une confirmation : « Disconnect this site from SignalHost? » Confirmer révoque l’accès du site, retire le code de chaque page et rafraîchit vos pages en cache. Votre conteneur et ses statistiques restent, et vous pouvez vous reconnecter à tout moment.
Sur signalhost.io, la page du conteneur indique « Installé par le module Drupal sur » suivi de votre site. Son bouton « Gérer » mène à Paramètres › Sites connectés, où « Déconnecter » fonctionne aussi : le module cesse de charger SignalHost lors de sa prochaine synchronisation, généralement dans l’heure.
Désinstaller le module révoque aussi l’accès du site et supprime tout ce que le module a enregistré.
Quand quelque chose ne fonctionne pas
- « Could not check (your server refused a request to itself) » : votre hébergeur bloque les requêtes vers sa propre adresse. Cela ne dit rien de vos visiteurs ; cherchez votre adresse de tagging dans le code source de votre page d’accueil.
- « An older copy is on the page » ou « The code is on the page twice » : une copie a été collée à la main dans un thème, un bloc ou un autre module. Retirez-la ; le module ajoute la version actuelle, et deux copies comptent chaque visite deux fois.
- Un avis indiquant que votre site charge déjà un conteneur Tag Manager avec l’extrait de Google lui-même : retirez cet extrait, car SignalHost charge désormais le conteneur et les deux ensemble comptent chaque visite deux fois. Il en va de même pour le module Google Tag Manager (google_tag) : utilisez l’un ou l’autre, pas les deux.
- « This site's address has changed since it was connected » : sur une copie, comme une préproduction, rien n’est envoyé. Si le site en ligne a déménagé, déconnectez-le et reconnectez-le.
- « Last update » est ancien : le module se synchronise après des requêtes de pages, jamais depuis cron. Ouvrir la page SignalHost déclenche aussi une synchronisation, et « Check again » en force une.
- Pour tout le reste : écrivez à hello@signalhost.io en indiquant l’adresse de votre site.
Marques
SignalHost est un produit indépendant d’Algorithmo GmbH ; il n’est ni affilié au projet Drupal, à Google, à Meta ou à TikTok, ni approuvé par eux. Google Analytics, Google Ads et Google Tag Manager sont des marques de Google LLC ; Meta est une marque de Meta Platforms, Inc. ; TikTok est une marque de ByteDance Ltd. ; Drupal est une marque déposée de Dries Buytaert.

