Inject Google Tag Manager (GTM) script into HTML with Gulp.
$ npm install gulp-gtm --save-dev
Make sure to enter the correct container ID.
var gulp = require('gulp')
var gtm = require('gulp-gtm')
// Usage:
gulp.task('gtm', function(){
gulp.src('./index.html')
.pipe(gtm({containerId: 'GTM-1234'}))
.pipe(gulp.dest('./'));
});
If you use different dataLayer for each gtm scripts
var gulp = require('gulp')
var gtm = require('gulp-gtm')
// Usage:
gulp.task('gtm', function(){
gulp.src('./index.html')
.pipe(gtm({
containerId: 'GTM-1234',
dataLayerName: 'partnerLayer'
}))
.pipe(gulp.dest('./'));
});
The following code will be insterted directly after the end of head tag:
<!-- 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-XXXX');</script>
<!-- End Google Tag Manager -->
The following code will be insterted directly after the opening body tag:
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-XXXX"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
This snippet is directly from Google Tag Manager's site.