1(emf => { 2 "use strict" 3 4 const ga4Id = 'G-D9P7HC1ET7' 5 6 const dl = [] 7 // window.dataLayer = window.dataLayer || [] 8 window.dataLayer = new Proxy(dl, { 9 set (target, key, value) { 10 if (!['push', 'length'].includes(key)) { 11 // console.debug(`DataLayer.${key} set to `, value) 12 // console.trace() 13 } 14 15 target[key] = value; 16 return true; 17 } 18 }) 19 window.gtag = function() {dataLayer.push(arguments)} 20 21 gtag('js', new Date()) 22 gtag('config', ga4Id) 23 24 function sendEvent(eventName, params) { 25 params = params || {} 26 gtag("event", eventName, params) 27 28 return true 29 } 30 31 emf = emf || {} 32 emf.gtm = { 33 sendEvent, 34 } 35 36 $.cachedScript('https://www.googletagmanager.com/gtag/js?id=' + ga4Id) 37 38 emf.init.then(() => doitlater.load('gtm', () => {})) 39})(window.EMF);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.