Scroll tracking script for Google Tag Manager / Google Analytics (no jQuery)
<script type="text/javascript">
/* gms.scrolltracking.js | v0.2
www.gandke.de
Copyright (c) 2015 Markus Baersch (@mbaersch)
Licensed under MIT license.
*/
var trackBottomScroll = 0;
var trackScrollStep = 20 ;
var useDataLayer = true ;
window.onscroll = function () {
var docHeight = Math.max(document.body.scrollHeight, document.documentElement.scrollHeight,
document.body.offsetHeight, document.documentElement.offsetHeight,
document.body.clientHeight, document.documentElement.clientHeight);
if (trackBottomScroll < 100 && ((document.documentElement.scrollTop||document.body.scrollTop) >=
(docHeight - window.innerHeight) / 100 * (trackBottomScroll+trackScrollStep)))
try {
trackBottomScroll += trackScrollStep;
if (useDataLayer)
dataLayer.push({'scrollPercentage': trackBottomScroll, 'event': 'updScrollPercentage'});
else
ga('send', 'event', 'Interaction', 'ScrollPercentage', trackBottomScroll.toString());
} catch(e) {}
} ;
</script>