Comment filtrer le Spam Referrer dans GA4 en 2024 ?

Publié le

J’en ai fait un post LinkedIn parce que j’y ai moi-même été confronté, et la question me revient souvent chez mes clients : comment filtrer le « spam referrer » sur Google Analytics 4 ?

Le Spam Referrer, c’est quoi ?

Tout d’abord, commençons par définir ce que c’est pour ceux qui ne sont pas familiers du terme. Il s’agit d’une technique de spam un peu particulière qui consiste à simuler une visite sur votre site web ou application monile afin d’apparaître dans vos statistiques, et plus particulièrement dans les rapports dédiés aux sites référents.

Dernièrement, de nombreux utilisateurs de GA4 ont par exemple remarqué un pic de trafic en provenance de Pologne, depuis le site référent « news.grets.store » :

Les hackeurs utilisant ce type de technique n’attendent qu’une chose : que vous copiez / collez le nom de domaine affiché dans vos rapports et vous rendiez dessus. Offre commerciale, phishing, virus, … ils ont de l’imagination quant au site de destination. Si vous voyez un domaine louche dans vos rapports, recherchez-le sur Google avant de vous rendre dessus. Vous pourriez avoir de mauvaises surprises.

J’aime bien l’analogie faite par Mathieu Dhordain dans un commentaire de mon post LinkedIn : « une variation du numéro surtaxé qui sonne 1 fois sur mobile ».

Comment filtrer le spam referrer sur GA4 ?

Maintenant que l’on sait ce que c’est, peut-on l’éviter ?

Contrairement à ce que l’on peut penser de premier abord, aucune véritable visite n’est faite sur votre site. Les bots qui génèrent ce type de spam ne visitent pas réellement votre site, ils appellent directement votre outil d’analyse (via le Measurement Protocol pour GA par exemple). Il n’est donc pas possible de bloquer leurs IPs via le fichier .htaccess. Même les solutions spécialisées dans la protection anti-bots sont impuissantes face au phénomène.

Universal Analytics 3

Sur notre bien aimé Universal Analytics (GA3 pour les intimes), il était facile de mettre en place des filtres pour exclure tout ou partie de votre trafic. Il suffisait donc de déclarer les domaines indésirables et le tour était joué. C’était certes en aval, mais c’était simple, efficace et rapide à mettre en œuvre.

Répertorier les sites référents à ignorer sur GA4

Sur Google Analytics 4 en revanche, impossible de mettre ce type de filtre en place. Il existe bien une fonctionnalité permettant de « répertorier les sites référents à ignorer » mais celle-ci ne va pas répondre totalement au besoin. En effet, l’exclusion des referrers va permettre de retirer la ligne de vos rapports de sources de trafic certes, mais ce trafic sera associé au canal Direct. Vos rapports et dashboards resteront donc impactés par ce trafic imaginaire au niveau du volume d’utilisateurs et de sessions. Seul le trafic interne peut être exclu des rapports sur GA4, et c’est bien dommage.

Il n’existe donc à ce jour, aucune solution proposée nativement par GA4 pour filtrer totalement et efficacement les sites référents de spam.

Ceci n’est pas une solution pour filtrer le spam referrer sur GA4

Quelles solutions techniques ?

Le tracking « full server-side »

Certains TMS comme Tealium proposent nativement du tracking entièrement côté serveur. En d’autres termes, lorsqu’un internaute consulte vos pages, son navigateur appelle votre serveur qui va générer ces pages et en même temps appeler vos partenaires. De cette manière, il est impossible techniquement pour le visiteur de voir, et encore moins bloquer, les appels vers les partenaires en question.

Le setup classique de GTM server-side ne fonctionne pas sur ce système full-server. sGTM repose plutôt sur le endpoint de collecte de GA4 côté navigateur. Autrement dit, vos appels GA4 sont en réalité des appels vers votre infrastructure serveur GTM, et sGTM appelle ensuite GA4 côté serveur. C’est ce qu’on appelle un tracking serveur hybride, que je vais aborder plus bas dans l’article.

Dans le cas où vous implémenteriez un tracking GTM full server, il faut comprendre que les appels vers GA4 ne seraient pas visibles par les internautes dans leur navigateur. Un bot n’aurait donc aucun moyen technique de scrapper votre site à la recherche de votre ID de collecte de GA4. Toutefois, un bot qui enverrait de la donnée de spam sur des IDs GA4 générés aléatoirement, pourrait toujours vous atteindre sans que vous ne puissiez le filtrer.

Solution fonctionnelle mais complexe à mettre en place

Le tracking « server-side hybride »

Le tracking hybride serveur est le fonctionnement de base de sGTM. Le setup standard repose sur un GTM Web qui appelle un GTM server. On a donc un GTM dans le navigateur qui appelle un GTM côté serveur. Les appels vers vos partenaires sont bien effectués côté serveur, mais votre infrastructure elle-même dépend infine du Front. C’est en ça que c’est un tracking hybride.

Le tracking hybride étant le setup standard de sGTM, la plupart des annonceurs « un peu sérieux » l’ont mis en place, ou envisagent de le faire à court / moyen terme. C’est donc une solution viable pour bloquer le spam referrer, je vous explique comment faire.

