• Passer à la navigation principale
  • Passer au contenu principal
  • Aller à la barre latérale principale

Carlosmdh

  • Migra ahora a Google Analytics 4
  • Blog
  • Brèves
  • Tutoriels
  • Q&A GA4
  • À propos de moi
  • Contact

Comment injecter différents conteneurs Tag Manager dans un Multisite WordPress

25 agosto, 2020

Dans un précédent tutoriel, Comment ajouter le code Google Tag Manager à WordPress, je vous ai laissé un extrait pour ajouter le code Google Tag Manager à votre site Web WordPress, mais que se passe-t-il si vous avez un multisite avec différents sites Web et domaines ?

Dans ce cas, l'intérêt est de pouvoir attribuer un conteneur Google Tag Manager unique à chaque site web, puisque chacun aura une configuration différente. Voyons donc comment faire.

Table des matières

  • Créer dans Google Tag Manager un conteneur pour chaque site web
  • Copiez les identifiants de chaque conteneur à partir de Google Tag Manager
  • Localisez les identifiants de chacun des sites sur votre Multisite WordPress
  • Créer un extrait pour injecter des conteneurs Google Tag Manager dans chaque multi-site
  • Conclusion

Créer dans Google Tag Manager un conteneur pour chaque site web

Tout d'abord, vous devez disposer d'un compte Google Tag Manager. Si vous ne savez pas comment en créer un, allez sur l'aide de Google Tag Manager et suivez les instructions.

Une fois le compte créé, vous devrez ajouter les différents conteneurs pour chaque site, un pour chaque site de votre multisite. Dans le même article d'aide de Tag Manager, vous pouvez voir comment le faire.

Copiez les identifiants de chaque conteneur à partir de Google Tag Manager

Une fois les conteneurs créés, vous disposerez d'un identifiant unique pour chacun d'eux, dans le style de GTM-XXXXXXX. Copiez-les pour un usage ultérieur.

Conteneurs Google Tag Manager

Localisez les identifiants de chacun des sites sur votre Multisite WordPress

L'étape suivante consiste à trouver les identifiants de chaque site web sur votre WordPress Multisite.

Pour ce faire, à partir de votre administrateur WordPress, allez dans "Tous les sites" dans le menu latéral. Une fois là, vous aurez une vue de tous les sites que vous avez dans votre WordPress Multisite. En cliquant sur chacun d'eux, vous verrez un résumé de chaque site et, dans l'url, vous verrez quelque chose comme ceci https://mi-sitio-web.com/wp-admin/network/site-settings.php?id=2.

Identifiant du site web mutisite

L'important pour nous est la fin de cette url "?id=2" qui est ce qui nous montre ce que nous cherchons, l'identifiant de chaque site web dans le multi-site.

Nous faisons la même chose, nous copions l'identifiant de chaque site web.

Créer un extrait pour injecter des conteneurs Google Tag Manager dans chaque multi-site

Une fois que les identifiants des différents sites et les identifiants correspondants de Google Tag Manager ont été identifiés, il est temps de créer un extrait afin d'injecter chaque conteneur dans chaque site web et uniquement pour ce site. Cet extrait devra être ajouté à un mu-plugin ou à notre plugin de fonctionnalités.

<?php
/*
Plugin Name: Inyectar Google Tag Manager en WordPress
Plugin URI: https://carlosmdh.es, https://www.juanmacivico87.com/
Description: Plugin para insertar los Contenedores de Google Tag Manager en un multisite
Version: 2.0.0
Authors: carlosmdh, Juanma Civico
License: GPL 2+
License URI:
*/

