Installer une CMP sur WordPress : plugin, balise JavaScript ou Google Tag Manager ?

Il existe plusieurs façons d’installer une CMP sur WordPress. La plus évidente est d’utiliser un plugin, mais il est également possible d’ajouter directement une balise JavaScript dans le site ou de passer par Google Tag Manager.

Les trois méthodes peuvent fonctionner. Elles ne donnent cependant pas exactement le même contrôle sur l’ordre de chargement, la maintenance et les services qui doivent être bloqués avant le consentement.

Pour moi, le critère principal n’est donc pas de choisir la méthode la plus simple à installer. C’est de savoir laquelle permet à la CMP d’être exécutée suffisamment tôt pour faire correctement son travail.

Le plugin WordPress : la solution la plus simple

Pour beaucoup de sites, le plugin est le choix logique. L’installation se fait depuis l’administration WordPress et il n’est pas nécessaire de modifier le thème ou d’ajouter manuellement du code.

Il faut toutefois distinguer deux types de plugins. Certaines CMP fonctionnent directement dans WordPress et utilisent le plugin pour une grande partie de leur configuration. D’autres utilisent simplement le plugin comme méthode d’installation d’une CMP externe.

C’est le cas de tarteaucitron Pro. L’extension officielle tarteaucitron disponible sur WordPress.org permet de renseigner l’identifiant du compte et ajoute le marqueur nécessaire dans la page. La configuration reste ensuite gérée depuis la console tarteaucitron.io.

L’avantage est que le fonctionnement de la CMP ne dépend pas réellement de WordPress. Le plugin facilite l’installation, mais la même CMP peut être utilisée sur un autre CMS ou sur un site développé sans CMS.

Le point important : où le plugin injecte-t-il la CMP ?

Installer une CMP avec un plugin ne garantit pas automatiquement qu’elle sera chargée au bon endroit. Ce qui compte est la position finale du script dans le HTML généré par WordPress.

Une CMP qui doit bloquer automatiquement des trackers doit être exécutée avant eux. Si une extension, le thème ou un autre outil injecte GA4 avant la CMP, le navigateur peut commencer à communiquer avec Google avant que la CMP puisse intervenir.

C’est pour cette raison que l’ordre de chargement est une règle fondamentale. WordPress masque parfois cette complexité parce que plusieurs extensions peuvent chacune ajouter leurs propres scripts dans le <head>.

Ajouter directement la balise JavaScript

La deuxième méthode consiste à intégrer directement la balise JavaScript fournie par la CMP. Elle peut être ajoutée dans le thème, dans un thème enfant, dans un emplacement prévu par le CMS ou avec un outil permettant d’injecter du code dans le <head>.

Cette méthode est simple techniquement et donne un contrôle assez clair sur l’emplacement du marqueur. Elle évite également d’installer une extension WordPress uniquement pour ajouter quelques lignes de HTML.

Elle demande en revanche de savoir où le code a été ajouté. Lors d’un changement de thème ou plusieurs années après l’installation, il faut pouvoir retrouver facilement cette intégration.

Je préfère toujours une installation dont l’emplacement est évident et documenté plutôt qu’un morceau de JavaScript caché dans une option oubliée d’un thème.

Plugin ou balise JavaScript : le résultat peut être identique

Lorsqu’un plugin ne fait qu’injecter la balise d’une CMP SaaS, la différence avec une installation JavaScript manuelle est finalement assez faible.

Dans les deux cas, le navigateur reçoit une balise qui charge la CMP. Le plugin apporte surtout une méthode d’installation plus familière aux utilisateurs de WordPress et évite de modifier directement le site.

Le choix peut donc simplement dépendre de la manière dont le site est maintenu. Pour un client qui gère ses extensions depuis WordPress, le plugin est souvent plus lisible. Pour un développeur qui contrôle déjà le code du site, la balise directe peut être tout aussi propre.

Et Google Tag Manager ?

