Skip to content

Instantly share code, notes, and snippets.

@Stoltze
Created March 29, 2017 07:04
Show Gist options
  • Save Stoltze/802420385df312c391c314b5039c5544 to your computer and use it in GitHub Desktop.
Save Stoltze/802420385df312c391c314b5039c5544 to your computer and use it in GitHub Desktop.
Include Tag Manager in functions.php
<?php
add_action('wp_head', 'add_tag_manager');
function add_tag_manager() { ?>
<!-- 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 -->
<?php }
add_action('theme_after_body_tag_start', 'add_body_tag_manager');
function add_body_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 }
?>
@fadupla
Copy link

fadupla commented Apr 16, 2018

Thanks for the piece of code @Stoltze. Just for the people who will use it, beware that the hook "theme_after_body_tag_start" is not always present. It depends on the theme.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment