Google Tag Manager sur WordPress : Installation et configuration complète
Ce guide couvre l'installation de Google Tag Manager sur WordPress via le plugin GTM4WP et via functions.php. Testez toujours en environnement de staging avant de modifier des fichiers PHP en production.
Plugin GTM4WP, méthode manuelle via functions.php, intégration WooCommerce, Consent Mode v2 et erreurs fréquentes — guide technique complet.
Google Tag Manager WordPress · GTM WordPress · installer GTM WordPress · plugin GTM WordPress · GTM4WP · GTM WooCommerce
3 méthodes d'installation — laquelle choisir ?
| Méthode | Difficulté | Avantages | Inconvénients | Recommandé pour |
|---|---|---|---|---|
| Plugin GTM4WP | ⭐ Facile | Placement automatique correct des 2 snippets, intégration WooCommerce, 2M+ installations actives | Incompatible avec Elementor Pro sur pages WooCommerce personnalisées | La grande majorité des cas — sauf Elementor Pro + WooCommerce custom |
| functions.php (thème enfant) | ⭐⭐⭐ Avancé | Pas de plugin, contrôle total, compatible avec tous les page builders | Risque en production si erreur PHP, perdu si changement de thème sans thème enfant | Développeurs maîtrisant PHP, sites avec Elementor Pro |
| Elementor Pro → Custom Code | ⭐⭐ Moyen | Interface Elementor, pas de plugin supplémentaire, survit aux mises à jour du thème | Nécessite Elementor Pro | Sites utilisant Elementor Pro sans WooCommerce complexe |
| Insert Headers and Footers | ⭐⭐ Moyen | Simple, ne touche pas au thème | Ne place que le snippet head — le snippet body (noscript) est souvent oublié | Solution de dépannage rapide |
<head> (JavaScript) et un pour le <body> (balise <noscript>). Le second assure le tracking des utilisateurs qui ont désactivé JavaScript. GTM4WP place les deux correctement — la plupart des solutions alternatives n'injectent que le premier.www.googletagmanager.com/gtm.js), indépendamment de la qualité de votre installation. Une installation correcte est nécessaire mais non suffisante — si vous avez besoin de récupérer ces données, le tracking server-side est la seule solution fiable. Source : Seresa, analyse Lumar 2025.Plugin GTM4WP — installation pas à pas
GTM4WP (Google Tag Manager for WordPress) de Thomas Geiger est le plugin de référence avec plus de 2 millions d'installations actives.
Étape préalable — créer votre compte GTM
Si vous n'avez pas encore de compte GTM : rendez-vous sur tagmanager.google.com, créez un compte, puis un conteneur de type Web. Votre ID conteneur ressemble à GTM-XXXXXXX.
-
1Installer le plugin GTM4WP
WordPress : Extensions → Ajouter une extension. Cherchez
GTM4WP. Le plugin s'appelle Google Tag Manager for WordPress, auteur Thomas Geiger. Cliquez sur Installer maintenant puis Activer. -
2Configurer le plugin avec votre ID GTM
Allez dans Réglages → Google Tag Manager. Dans le champ Google Tag Manager ID, collez votre ID :
GTM-XXXXXXX. Vérifiez que Placement du conteneur est sur "En dessous de la balise body ouvrante". Cliquez sur Enregistrer les modifications. -
3Activer l'intégration WooCommerce (si applicable)
Dans les réglages GTM4WP → onglet WooCommerce → activez "Activer l'intégration WooCommerce". Cela pousse automatiquement les événements e-commerce dans le dataLayer au format GA4. Important : si vous utilisez Elementor Pro pour personnaliser la page de confirmation de commande, vérifiez que l'événement
purchasese déclenche bien — GTM4WP peut ne pas détecter la commande dans ce contexte (voir section WooCommerce ci-dessous). -
4Vérifier l'installation via GTM Preview
Dans GTM, cliquez sur Aperçu. Entrez l'URL de votre site WordPress. Un nouvel onglet s'ouvre avec le panneau Tag Assistant. Vous devez voir "Google Tag Manager trouvé". Si ce message n'apparaît pas, voir la section erreurs fréquentes.
-
5Publier le conteneur
Dans GTM : Envoyer → Publier. Donnez un nom à cette version (ex: "Installation initiale"). Le conteneur est maintenant live.
Installation manuelle — functions.php ou Elementor Pro
Via functions.php (thème enfant)
Travaillez impérativement sur un thème enfant — les modifications du thème parent sont écrasées à chaque mise à jour.
// Google Tag Manager — snippet head
function tq_gtm_head() { ?>
<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>
<?php }
add_action('wp_head', 'tq_gtm_head', 1);
// Google Tag Manager — snippet body (noscript)
function tq_gtm_body() { ?>
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-XXXXXXX"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<?php }
add_action('wp_body_open', 'tq_gtm_body', 1);
Remplacez GTM-XXXXXXX par votre ID dans les deux fonctions. Le hook wp_body_open est disponible depuis WordPress 5.2.
Via Elementor Pro → Custom Code (alternative sans plugin)
Si vous utilisez Elementor Pro, vous pouvez injecter GTM sans plugin ni modification de PHP : Elementor → Custom Code → Ajouter du code. Créez deux snippets :
- Snippet 1 : snippet GTM JavaScript → emplacement
<head>→ condition "Tout le site" - Snippet 2 : snippet noscript GTM → emplacement
Début du <body>→ condition "Tout le site"
Cette méthode survit aux mises à jour du thème et est compatible avec tous les templates Elementor, y compris les pages WooCommerce personnalisées.
Vérifier que GTM est bien installé
- Dans GTM, cliquez sur Aperçu et entrez l'URL de votre site
- Le panneau Tag Assistant doit apparaître avec le message "Tag Manager Connected"
- Dans la liste des événements à gauche, vous devez voir Container Loaded comme premier événement
- Si le panneau n'apparaît pas : cache WordPress actif, plugin de sécurité bloquant GTM, ou ID mal saisi
- Sur votre site, faites clic droit → Afficher la source de la page
- Cherchez
GTM-XXXXXXX— il doit apparaître deux fois : une fois dans le<head>et une fois dans le<body> - Si vous ne voyez qu'une occurrence, le snippet body est manquant
- Installez l'extension Chrome Tag Assistant Legacy ou Google Tag Assistant Companion
- Sur votre site, l'extension doit afficher une icône verte avec la mention GTM et votre ID conteneur
- Une icône rouge ou orange indique un problème de configuration ou de chargement
GTM + WooCommerce — dataLayer automatique et limites
L'intégration WooCommerce de GTM4WP pousse automatiquement les événements e-commerce dans le dataLayer sans développement supplémentaire.
| Événement dataLayer | Déclenché quand | Données disponibles |
|---|---|---|
view_item_list | Affichage d'une page catalogue ou catégorie | Liste des produits, catégorie, position |
view_item | Affichage d'une fiche produit | ID produit, nom, prix, catégorie, marque |
add_to_cart | Ajout au panier | Produit, quantité, valeur |
remove_from_cart | Suppression du panier | Produit retiré |
begin_checkout | Début du processus de commande | Contenu du panier, valeur totale |
purchase | Confirmation de commande | transaction_id, valeur, tax, shipping, produits |
purchase ne se déclenche pas. Ce bug affecte les sites avec Hello Elementor + Elementor Pro + WooCommerce — une combinaison très courante. Solution : implémentation manuelle du push DataLayer purchase directement dans la page Elementor Pro via un champ HTML personnalisé, ou switcher vers la méthode Elementor Custom Code pour l'installation GTM. Source : WordPress.org, revue GTM4WP 2025.PayPal et passerelles de paiement tierces : PayPal et d'autres passerelles ne redirigent pas automatiquement l'utilisateur vers votre page de confirmation après le paiement — l'utilisateur peut fermer le navigateur avant. Résultat : l'événement purchase ne se déclenche jamais. Solution : activez le retour automatique dans les paramètres de votre passerelle de paiement, ou utilisez le Measurement Protocol pour envoyer les transactions depuis votre serveur. Source : documentation GTM4WP.
Consent Mode v2 sur WordPress
GTM4WP installe le conteneur GTM — il ne gère pas le Consent Mode v2. La conformité RGPD nécessite une étape supplémentaire.
Ce que GTM4WP ne fait PAS
- Il n'initialise pas les paramètres
analytics_storage,ad_storage,ad_user_dataetad_personalizationsurdenied - Il n'installe pas de bandeau cookie (CMP)
- Il ne bloque pas les balises GTM avant le consentement
La bonne configuration Consent Mode v2 sur WordPress
- Via un template CMP dans GTM (recommandé) : installez Axeptio, Didomi ou Cookiebot, utilisez leur template GTM officiel depuis la galerie de balises. Le template gère automatiquement l'initialisation de la Consent API et la mise à jour après choix de l'utilisateur.
- Via le plugin WordPress de votre CMP : Axeptio et Cookiebot proposent des plugins WordPress qui injectent les signaux de consentement sans passer par GTM. Vérifiez systématiquement via l'onglet Réseau que le paramètre
gcdest présent dans les requêtes — certains plugins omettentad_user_dataetad_personalization.
Guide complet : Consent Mode v2 sur WordPress — configuration et vérification →
Erreurs fréquentes et solutions
| Symptôme | Cause probable | Solution |
|---|---|---|
| Tag Assistant ne détecte pas GTM | Cache WordPress non vidé (WP Rocket, W3 Total Cache, Cloudflare) | Videz le cache WordPress et Cloudflare. Désactivez temporairement le cache pour tester |
| GTM détecté mais aucun événement ne se déclenche | Conteneur GTM publié vide — pas de balises configurées | Dans GTM Preview, vérifiez que des tags apparaissent sous l'événement "Container Loaded" |
| Le snippet noscript n'est pas dans le body | Thème ne supportant pas le hook wp_body_open |
Modifiez manuellement le fichier header.php du thème enfant pour ajouter <?php wp_body_open(); ?> juste après <body> |
| Événement purchase WooCommerce absent dans GTM | Elementor Pro personnalise la page de confirmation WooCommerce — GTM4WP incompatible | Ajouter manuellement le push DataLayer purchase dans la page Elementor, ou utiliser Elementor Custom Code pour l'installation GTM |
| Tracking purchase manquant pour les commandes PayPal | PayPal ne redirige pas l'utilisateur vers la page de confirmation par défaut | Activer le retour automatique dans les paramètres PayPal, ou implémenter via Measurement Protocol côté serveur |
| GTM ralentit le site (score PageSpeed dégradé) | Balises lourdes dans GTM, scripts synchrones, trop de tags sur "Toutes les pages" | Auditez votre conteneur GTM — supprimez les balises inutilisées, utilisez "Window Loaded" pour les balises non critiques |
| Données WooCommerce manquantes dans GA4 | L'intégration WooCommerce de GTM4WP n'est pas activée | Activez l'intégration dans GTM4WP → Réglages → WooCommerce. Vérifiez l'absence de conflit avec MonsterInsights |
| Conflit avec un plugin de sécurité (Wordfence, iThemes) | CSP bloque les scripts externes | Ajoutez www.googletagmanager.com à la liste blanche de votre plugin de sécurité |
Décrivez-nous votre situation.
CMS utilisé, outils Google en place, symptômes observés — plus vous êtes précis, plus notre retour sera concret. Réponse sous 24h.
Parlez-nous de votre projet →Réponse sous 24h · Sans engagement · Devis sur mesure
Questions fréquentes
functions.php du thème enfant, ou via Elementor Pro → Custom Code si vous utilisez Elementor. La méthode Elementor Custom Code est particulièrement recommandée si vous avez déjà Elementor Pro — elle survit aux mises à jour du thème et est compatible avec tous les templates WooCommerce personnalisés.purchase peut ne pas se déclencher — GTM4WP est incompatible avec les templates Elementor Pro sur cette page spécifique. Vérifiez systématiquement dans GTM Preview.