Google Tag Manager permet lui aussi d’injecter du JavaScript dans un site. Il peut donc sembler naturel de l’utiliser pour charger la CMP.

Je trouve cette approche beaucoup plus délicate. Une CMP est justement censée contrôler des services tiers, et GTM est souvent le conteneur qui charge une partie de ces services.

Faire dépendre la CMP du chargement de GTM crée donc une relation qu’il faut parfaitement maîtriser : GTM doit être disponible, son conteneur doit être exécuté et la balise CMP doit partir avant les trackers qu’elle est censée contrôler.

Plus la chaîne est longue, plus il devient difficile de garantir l’ordre réel d’exécution dans le navigateur.

Je préfère charger la CMP indépendamment de GTM

Dans la plupart des configurations, je préfère donc que la CMP soit chargée directement par le site, via le plugin WordPress ou une balise JavaScript placée suffisamment tôt.

GTM peut ensuite être contrôlé par la CMP, ou être utilisé avec une configuration de consentement adaptée. Cela donne une hiérarchie beaucoup plus simple : la CMP connaît le choix du visiteur, puis les outils marketing et analytiques réagissent à ce choix.

L’inverse me semble moins naturel. Charger d’abord l’outil qui distribue les trackers pour lui demander ensuite de charger l’outil chargé de les contrôler ajoute une dépendance inutile.

J’ai détaillé un autre aspect de ce problème dans mon article sur GTM et le consentement en cascade.

L’utilisation de Google Tag Manager est souvent associée à Google Consent Mode v2. Cela peut donner l’impression que GTM doit nécessairement charger la CMP pour que l’ensemble fonctionne.

Ce n’est pas le cas. Le rôle de la CMP est de recueillir et transmettre le choix. GTM, les balises Google qu’il contient et les états de Consent Mode sont des éléments distincts.

Une CMP chargée directement dans le site peut parfaitement gérer Consent Mode. tarteaucitron le prend par exemple en charge aussi bien dans sa version open source que dans sa version Pro.

Le sujet mérite d’être séparé de la simple méthode d’installation. J’explique cette distinction plus précisément dans mon guide Google Consent Mode v2.

Vérifier le résultat dans les DevTools

Quelle que soit la méthode choisie, je termine par la même vérification : j’ouvre les outils de développement du navigateur.

Je regarde où la CMP apparaît dans le DOM, quelles requêtes sont envoyées avant tout choix et si les services concernés restent réellement bloqués. Ensuite, je teste un refus puis une acceptation.

Cette vérification permet aussi de repérer les intégrations en double. Un plugin peut par exemple configurer correctement GA4 dans la CMP alors qu’une autre extension WordPress continue à charger directement le même tracker.

Dans ce cas, le bandeau fonctionne mais le résultat technique n’est pas celui attendu. J’ai consacré un article complet à cette vérification.

Quelle méthode choisir sur WordPress ?

Pour la majorité des sites WordPress, je choisirais le plugin lorsqu’il est maintenu et qu’il place correctement la CMP suffisamment tôt dans la page. C’est généralement la solution la plus simple à comprendre et à maintenir. Pour tarteaucitron, le plugin peut être installé directement depuis WordPress.org ou depuis l’administration WordPress.

Une balise JavaScript directement intégrée est tout aussi valable lorsqu’un développeur maîtrise le site et souhaite limiter le nombre d’extensions WordPress.

Je réserverais l’installation via Google Tag Manager aux configurations où cette architecture est réellement nécessaire et maîtrisée. Elle ajoute un intermédiaire précisément à un endroit où l’ordre de chargement est critique.

Au final, plugin ou JavaScript importe moins que le résultat : la CMP doit être présente avant les services qu’elle doit contrôler. C’est ce point que je vérifierais avant tout le reste.

Envie de configurer tarteaucitron.io pour votre site ?
Accédez à votre dashboard et configurez directement votre gestion du consentement.
Ouvrir mon dashboard