/* * Absolute Web Intellectual Property * * @copyright Copyright (c) 1999-2022 Absolute Web, Inc. (http://www.absoluteweb.com) * @author Absolute Web * @license http://www.absoluteweb.com/license-agreement/ Single domain license * @terms of use http://www.absoluteweb.com/terms-of-use/ */ define(() => { let isInitialized = false; const options = { gtmScriptUrl: 'https://www.googletagmanager.com/gtm.js?id=GTM-W5PR9SP', gtagScriptUrl: 'https://www.googletagmanager.com/gtag/js?id=UA-122099173-1', optimizeScriptUrl: 'https://www.googleoptimize.com/optimize.js?id=OPT-PN7TMV2', mouseflowScriptUrl: '//cdn.mouseflow.com/projects/98edf6e9-c999-43dd-9f97-e2b439bf3cd4.js' }, fragment = document.createDocumentFragment(); const _initGtm = () => { const script = document.createElement('script'), gtmInitializedEvent = new CustomEvent('gtm-initialized'); window['dataLayer'] = window['dataLayer'] || []; window['dataLayer'].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); script.src = options.gtmScriptUrl; script.async = 1; script.type = 'text/javascript'; fragment.appendChild(script); document.dispatchEvent(gtmInitializedEvent); }; const _initMouseflow = () => { const script = document.createElement('script'); script.src = options.mouseflowScriptUrl; script.async = 1; script.type = 'text/javascript'; fragment.appendChild(script); }; const _initGtag = () => { const script = document.createElement('script'); script.src = options.gtagScriptUrl; script.async = 1; script.type = 'text/javascript'; fragment.appendChild(script); }; const _initGoogleOptimize = () => { const script = document.createElement('script'); script.src = options.optimizeScriptUrl; script.async = 1; script.type = 'text/javascript'; fragment.appendChild(script); }; window.gtag = function () { window.dataLayer.push(arguments); }; ['touchmove', 'mousemove', 'scroll', 'click'].forEach(arrEvent => { document.addEventListener(arrEvent, () => { if (!isInitialized) { isInitialized = true; _initGtm(); _initMouseflow(); _initGtag(); _initGoogleOptimize(); document.body.appendChild(fragment); window.dataLayer = window.dataLayer || []; window.gtag('js', new Date()); window.gtag('config', 'UA-122099173-1'); } }); }); });