Skip to content

Instantly share code, notes, and snippets.

@wolffe
Created July 16, 2025 08:53
Show Gist options
  • Save wolffe/0a4f042d7e50ec9906dde801dea2edaa to your computer and use it in GitHub Desktop.
Save wolffe/0a4f042d7e50ec9906dde801dea2edaa to your computer and use it in GitHub Desktop.
Allow different GTM containers per WordPress Multisite subsite
<?php
/**
* Plugin Name: Supernova - GTM Multisite
* Plugin URI: https://www.4property.com/
* Description: n/a
* Version: 0.0.1
* Author: 4Property
* Author URI: https://www.4property.com/
* License: GNU General Public License v3 or later
* License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/
add_action( 'wp_head', 'supernova_pp_google_tag_manager_head' );
function supernova_pp_google_tag_manager_head() {
$blog_id = intval( get_current_blog_id() );
$tag_manager = [
97 => 'GTM-XXXXXX1',
98 => 'GTM-XXXXXX2',
99 => 'GTM-XXXXXX3',
];
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;
}
}
add_action( 'wp_footer', 'supernova_pp_google_tag_manager_footer' );
function supernova_pp_google_tag_manager_footer() {
$blog_id = intval( get_current_blog_id() );
$tag_manager = [
97 => 'GTM-XXXXXX1',
98 => 'GTM-XXXXXX2',
99 => 'GTM-XXXXXX3',
];
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) -->';
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment