Google Tag Manager WordPress : comment l’installer et le configurer pas à pas

Google Tag Manager est l’outil qui vous permet de gérer tous vos scripts de tracking depuis une interface centralisée, sans toucher au code de votre site à chaque modification. Pixel Facebook, GA4, Google Ads, scripts de heatmap, balises de conversion : plutôt que d’ajouter chaque script dans le code WordPress ou via des plugins séparés, GTM les centralise tous dans un conteneur unique. Une fois GTM installé, vous ajoutez ou modifiez des scripts depuis l’interface GTM sans jamais rouvrir votre thème WordPress.Ce guide couvre l’installation complète de GTM sur WordPress, la configuration de GA4 via GTM, le mode de débogage, l’impact sur les performances et la conformité RGPD. Si vous cherchez à installer GA4 directement sans passer par GTM, consultez mon article sur Google Analytics 4 WordPress sans plugin. Et pour tout ce qui touche au SEO WordPress de façon globale, mon guide SEO WordPress complet est la référence.

Qu’est-ce que Google Tag Manager et pourquoi l’utiliser sur WordPress

GTM est un système de gestion de balises (tag management system) développé par Google. Une balise (ou tag) est un extrait de code JavaScript que vous ajoutez à votre site pour collecter des données ou déclencher des actions : suivi des pages vues, enregistrement des clics sur un bouton, mesure des conversions publicitaires, activation d’un chat en direct.

Le problème que GTM résout

Sans GTM, chaque nouveau script de tracking nécessite une intervention dans le code de votre site WordPress : modification du thème, ajout d’un plugin dédié, ou appel à un développeur. Sur un site actif avec plusieurs outils marketing, cette accumulation de scripts directement dans le code génère trois problèmes :

  • Des scripts chargés sur toutes les pages même quand ils ne sont utiles que sur certaines, ce qui alourdit inutilement le chargement
  • Des risques de conflits entre plugins qui gèrent chacun leurs propres scripts
  • Une dépendance technique pour chaque modification : ajouter un paramètre de suivi ou tester une nouvelle balise nécessite une intervention sur le code

GTM résout ces trois problèmes : vous installez GTM une seule fois sur WordPress, et ensuite toute la gestion des scripts se fait depuis l’interface GTM, sans toucher au code du site.

Les composants de GTM à connaître

  • Le conteneur : c’est le script GTM lui-même, installé sur votre site. Il contient toutes vos balises et les charge selon vos règles.
  • Les balises (tags) : les scripts que vous voulez exécuter. GA4, Google Ads, Pixel Facebook, Hotjar, etc.
  • Les déclencheurs (triggers) : les conditions qui activent une balise. « Toutes les pages », « clic sur ce bouton », « scroll à 50% », « formulaire soumis ».
  • Les variables : des valeurs dynamiques utilisées dans les balises et les déclencheurs. URL de la page, valeur d’un champ de formulaire, identifiant produit WooCommerce.

GTM est-il fait pour tous les sites WordPress ?

GTM est pertinent si vous avez plusieurs scripts de tracking à gérer ou si vous avez besoin de flexibilité pour modifier vos balises sans développeur. Pour un site simple avec seulement GA4 à installer, GTM ajoute une couche de complexité qui n’est pas toujours justifiée : installer GA4 directement via le functions.php ou un plugin léger est souvent suffisant et plus simple à maintenir.

Créer son compte GTM et récupérer l’ID de conteneur

Avant d’installer quoi que ce soit sur WordPress, vous devez créer votre compte GTM et votre conteneur.

Rendez-vous sur tagmanager.google.com et connectez-vous avec votre compte Google. Cliquez sur « Créer un compte ». GTM vous demande :

  • Nom du compte : votre nom d’entreprise ou de projet. Un compte peut contenir plusieurs conteneurs (un par site ou par application).
  • Pays : sélectionnez la France ou votre pays.
  • Nom du conteneur : l’URL de votre site WordPress, par exemple pascalmalapert.fr.
  • Type de plateforme : sélectionnez « Web ».

Cliquez sur « Créer ». GTM affiche immédiatement les deux extraits de code à installer sur votre site. La fenêtre affiche aussi votre identifiant de conteneur sous la forme GTM-XXXXXXX. Notez-le : c’est lui que vous utiliserez dans les méthodes d’installation ci-dessous.