Dans un setup basique, votre GTM Web appelle GA4 avec un ID de mesure, et votre GTM serveur fait le relais à GA4 en utilisant ce même ID de mesure. Dans ce cas, on comprend que l’ID de mesure est exposé côté navigateur, en Front, et donc localisable par des bots. Pour éviter cela, on peut imaginer créer 2 propriétés GA4. Une propriété qui ne collectera jamais rien, et la véritable propriété qui collectera les données de votre site. En Front, vous appelez GA4 avec l’ID de mesure de la première propriété, et côté serveur, vous re-routez les hits vers l’ID de mesure la seconde propriété. C’est bête et méchant, mais ça fonctionne et c’est très simple à mettre en place si votre sGTM est déjà live.

Configuration de la balise de Configuration GA4 côté Web avec l’ID de mesure #1 (le faux)
Configuration de la balise de Configuration GA4 côté Serveur avec l’ID de mesure #2 (le vrai)

Attention tout de même à un point, il faut vous assurer que la configuration des propriétés soit la même des deux côtés. En effet, le contenu de la librairie client de GA4 (gtag.js) change en fonction des paramétrages appliqués dans l’interface. Par exemple, si vous retirez la collecte automatique des événements, vous remarquerez que le JS va légèrement réduire en poids. Dans le setup hybride, la collecteur côté serveur se basant sur le Front, il est donc important qu’il y ait une cohérence dans la configuration de vos deux propriétés.

A noter qu’ici aussi, vous serez à la merci des bots qui enverraient des hits au hasard.

PS : Merci à Romain Trublard qui a soufflé l’idée en commentaire sur mon post LinkedIn.

Solution fonctionnelle et facile à mettre en place

Utiliser la modification d’événements

Depuis l’interface de GA4, il est possible de modifier à la volée des événements pour par exemple changer leur nom ou les paramètres qui leurs sont associés. On pourrait ainsi imaginer mettre en place le setup suivant :

  1. Dans Google Tag Manager, ajouter un paramètre d’événements dans l’ensemble des appels GA4. Par exemple : event_src=gtm
  2. Dans l’interface GA4, utiliser la fonctionnalité de modifications d’events pour dire que si event_src n’est pas égal à « gtm » alors traffic_type=internal
  3. Dans GA4 toujours, appliquer un filtre pour filtrer le trafic interne

Malheureusement, le filtrage du trafic interne est appliqué avant les modifications d’events et cette idée ne fonctionne donc pas.

Ceci n’est pas une solution pour filtrer le spam referrer sur GA4

Configurer une clé API

Cette solution a été proposée dans les commentaires de mon post LinkedIn, mais de ce que j’en comprends, elle n’est pas applicable. En effet, une clé API configurable depuis l’interface GA4 ne sert qu’à la mise en place du Measurement Protocol (méthode d’envoi de données depuis une API vers Google Analytics, souvent utilisé pour envoyer de la donnée offline). Or, lorsque l’on installe GA4 sur un site de façon classique, ce n’est pas le Measurement Protocol qui est utilisé. Cette solution reboucle infine avec la solution du tracking « full server-side ».

Ceci n’est pas une solution pour filtrer le spam referrer sur GA4

Quelle solution retenir ?

En conclusion, seul le tracking serveur via sGTM peut vous aider pour filtrer le trafic de bots dans vos sites référents. Que ce soit le tracking hybride ou le tracking full serveur, les deux vous permettront de masquer votre véritable ID GA4 au public et donc de minimiser les risques d’attaque.

Espérons que les équipes Google mettent en place une vraie solution native, et plus complète à terme.

Dernières publications

Retrouvez les dernières actualités webmarketing partagées sur le Blog de Morgan Fabre

Etude Google sur la performance de campagnes Display utilisant les API Privacy Sandbox
Etude Google sur la performance de campagnes Display utilisant les API Privacy Sandbox
Google avance sur la Privacy Sandbox Google a annoncé revenir en arrière quant à la dépréciation forcée des cookies tiers. A la place, on semble se diriger vers une alternative où les utilisateurs auront le choix entre leurs mains concernant le fait de maintenir les cookies tiers ou ...
Blog Display
Il y a 2 jours
La fin des cookies tiers peut-elle arriver plus vite que prévu ?
La fin des cookies tiers peut-elle arriver plus vite que prévu ?
Coup de tonnerre dans le petit monde du digital ! Google renoncerait à mettre fin aux cookies tiers sur Chrome ? Tout le monde s’agite fortement sur LinkedIn depuis hier suite à une communication officielle de Google, et plus particulièrement de l’équipe en charge du ...
Blog Display, Google Tag Manager
Il y a 2 jours
Intégration Meta x GA4
Intégration Meta x GA4
J’en parlais il y a 1 mois sur LinkedIn, Meta propose désormais une intégration avec Google Analytics 4. A l’époque, les promesses de cette nouvelle fonctionnalité n’étaient pas encore totalement claires, elles le sont maintenant davantage puisque l’intégration ...
Blog Google Analytics, Meta (Facebook / Instagram)
Il y a 5 jours

Et si on travaillait ensemble ?

Vous recherchez un consultant freelance ?
Vous avez un besoin de recrutement en CDI ou en Freelance ?
Très réactif, je réponds en moins de 24 heures