//Bing Scripts var bingImpression = function (k) { (function(w,d,t,r,u){var f,n,i;w[u]=w[u]||[],f=function(){var o={ti:k};o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad")},n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function(){var s=this.readyState;s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null)},i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i)})(window,document,"script","//bat.bing.com/bat.js","uetq"); } var bingConversion = function (k, d, t, m) { dtm('send', 'ConversionStatus', { key: k }, function (response) { if (response.Allow) { console.log('S-BING - Conversion (' + d + ')'); window.uetq = window.uetq || []; window.uetq.push ('event', 'Conversion', {'event_category': 'Conversion', 'event_label': 'Order ID', 'event_value': t, 'revenue_value' : m, 'currency': 'USD'}); } else { console.log('F-BING - Conversion (' + d + ')'); } }); } dtm('register', 'Impression', function () { bingImpression('187189253'); }); dtm('register', 'Conversion', function (data) { bingConversion('BING_187189253', '187189253', data.detail.response.ConversionId, data.detail.response.SubTotal); }); //Criteo Scripts (function (t, n) { var x = t.createElement('script'); x.async = 1; x.src = n; var u = t.getElementsByTagName('script')[0]; u.parentNode.insertBefore(x, u); })(document, 'https://static.criteo.net/js/ld/ld.js'); var criteoImpression = function(i, t, u, o, h, j, p , b, l, v) { window.criteo_q = window.criteo_q || []; let deviceType = /iPad/.test(navigator.userAgent) ? "t" : /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Silk/.test(navigator.userAgent) ? "m" : "d"; window.criteo_q.push({ event: "setAccount", account: i }, { event: "setSiteType", type: deviceType }); var regExp = new RegExp("http[s]*://[A-z.0-9]+"); if (o && typeof b === "undefined") { window.criteo_q.push({ event: "viewItem", item: u }); } else { var urlPath = ''; var pathName = window.top.location.pathname; try { urlPath = window.top.location.href.replace(regExp, ''); } catch (error) { //This will happen when there is a DOMException (cross-origin) urlPath = window.location.href.replace(regExp, ''); } if (h.indexOf(',') > -1){ let hp = h.split(','); for(var z = 0 ; z < hp.length ; z ++){ let ih = hp[z]; if(urlPath.indexOf(ih) > -1){ window.criteo_q.push({ event: "viewHome" }); console.log('CRITEO - Impression (' + i + ')'); return; } } } if ((h == '' && (urlPath == '/' || urlPath.indexOf('/?') >= 0)) || (h != '' && urlPath.indexOf(h) >= 0)) { window.criteo_q.push({ event: "viewHome" }); if(typeof v != "undefined" && v === "true"){ console.log('CRITEO - Impression (' + i + ')'); return; } } if(typeof b != "undefined" && b.length > 0){ if(urlPath.indexOf(b) > -1){ window.criteo_q.push({ event: "viewBasket" }); console.log('CRITEO - Impression (' + i + ')'); return; } } if(typeof l != "undefined" && l.length > 0){ var lj = JSON.parse(l); for(g = 0 ; g < lj.length; g++){ var ljpn = lj[g].pageName; var ljia = lj[g].items.split(','); if( pathName === ljpn){ window.criteo_q.push({ event: "viewList", item: ljia }); console.log('CRITEO - Impression (' + i + ')'); return; } } } if (t) { if (typeof j === "undefined" && typeof p === "undefined") { window.criteo_q.push({ event: "viewItem", item: u }); } else { var json = JSON.parse(j); var mid = p; var at = false; if (typeof p != "undefined") { for (z = 0; z < json.length; z++) { if (p == json[z].mid) { window.criteo_q.push({ event: "viewItem", item: json[z].itemId }); at = true; break; } } if (!at) { for (jz = 0 ; jz < json.length; jz++){ if (urlPath.toLowerCase().indexOf(json[jz].pageName) > -1) { window.criteo_q.push({ event: "viewItem", item: json[z].itemId }); at = true; break; } } if (!at) { window.criteo_q.push({ event: "viewItem", item: u }); } } } } } } console.log('CRITEO - Impression (' + i + ')'); }; var criteoConversion = function(i, c, u, m, t, o, j, p, h, e) { dtm('send', 'ConversionStatus', { key: e }, function (response) { if (response.Allow) { window.criteo_q = window.criteo_q || []; let deviceType = /iPad/.test(navigator.userAgent) ? "t" : /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Silk/.test(navigator.userAgent) ? "m" : "d"; if (typeof p === "undefined") { window.criteo_q.push({ event: "setAccount", account: i }, { event: "setSiteType", type: deviceType }, { event: "trackTransaction", id: c, deduplication: u.indexOf(m) > -1 ? 1 : 0, item: [{ id: t, price: o, quantity: 1 }] }); } else { var at = false; var json = JSON.parse(j); for (z = 0; z < json.length; z++) { if (p == json[z].mid) { window.criteo_q.push({ event: "setAccount", account: i }, { event: "setSiteType", type: deviceType }, { event: "trackTransaction", id: c, item: [{ id: json[z].itemId, price: o, quantity: 1 }] }); at = true; break; } } if (!at) { window.criteo_q.push({ event: "setAccount", account: i }, { event: "setSiteType", type: deviceType }, { event: "trackTransaction", id: c, item: [{ id: h, price: o, quantity: 1 }] }); } } console.log('S-CRITEO - Conversion (' + i + ')'); } else { console.log('F-CRITEO - Conversion (' + i + ')'); } }); }; console.log('criteo not configured correctly'); //Facebook Scripts let fbCheckouts = []; !function (f, b, e, v, n, t, s) { if (f.fbq) return; n = f.fbq = function () { n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments) }; if (!f._fbq) f._fbq = n; n.push = n; n.loaded = !0; n.version = '2.0'; n.queue = []; t = b.createElement(e); t.async = !0; t.src = v; s = b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t, s) }(window, document, 'script', 'https://connect.facebook.net/en_US/fbevents.js'); var fbImpression = function (k) { console.log('FACEBOOK - Impression (' + k + ')'); fbq('init', k); fbq('trackSingle', k, 'PageView'); fbq('trackSingle', k, 'ViewContent'); }; var fbConversion = function (d, t, m, k, si, ot, items, sutm, utms, utmm, utmca, utmt, utmco) { dtm('send', 'ConversionStatus', { key: k }, function (response) { if (response.Allow) { console.log('S-FACEBOOK - Conversion (' + d + ')'); var payload = { "value": ot, "currency": "USD"}; if (si) { payload["content_type"] = "product"; payload["contents"] = []; for(var i = 0; i < items.length; i++){ var item = items[i]; payload["contents"].push({ "id": item.ProductSku, "quantity": item.Quantity, "item_price": item.Price }); } } if (sutm){ payload["utm_source"] = utms; payload["utm_medium"] = utmm; payload["utm_campaign"] = utmca; payload["utm_term"] = utmt; payload["utm_content"] = utmco; } fbq(t, d, m, payload); } else { console.log('F-FACEBOOK - Conversion (' + d + ')'); } }); }; var fbAddToCart = function (k) { if (fbCheckouts.indexOf(k) < 0) { console.log('FB - InitiateCheckout (' + k + ')'); fbq('trackSingle', k, 'InitiateCheckout'); fbCheckouts.push(k); } console.log('FB - AddToCart (' + k + ')'); fbq('trackSingle', k, 'AddToCart'); }; dtm('register', 'Impression', function () { fbImpression('29489127837352288'); }); dtm('register', 'Conversion', function (data) { fbConversion('29489127837352288', 'trackSingle', 'Purchase', 'FACEBOOK_29489127837352288', false, data.detail.response.OrderTotal, data.detail.response.Items, false, '', '', '', '', ''); }); dtm('register', 'AddToCart', function () { fbAddToCart('29489127837352288'); }); //Google Scripts window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } var gglImpression = function (k, b, t, g) { console.log('GOOGLE - Impression (' + k + g + ')'); if (t == 1) { window.dataLayer.push(b); (function (w, d, s, l, i) { w[l] = w[l] || []; w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); let f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; if (typeof(w[i + dl]) == "undefined") { w[i + dl] = true; j.src = '//www.googletagmanager.com/gtm.js?id=' + i + dl; } f.parentNode.insertBefore(j, f); })(window, document, 'script', 'dataLayer', g); } else if (t == 2) { window.dataLayer.push(b); (function (w, d, s, l, i) { w[l] = w[l] || []; w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); let f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = '//www.googletagmanager.com/gtag/js?id=' + i + dl; if (typeof(w[i + dl]) == "undefined") { w[i + dl] = true; f.parentNode.insertBefore(j, f); } })(window, document, 'script', 'dataLayer', k); gtag('js', new Date()); gtag('config', k); } }; var gglConversion = function (d, t, m, k, b, r) { dtm('send', 'ConversionStatus', { key: b }, function (response) { if (response.Allow) { console.log('S-GOOGLE - Conversion (' + d + ')'); if(r.HashedEmail && r.HashedEmail.length > 0) { gtag('set', 'user_data', { "sha256_email_address": r.HashedEmail, "address": { "sha256_first_name": r.HashedFirstName, "sha256_last_name": r.HashedLastName, "street": r.BillingStreet + ' ' + (r.BillingStreet2 ?? ''), "city": r.BillingCity, "region": r.BillingState, "postal_code": r.BillingZip, "country": r.BillingCountry } }); } gtag('event', 'conversion', { 'send_to': d + '/' + t, 'value': parseFloat(m), 'currency': 'USD', 'transaction_id': k }); } else { console.log('F-GOOGLE - Conversion (' + d + ')'); } }); }; dtm('register', 'Impression', function () { gglImpression('AW-16998911622', { "CampaignCode": "MRNICE", "OfferCode": "DRINK", "Version": 1.0000, "MediaId": "12248651", "PageCode": "Index", "Domain": "www.drinkmrnice.com", "IsCloud": false, "IsTestSession": false }, 2, ''); }); dtm('register', 'Conversion', function (data) { gglConversion('AW-16998911622', 'sIbUCI-zoLcaEIad26k_', data.detail.response.SubTotal, data.detail.response.ConversionId, 'GOOGLE_AW-16998911622sIbUCI-zoLcaEIad26k_', data.detail.response); });