Ne fermez pas cette fenêtre sans avoir noté l’ID ou copié les codes. Vous pouvez y accéder à nouveau depuis Admin > Installer Google Tag Manager dans l’interface GTM.

Installer GTM sur WordPress avec le plugin GTM4WP (recommandé)

GTM4WP (Google Tag Manager for WordPress) est le plugin dédié à GTM le plus utilisé sur WordPress. Il place automatiquement les deux extraits de code GTM aux bons endroits (dans le <head> et immédiatement après la balise <body>) et ajoute des fonctionnalités avancées pour le suivi e-commerce WooCommerce.

Installation

Dans votre tableau de bord WordPress, allez dans Extensions > Ajouter une extension. Recherchez « GTM4WP » ou « Google Tag Manager for WordPress ». Installez et activez l’extension développée par Thomas Geiger. Une fois activée, allez dans Réglages > Google Tag Manager.

Configuration de base

  • Dans le champ « Google Tag Manager ID », entrez votre identifiant de conteneur GTM-XXXXXXX
  • Laissez le placement sur « Header » : le script GTM sera chargé dans le <head> de chaque page, ce qui est la configuration recommandée par Google
  • Activez l’option « Enable noscript in body » pour que le snippet <noscript> soit bien ajouté immédiatement après la balise <body>, comme le requiert Google

Options avancées GTM4WP

GTM4WP propose des options supplémentaires utiles selon votre configuration :

  • DataLayer pour WooCommerce : active automatiquement l’envoi des données e-commerce (produits consultés, ajouts au panier, transactions) dans le dataLayer GTM. Indispensable si vous voulez suivre les conversions WooCommerce via GA4 ou Google Ads sans coder manuellement les événements.
  • Exclure les administrateurs : option pour ne pas envoyer de données de tracking quand un administrateur WordPress navigue sur le site, ce qui évite de polluer vos analytics avec vos propres visites.
  • Compatibilité avec les plugins de cache : GTM4WP est compatible avec les principaux plugins de cache WordPress (WP Rocket, W3 Total Cache, LiteSpeed Cache). Vérifiez que votre plugin de cache est bien dans la liste de compatibilité si vous rencontrez des problèmes d’affichage du snippet.

Installer GTM sans plugin : functions.php du thème enfant

Si vous préférez éviter un plugin supplémentaire, vous pouvez installer GTM directement via le fichier functions.php de votre thème enfant. Cette méthode est plus légère et donne un contrôle total sur le placement du code.

Ajoutez ce code dans le functions.php de votre thème enfant en remplaçant GTM-XXXXXXX par votre ID de conteneur :

// GTM - snippet head
function pascalmalapert_gtm_head() {
    ?>
    <!-- Google Tag Manager -->
    <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
    new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
    j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
    'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
    })(window,document,'script','dataLayer','GTM-XXXXXXX');</script>
    <!-- End Google Tag Manager -->
    



    <!-- Google Tag Manager (noscript) -->
    <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-XXXXXXX"
    height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
    <!-- End Google Tag Manager (noscript) -->
    <?php
}
add_action( 'wp_body_open', 'pascalmalapert_gtm_body', 1 );

Le hook wp_body_open est disponible depuis WordPress 5.2. Si votre thème ne le supporte pas (thèmes très anciens), vous devrez ajouter manuellement le snippet noscript dans le fichier header.php du thème enfant, immédiatement après la balise <body>.

Configurer GA4 dans GTM : balise et déclencheur

Une fois GTM installé sur WordPress, vous pouvez ajouter vos premières balises depuis l’interface GTM. La plus courante : la configuration GA4.

Créer la balise GA4 dans GTM

Dans votre interface GTM, allez dans Balises > Nouvelle. Cliquez sur « Configuration de la balise » et sélectionnez « Google Analytics : Configuration GA4 ». Dans le champ « ID de mesure », entrez votre identifiant GA4 qui commence par G-XXXXXXXXXX (à récupérer dans votre propriété GA4 > Flux de données).

Descendez dans la section « Déclenchement » et cliquez sur le bouton « + » pour ajouter un déclencheur. Sélectionnez « All Pages » (Toutes les pages). Cette balise sera donc envoyée sur chaque page de votre site WordPress.

Donnez un nom clair à votre balise (« GA4 – Configuration ») et cliquez sur Enregistrer.