// Inyectar el código de Google Tag Manager en el <head>
add_action( 'wp_head', 'carlosmdh_google_tag_manager1' );
function carlosmdh_google_tag_manager1() {
	
    $blog_id = get_current_blog_id();
	$tag_manager = array(
	    '1' 	=> 'GTM-XXXXXX1', // El primer valor define el ID en el multisite y el segundo el Contenedor de  Google Tag Manager de la  Web 1
	    '2' 	=> 'GTM-XXXXXX2', // El primer valor define el ID en el multisite y el segundo el Contenedor de  Google Tag Manager de la  Web 2
	    '3' 	=> 'GTM-XXXXXX3', // El primer valor define el ID en el multisite y el segundo el Contenedor de  Google Tag Manager de la  Web 3
	    '4' 	=> 'GTM-XXXXXX4', // El primer valor define el ID en el multisite y el segundo el Contenedor de  Google Tag Manager de la  Web 4
	    '6' 	=> 'GTM-XXXXXX5', // El primer valor define el ID en el multisite y el segundo el Contenedor de  Google Tag Manager de la  Web 5
	    '13' 	=> 'GTM-XXXXXX6', // El primer valor define el ID en el multisite y el segundo el Contenedor de  Google Tag Manager de la  Web 13
	    '14' 	=> 'GTM-XXXXXX7', // El primer valor define el ID en el multisite y el segundo el Contenedor de  Google Tag Manager de la  Web 14
    );
    
    if(!isset($tag_manager[$blog_id]))
    	return;
    	
    $gtm_code = "<!-- 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', '" . $tag_manager[$blog_id] . "' );</script>
	<!-- End Google Tag Manager -->";
    if ( !is_admin() && $gtm_code ) {
        echo $gtm_code;
    }
}
/* Inyectar el código noscript de Google Tag Manager justo  debajo de la apertura de la etiqueta <body> */
add_action( 'wp_footer', 'carlosmdh_google_tag_manager2' );
function carlosmdh_google_tag_manager2() {
 $blog_id = get_current_blog_id();
	$tag_manager = array(
	    '1' 	=> 'GTM-XXXXXX1', // El primer valor define el ID en el multisite y el segundo el Contenedor de  Google Tag Manager de la  Web 1
	    '2' 	=> 'GTM-XXXXXX2', // El primer valor define el ID en el multisite y el segundo el Contenedor de  Google Tag Manager de la  Web 2
	    '3' 	=> 'GTM-XXXXXX3', // El primer valor define el ID en el multisite y el segundo el Contenedor de  Google Tag Manager de la  Web 3
	    '4' 	=> 'GTM-XXXXXX4', // El primer valor define el ID en el multisite y el segundo el Contenedor de  Google Tag Manager de la  Web 4
	    '6' 	=> 'GTM-XXXXXX5', // El primer valor define el ID en el multisite y el segundo el Contenedor de  Google Tag Manager de la  Web 5
	    '13' 	=> 'GTM-XXXXX13', // El primer valor define el ID en el multisite y el segundo el Contenedor de  Google Tag Manager de la  Web 13
	    '14' 	=> 'GTM-XXXXX14', // El primer valor define el ID en el multisite y el segundo el Contenedor de  Google Tag Manager de la  Web 14
    );
    
    if(!isset($tag_manager[$blog_id]))
    	return;
    	
	echo '<!-- Google Tag Manager (noscript) -->
	<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=' . $tag_manager[$blog_id] . '"
	height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
	<!-- End Google Tag Manager (noscript) -->';
	
}

Comme vous pouvez le voir, nous avons ajouté un tableau qui relie chaque site Web (id) à son conteneur Google Tag Manager. A ce stade, je tiens à remercier Juanma Civico pour son aide.

Il est évident que vous devez modifier les identifiants de chaque site du tableau pour qu'ils correspondent à ceux de votre WordPress Multisite, ainsi que les identifiants des conteneurs du Google Tag Manager qui devraient être ceux que vous avez enregistrés lors de la première étape.

Conclusion

C'est tout pour le moment, comme vous l'avez peut-être remarqué, il est très facile d'ajouter ce code à votre site web sans avoir besoin d'installer un plugin ou d'ajouter le code au fichier functions.php ou au template de tête de votre thème, ce qui n'est pas du tout recommandé.

Si vous avez des questions, vous pouvez me les envoyer via le formulaire de contact.

Aucune catégorie

Barre latérale

Sidebar-Alt

Blog - Snippets - Tutoriels

Politique de confidentialité - Politique en matière de cookies - Modifier votre consentement


carlosmdh © 2023 · Made with par carlosmdh

Nous utilisons des cookies pour vous offrir la meilleure expérience possible sur notre site web.

Puedes aprender más sobre qué cookies utilizamos o desactivarlas en los ajustes.

Carlosmdh
Powered by  GDPR Cookie Compliance
Résumé de la confidentialité

Ce site web utilise des cookies afin de vous offrir la meilleure expérience utilisateur possible. Les informations des cookies sont stockées dans votre navigateur et remplissent des fonctions telles que vous reconnaître lorsque vous revenez sur notre site ou aider notre équipe à comprendre quelles parties du site vous trouvez les plus intéressantes et utiles.

Cookies strictement nécessaires

Les cookies strictement nécessaires doivent toujours être activés afin que nous puissions enregistrer vos préférences en matière de paramètres de cookies.

Si vous désactivez ce cookie, nous ne serons pas en mesure d'enregistrer vos préférences. Cela signifie que chaque fois que vous visiterez ce site web, vous devrez à nouveau activer ou désactiver les cookies.

Cookies de terceros

Esta web utiliza Google Analytics para recopilar información anónima tal como el número de visitantes del sitio, o las páginas más populares.

Dejar esta cookie activa nos permite mejorar nuestra web.

¡Por favor, activa primero las cookies estrictamente necesarias para que podamos guardar tus preferencias!

Cookies adicionales

Esta web utiliza las siguientes cookies adicionales:

(Lista aquí las cookies que estás utilizando en la web.)

¡Por favor, activa primero las cookies estrictamente necesarias para que podamos guardar tus preferencias!

  • Español
  • English