function pushButtonGtm(eventLabel) { dataLayer.push({ 'shortcodeType': 'button', 'event': 'GA Button Shortcode Event', 'eventLabel': eventLabel }); } var _btn = document.querySelectorAll("[data-gtm]"); var forEachHelper = function (array, callback, scope) { for (var i = 0; i < array.length; i++) { callback.call(scope, i, array[i]); // passes back stuff we need } }; forEachHelper(_btn, function (index, value) { value.addEventListener("click", function (e) { var gtmData = e.srcElement.dataset.gtm; var isShortcode = e.srcElement.dataset.shortcode; if (isShortcode !== undefined && isShortcode !== null) { if (gtmData !== null || gtmData !== undefined) { pushButtonGtm(gtmData); } } }); });