Publier le conteneur

Les balises créées dans GTM ne sont pas actives immédiatement : elles sont dans un état « brouillon » jusqu’à ce que vous publiiez le conteneur. Cliquez sur le bouton « Envoyer » en haut à droite de l’interface GTM, choisissez « Publier », donnez un nom à la version (ex : « GA4 configuration initiale ») et cliquez sur « Publier ».

À partir de ce moment, votre balise GA4 est active sur votre site WordPress. Vérifiez dans GA4 > Rapports > Temps réel que les visites sont bien trackées.

Utiliser le mode Preview pour vérifier ses tags avant publication

Le mode Preview de GTM est votre meilleur outil pour vérifier qu’une balise fonctionne correctement avant de la publier à tous les visiteurs. C’est une étape indispensable que beaucoup de guides omettent.

Dans l’interface GTM, cliquez sur « Aperçu » en haut à droite. GTM vous demande l’URL de votre site WordPress. Entrez-la et cliquez sur « Connecter ». Une fenêtre s’ouvre sur votre site avec le mode debug actif, et l’interface GTM affiche en bas de l’écran toutes les balises qui se déclenchent sur chaque page.

Ce que vous pouvez vérifier en mode Preview :

  • Quelles balises se déclenchent sur quelle page (colonne « Tags Fired »)
  • Quelles balises ne se déclenchent pas et pourquoi (colonne « Tags Not Fired »)
  • Le contenu du dataLayer sur chaque événement : utile pour vérifier que les données WooCommerce (nom du produit, prix, ID) sont correctement transmises
  • La séquence des événements dans l’ordre chronologique de chargement de la page

Ne publiez jamais une nouvelle balise sans l’avoir testée en mode Preview. Une balise mal configurée peut dupliquer des données, envoyer des events incorrects ou provoquer des erreurs JavaScript qui affectent l’expérience utilisateur.

GTM et performance WordPress : impact SEO et comment le limiter

C’est l’angle que tous les guides d’installation GTM ignorent. GTM a un impact réel sur les performances de votre site WordPress, et par extension sur vos Core Web Vitals et votre classement SEO. Ignorer cet impact revient à résoudre un problème de gestion des scripts en en créant un autre de performance.

L’impact de GTM sur le LCP

Le script principal de GTM est chargé de façon asynchrone (async), ce qui signifie qu’il ne bloque pas le rendu de la page. En théorie, son impact sur le LCP devrait être minimal. En pratique, GTM charge ensuite les balises qu’il contient, et certaines de ces balises peuvent être synchrones ou déclencher des ressources tierces lourdes : polices externes, scripts de chat en direct, pixels publicitaires. C’est souvent l’accumulation de ces ressources tierces chargées via GTM qui dégrade les Core Web Vitals, pas GTM lui-même.

Bonnes pratiques pour limiter l’impact de GTM sur les performances

  • Auditez régulièrement vos balises GTM actives : supprimez les balises de services que vous n’utilisez plus. Une balise inactive dans GTM continue à charger ses ressources si elle est publiée dans le conteneur.
  • Conditionnez les balises aux pages où elles sont utiles : le pixel Facebook n’a pas à charger sur vos articles de blog si vous ne faites pas de retargeting sur ce contenu. Créez des déclencheurs spécifiques plutôt que d’utiliser « All Pages » pour toutes vos balises.
  • Utilisez le déclencheur « DOM prêt » ou « Fenêtre chargée » pour les balises non critiques : les scripts de chat en direct, de heatmap ou de feedback utilisateur n’ont pas besoin de se charger immédiatement. Configurez leur déclencheur sur « Window Loaded » pour les charger après le rendu complet de la page, ce qui préserve le LCP.
  • Testez l’impact avec PageSpeed Insights avant et après : ajoutez vos balises progressivement et mesurez l’impact de chaque ajout sur le score de performance. Une balise qui dégrade significativement le LCP mérite une reconfiguration de son déclencheur. Pour comprendre les métriques Core Web Vitals en détail, consultez mon article sur les Core Web Vitals WordPress.
  • Envisagez GTM côté serveur pour les sites e-commerce : le GTM server-side (via Stape.io ou une configuration sur mesure) déplace l’exécution des tags vers un serveur externe, éliminant leur impact sur le navigateur du visiteur. C’est une solution avancée, mais elle résout définitivement les problèmes de performance liés aux scripts tiers.

GTM et RGPD sur WordPress : consentement et blocage conditionnel

GTM et le RGPD sont une combinaison qui nécessite une configuration soigneuse. Par défaut, GTM charge toutes vos balises dès le chargement de la page, avant même que le visiteur ait donné son consentement. C’est une violation du RGPD pour les balises qui collectent des données personnelles (GA4, pixels publicitaires, outils de personnalisation).

Comment bloquer GTM jusqu’au consentement

La solution recommandée est d’utiliser un outil de gestion du consentement (CMP) compatible GTM. Les plus courants en France :

  • Axeptio : solution française, interface conviviale, intégration native avec GTM via le mode Consent de Google. Propose une version gratuite pour les petits sites et une version payante pour les fonctionnalités avancées.
  • Cookiebot : solution danoise très complète, scan automatique des cookies du site, intégration GTM via Consent Mode. Tarif à partir de 9€/mois.
  • Tarteaucitron : solution open source française, gratuite, intégration GTM possible mais moins fluide que les solutions commerciales.

Google Consent Mode v2

Depuis mars 2024, Google impose aux sites utilisant GA4 et Google Ads en Europe de mettre en place le Consent Mode v2. Ce mécanisme permet à GTM de recevoir les signaux de consentement de votre CMP et d’adapter le comportement de chaque balise en conséquence : les balises peuvent fonctionner en mode dégradé (sans données personnalisées) tant que le consentement n’est pas donné, puis passer en mode complet une fois le consentement accordé.

La configuration du Consent Mode v2 se fait dans GTM en ajoutant une balise de initialisation du consentement avant toutes les autres balises. Axeptio et Cookiebot proposent des templates GTM prêts à l’emploi pour cette configuration, ce qui simplifie considérablement la mise en place.

GTM vs plugin SEO : ce qu’on peut centraliser et ce qu’il ne faut pas toucher

Une question revient fréquemment une fois GTM installé : est-ce qu’on peut supprimer les plugins qui gèrent d’autres scripts, voire le plugin SEO lui-même, et tout centraliser dans GTM ? La réponse est nuancée.

Ce qu’on peut gérer via GTM

  • GA4 et toutes les propriétés Google Analytics
  • Google Ads : conversion tracking et remarketing
  • Pixel Meta (Facebook) et Instagram
  • LinkedIn Insight Tag
  • Scripts de chat en direct (Intercom, Crisp, Zendesk)
  • Outils de heatmap et session recording (Hotjar, Microsoft Clarity)
  • Scripts de A/B testing (AB Tasty, VWO)
  • Scripts d’affiliation et de tracking partenaires

Ce qu’il ne faut surtout pas toucher avec GTM

Rank Math et Yoast SEO ne doivent pas être remplacés par GTM, même partiellement. Ces plugins gèrent des éléments critiques qui sont rendus côté serveur (dans le HTML de la page avant qu’il soit envoyé au navigateur) et non côté client comme GTM :

  • Les balises title et meta description : elles doivent être dans le HTML source de la page pour être lues par Google lors du crawl. GTM les injecterait via JavaScript après le chargement, trop tard pour le crawler.
  • Les données structurées Schema.org : même raison. Le JSON-LD doit être présent dans le HTML source, pas injecté par JavaScript.
  • Le sitemap XML : généré côté serveur, pas gérable via GTM.
  • Les balises hreflang : doivent être dans le HTML source pour être lues par Google.
  • Les balises canoniques : idem, doivent être présentes dans le head HTML au moment du crawl.

Gardez votre plugin SEO (Rank Math ou Yoast) pour tout ce qui touche au HTML source et à la structure SEO. Pour choisir le bon plugin SEO pour votre site, consultez mon article sur les meilleurs plugins WordPress SEO. Utilisez GTM exclusivement pour les scripts de tracking et marketing. Les deux coexistent sans conflit si vous évitez de dupliquer des fonctions (par exemple, ne configurez pas GA4 à la fois dans Rank Math ET dans GTM).

Pour aller plus loin sur l’optimisation SEO de votre site WordPress, consultez mon guide d’audit SEO WordPress ou ma page consultant SEO WordPress freelance pour un accompagnement sur mesure.