/*THIS SCRIPT ALLOWS TO BLOCK COOKIES DEDICATED TO GOOGLE ANALYTICS WITHOUT CONSENT, AND PROTECTS THE IDENTITY OF THE USER. ALTERING OR BLOCKING IT LEADS TO AUTHORIZE ACCESS TO THE TERMINAL AND UNSECURED DATA TRANSFERS. IN NO CASE AND UNDER NO PRETEXT SHOULD THIS SCRIPT BE MODIFIED OR ITS OPERATION ALTERED OR BLOCKED.*/ (function(sdClientTid, tms, dataLayerName, pid, conf_id) { try { window.sdHelperLoaded = window.sdHelperLoaded || false; if (window.sdHelperLoaded == true || (pid && pid == '33223' && conf_id && conf_id == '697')) { //Script désactivé pour test Michelin //if (window.sdHelperLoaded == true) { return; } window.sdHelperLoaded = true; window["_gaUserPrefs"] = window["_gaUserPrefs"] || {}; window["_gaUserPrefs"].ioo = function() { return false; } //Queue window.sd_gahq = window.sd_gahq || []; //callback window.sd_gahc = window.sd_gahc || []; //Consent window.sdHelper = window.sdHelper || {}; try { window.sdHelper.debug = true; if (window.sdHelper.debug) { console.log({"truncate_ip":"TRUNCATE_ONE_BYTE","user_id":"PSEUDONYMISE","url":"NO_ALTER","referer":"NO_ALTER","transaction_id":"NO_ALTER","click_id":"PSEUDONYMISE","user_agent":"NO_ALTER","utm":{"source":"NO_ALTER","campaign":"NO_ALTER","medium":"NO_ALTER","content":"NO_ALTER","term":"NO_ALTER"},"ignore_tcf":false,"domain_excluded_to_hash":false,"disable_cookieless_tracking":true,"enable_consent_exemption":false}); } } catch (e) { window.sdHelper.debug = true; } window.sdHelper.sdIds = window.sdHelper.sdIds || {}; window.sdHelper.sdIds.sdCid = window.sdHelper.sdIds.sdCid || null; window.sdHelper.sdIds.sdSid = window.sdHelper.sdIds.sdSid || null; window.sdHelper.sdIds.sdTs = window.sdHelper.sdIds.sdTs || null; window.sdHelper.sdConsent = window.sdHelper.sdConsent || 'init'; window.sdHelper.sdClientTid = sdClientTid || []; if (typeof(window.sdHelper.sdClientTid) == 'string') { if (/\//.test(window.sdHelper.sdClientTid)) { window.sdHelper.sdClientTid = window.sdHelper.sdClientTid.replaceAll(" ","").replaceAll("/",","); } window.sdHelper.sdClientTid = window.sdHelper.sdClientTid.replace(/^\s+|\s+\$/g,"").split(/\s*,\s*/); } window.sdHelper.sdTcfSuccess = false; //window.sdHelper.sdGtagPushFuncReady = false; window.sdHelper.sdGaPushFuncReady = false; window.sdHelper.sdClientTidSet = []; window.sdHelper.sdClientNameMonitored = []; window.sdHelper.sdLaunchedAlready = false; window.sdHelper.sdUserDataLaunchedAlready = false; window.sdHelper.sdTestConsentMode = window.sdHelper.sdTestConsentMode || false; window.sdHelper.sdConsentModeForced = window.sdHelper.sdConsentModeForced || false; window.sdHelper.sdGaQueue = []; window.sdHelper.sdGtagQueue = []; window.sdHelper.sdUidPushedInDl = false; window.sdHelper.sdActiveTrackerNames = []; window.sdHelper.sdUserOptout = false; window.sdHelper.sdDebug = false; window.sdHelper.sdTmsName = tms || 'gtm'; window.sdHelper.sdDataLayer = dataLayerName || 'dataLayer'; window.sdHelper.sdDataLayerObjectWatch = (window.sdHelper.sdTmsName=="gtm"?window.sdHelper.sdDataLayer:"dataLayer"); window.sdHelper.uuidProcessedInDatalayer = false; window.sdHelper.sdOriginDataLayer = window.sdHelper.sdOriginDataLayer || []; window.sdHelper.sdGtmLoaded = false; window.sdHelper.sdInArrayOrObject = function (obj,what) { try { if (obj) { if (typeof (obj.every) == 'function') { return !obj.every(function(element){return (element !== what);}); } else { for (var i in obj) { if (obj.hasOwnProperty(i) && obj[i]) { if (obj[i] == what) { return true; } } } } } } catch (e) {window.sdHelper.sdLogError(e);} return false; } window.sdHelper.sdIsTidMonitored = function (tid) { if (typeof(window.sdHelper.sdClientTid) == 'string') { window.sdHelper.sdClientTid[0] = window.sdHelper.sdClientTid; } if (!window.sdHelper.sdClientTid[0] && (/^G-/.test(tid) || /^UA-/.test(tid))) { return true; } for (var i in window.sdHelper.sdClientTid) { if (window.sdHelper.sdClientTid.hasOwnProperty(i) && window.sdHelper.sdClientTid[i] && tid == window.sdHelper.sdClientTid[i]) { return true; } } return false; } window.sdHelper.sdShouldActivateConsentMode = function () { if (window.sdHelper.sdTmsName !== "gtm" || (typeof(window["gtag_enable_tcf_support"]) !== "undefined" && window["gtag_enable_tcf_support"])) { return false; } //Si tous les pids doivents êtres interceptés on bloque les cookies via le CM if (window.sdHelper.sdClientTid.length == 0 || (window.sdHelper.sdClientTid.length == 1 && window.sdHelper.sdClientTid[0] == '')) { return true; } //Si au moins 1 id GA4 est déclaré il doit êtres interceptés on bloque les cookies via le CM for (var i in window.sdHelper.sdClientTid) { if (window.sdHelper.sdClientTid.hasOwnProperty(i) && /^G-/.test(window.sdHelper.sdClientTid[i])) { return true; } } return false; } window.sdHelper.sdActiveConsentModeIfNeeded = function () { //on ne veut plus l'activer par défaut return false; if (!window.sdHelper.sdConsentModeForced && window.sdHelper.sdConsent !== 'consent' && window.sdHelper.sdShouldActivateConsentMode()) { try { for (var i in window[window.sdHelper.sdDataLayerObjectWatch]) { if (window[window.sdHelper.sdDataLayerObjectWatch].hasOwnProperty(i)) { var item = window[window.sdHelper.sdDataLayerObjectWatch][i]; if (item.hasOwnProperty(0) && item[0] == 'consent') { window.sdHelper.sdTestConsentMode = true; } } } if (!window.sdHelper.sdTestConsentMode) { window.sdHelper.sdGtag('consent', 'default', { 'analytics_storage': 'denied' }); window.sdHelper.sdConsentModeForced = true; } } catch (e) {} } } window.sdHelper.sdFilterDlData = function(item) { try { if (typeof(item[0]) == 'string') { if (item[0] == 'config' && typeof(item[1]) == 'string') { if (window.sdHelper.sdIsTidMonitored(item[1])) { var l = item.length; if (typeof(item[0]) == 'string' && item[0] == 'config' && typeof(item[1]) == 'string' && window.sdHelper.sdIsTidMonitored(item[1])) { window.sdHelper.sdActiveConsentModeIfNeeded(); if (typeof(item[(l - 1)]) == 'object') { item[(l - 1)].client_id = window.sdHelper.sdIds.sdCid; } else { l = l + 1; item[(l - 1)] = { 'client_id': window.sdHelper.sdIds.sdCid, }; item.length = l; } item[(l - 1)]['fromHelper'] = true; if (/^UA-/.test(item[1])) { item[(l - 1)]['fromHelper'] = true; item[(l - 1)].client_storage = 'none'; item[(l - 1)].transport_url = 'https://event-preprod.analytics-helper.com/ans/ga/forward/g'; item[(l - 1)].transport_type = 'xhr'; } else { item[(l - 1)].first_party_collection = true; item[(l - 1)].transport_url = 'https://event-preprod.analytics-helper.com/ans/ga/forward'; item[(l - 1)].sah_pa = window.sdHelper.sdPartnerId || ''; item[(l - 1)].sah_c = window.sdHelper.sdConfigId || ''; } if (typeof(item[(l - 1)]['send_page_view']) == 'undefined') { item[(l - 1)]['send_page_view'] = true; } } } } } } catch (e) {window.sdHelper.sdLogError(e);} return item; } window.sdHelper.sdIsItemToBeQueued = function (item) { try { if ((!window.sdHelper.sdIds || !window.sdHelper.sdIds.sdCid || !window.sdHelper.sdInArrayOrObject(['consent','no_consent_no_object','blocked'], window.sdHelper.sdConsent)) && item[0] && typeof(item[0]) == 'string' && (item[0] == 'config' || item[0] == 'set' || item[0] == 'get' || (item[0] == 'event' && item[1] && typeof(item[1]) == 'string'))) { if ((item[0] == 'config' || item[0] == 'set' || item[0] == 'get') && typeof(item[1]) == 'string' && !window.sdHelper.sdIsTidMonitored(item[1])) { return false; } return true; } } catch (e) {window.sdHelper.sdLogError(e);} return false; } if (typeof(window[window.sdHelper.sdDataLayerObjectWatch]) !== "undefined") { if (window[window.sdHelper.sdDataLayerObjectWatch].push && [].push && window[window.sdHelper.sdDataLayerObjectWatch].push.toString() !== [].push.toString()) { window.sdHelper.sdGtmLoaded = true; } else { for (var i in window[window.sdHelper.sdDataLayerObjectWatch]) { if (window[window.sdHelper.sdDataLayerObjectWatch].hasOwnProperty(i)) { var item = window[window.sdHelper.sdDataLayerObjectWatch][i]; if (window.sdHelper.sdIsItemToBeQueued(item)) { window.sdHelper.sdGtagQueue.push(item); } else { window.sdHelper.sdOriginDataLayer.push(item); } } } try { delete window[window.sdHelper.sdDataLayerObjectWatch]; } catch (e) {} } } if (!window.sdHelper.sdGtmLoaded) { try { window[window.sdHelper.sdDataLayerObjectWatch] = window.sdHelper.sdOriginDataLayer || []; window.sdHelper.sdFilterDLPushedData = function (item) { if (window.sdHelper.sdIsItemToBeQueued(item)) { window.sdHelper.sdGtagQueue.push(item); return null; } item = window.sdHelper.sdFilterDlData(item); return item; } window.sdHelper.sdDlPushData = function(val) { val = window.sdHelper.sdFilterDLPushedData(val); return (val?[].push.call(window.dataLayer,val):null); }; Object.defineProperty(window[window.sdHelper.sdDataLayerObjectWatch], "push", { enumerable: true, configurable: false, get: function() { return window.sdHelper.sdDlPushData; }, set: function(value) { if (typeof(value) == "function") { window.sdHelper.sdDlPushData = function(val) { val = window.sdHelper.sdFilterDLPushedData(val); return (val?value(val):null); }; } } }); } catch (e) {window.sdHelper.sdLogError(e);} } if (window.sdHelper.sdDataLayer !== window.sdHelper.sdDataLayerObjectWatch) { window[window.sdHelper.sdDataLayer] = window[window.sdHelper.sdDataLayer] || (window.sdHelper.sdTmsName=="tealium"?{}:[]); } window.sdHelper.sdPartnerId = pid || null; window.sdHelper.sdConfigId = conf_id || null; window.sdHelper.sdGoogleAnalyticsObject = null; window.sdHelper.sdGaDisabledTid = []; window.sdHelper.sdGaObject = function () {return true;}; window.sdHelper.sdGaFunc = function () {return true;}; window.sdHelper.sdGtmIds = []; window.sdHelper.sdGtagIds = []; window.sdHelper.sdMutationObserverOn = false; window.sdHelper.sdDlPushFunc = false; window.sdHelper.sdGtagQueueIsBeingProcessed = false; window.sdHelper.sdTimeoutFunction = null; window.sdHelper.eventData = {}; window.sdHelper.sdCallbackWatcherReady = false; window.sdHelper.sdConsentWatcherReady = false; window.sdHelper.sdHost = null; window.sdHelper.sdDomain = null; window.sdHelper.sdCmpDidomiLaunchedAlready = false; window.sdHelper.sdTcfOverriden = window.sdHelper.sdTcfOverriden || false; try { window.sdHelper.sdConfig = {ignore_tcf: false, disable_cookieless_tracking: true}; } catch (e) { window.sdHelper.sdConfig = {ignore_tcf: false, disable_cookieless_tracking: true}; } window.sdHelper.sdLogError = function (e) { try { //if (window.sdHelper.sdDebug) { console.log(e); //} } catch (e) {console.log(e);} if (window.sdHelper.sdUserOptout) { return; } try{ var final_error = {}; //Bug tracking if (typeof(e) == 'object') { //final_error = JSON.stringify(e); if (window.sdHelper.sdObjectIsEmpty(final_error)) { final_error = window.sdHelper.sdStringifyEvent(e); } } if (!window.sdHelper.sdObjectIsEmpty(final_error)) { final_error = final_error.toString(); if (final_error && final_error !== '{}') { var url = 'https://pings.analytics-helper.com/bug_report.php'; var xhr = window.sdHelper.sdGetXhr(); xhr.open('POST', url); xhr.withCredentials = false; xhr.send(final_error); } } } catch (e) {if (window.sdHelper.sdDebug) {console.log(e);}} return; } /* try { if (!window.sdHelper.sdGtmLoaded) { var privateDataLayer = window.sdHelper.sdOriginDataLayer || []; Object.defineProperty(window, window.sdHelper.sdDataLayerObjectWatch, { enumerable: true, configurable: false, get: function() { return privateDataLayer; }, set: function(value) { if (value instanceof Array && value !== privateDataLayer) { value.forEach(function(val) { privateDataLayer.push(val); }); } }, }); } } catch (e) {window.sdHelper.sdLogError(e);} */ window.sdHelper.sdGetHost = function (what) { try { if ((!what || window.location.hostname == what) && window.sdHelper.sdHost) { return window.sdHelper.sdHost; } var url = what || window.location.hostname; var host = window.sdHelper.sdExtractHostname(url); if ((!what || window.location.hostname == what) && host) { window.sdHelper.sdHost = host; } return host; } catch (e) {window.sdHelper.sdLogError(e);} return url; } window.sdHelper.sdGetDomain = function (what) { try { if ((!what || window.location.hostname == what) && window.sdHelper.sdDomain) { return window.sdHelper.sdDomain; } var url = what || window.location.hostname; var domain = window.sdHelper.sdGetHost(url); var splitArr = domain.split('.'); var arrLen = splitArr.length; if (arrLen > 2) { domain = splitArr[arrLen - 2] + '.' + splitArr[arrLen - 1]; if (splitArr[arrLen - 2].length == 2 && splitArr[arrLen - 1].length == 2) { domain = splitArr[arrLen - 3] + '.' + domain; } } if ((!what || window.location.hostname == what) && domain) { window.sdHelper.sdDomain = domain; } return domain; } catch (e) {window.sdHelper.sdLogError(e);} return url; } window.sdHelper.sdIsGa4ClientTid = function (tid) { if (tid && /^G-/.test(tid)) { return true; } for (var i in window.sdHelper.sdClientTid) { if (window.sdHelper.sdClientTid.hasOwnProperty(i) && /^G-/.test(window.sdHelper.sdClientTid[i])) { return true; } } return false; } window.sdHelper.sdIsUAClientTid = function (tid) { if (tid && /^UA-/.test(tid)) { return true; } for (var i in window.sdHelper.sdClientTid) { if (window.sdHelper.sdClientTid.hasOwnProperty(i) && /^UA-/.test(window.sdHelper.sdClientTid[i])) { return true; } } return false; } window.sdHelper.sdFindClientTid = function (find) { if (typeof(find) == 'string' && find) { for (var i in window.sdHelper.sdClientTid) { if (window.sdHelper.sdClientTid.hasOwnProperty(i) && find == window.sdHelper.sdClientTid[i]) { return true; } } } return false; } window.sdHelper.sdGetCookieByName = function (name) { var sdResult = null; try { var sdCookieName = name + "="; var sdCookies = document.cookie.split(';'); for (var i in sdCookies) { i = parseInt(i,10); if (sdCookies.hasOwnProperty(i)) { while (sdCookies[i].charAt(0)==' ') sdCookies[i] = sdCookies[i].substring(1,sdCookies[i].length); if (sdCookies[i].indexOf(sdCookieName) == 0) sdResult = sdCookies[i].substring(sdCookieName.length,sdCookies[i].length); } } } catch (e) {window.sdHelper.sdLogError(e);} return sdResult; } window.sdHelper.sdGetFromStorage = function (name) { try { if (typeof(window.localStorage) !== 'undefined' && window.localStorage) { var sdResult = null; sdResult = window.localStorage.getItem(name); return sdResult; } } catch (e) {} return null; } window.sdHelper.sdGtag = function () { window[window.sdHelper.sdDataLayerObjectWatch].push(arguments); } window.sdHelper.sdUpdateGaArguments = function (item) { try { var name = null; var tid = null; if (item.hasOwnProperty(0) && typeof(item[0]) == 'string' && item[0] && item.length > 1) { var key = item[0]; if (/\.set/.test(key)) { name = item[0].replace('.set',''); key = 'set'; } //monitored ? if (name && !window.sdHelper.sdInArrayOrObject(window.sdHelper.sdClientNameMonitored,name)) { return [item,null,null]; } var l = parseInt((item.length - 1),10); switch (key) { case 'set': if (item[l] && typeof (item[l]) == 'string') { if (item[l] == 'auto_set') { item[l] = {'&ep.fromHelper': true}; } else { break; } } if (item[l] && typeof (item[l]) == 'object') { /* if (typeof(item[l]['&gcs']) !== 'undefined') { item[l]['&gcs'] = item[l]['&gcs'].substr(0,(item[l]['&gcs'].length-1))+'1'; } */ item[l]['anonymizeIp'] = true; item[l].forceSSL = true; item[l]['&ep.fromHelper'] = true; if (window.sdHelper.sdConsent == 'consent' || window.sdHelper.sdConsent == 'no_need') { item[l]['&ep.sah_consent'] = true; } else { item[l]['&ep.sah_consent'] = false; } if (window.sdHelper.sdConsent == 'no_need') { if (item[l].storage) { delete item[l].storage; } if (item[l].storeGac) { delete item[l].storeGac; } break; } else { item[l].transportUrl = 'https://event-preprod.analytics-helper.com/ans/ga/forward'; item[l]['&ep.sah_pa'] = window.sdHelper.sdPartnerId; item[l]['&ep.sah_c'] = window.sdHelper.sdConfigId; //if (typeof(item[l].transport)!=='undefined') { item[l].transport = 'xhr'; //delete item[l].transport; //} if (window.sdHelper.sdObjectIsEmpty(item[l])) { item[l] = {'&ep.fromHelper': true}; } } } break; case 'create': if (item[l] && typeof (item[l]) == 'object' && item[l].trackingId) { tid = item[l].trackingId; } else if(typeof (item[1]) == 'string') { tid = item[1]; } if (typeof(item[l]) == 'object' && typeof(item[l].name) !== 'undefined' && item[l].name) { name = item[l].name; } else if (item.length > 2 && typeof(item[l]) == 'string' && item[l] !== 'auto') { name = item[l]; } else if (item.length > 3 && typeof(item[l]) == 'object' && typeof(item[item.length - 2]) == 'string' && item[item.length - 2] !== 'auto') { name = item[item.length - 2]; } else { name = 't0'; } //monitored ? if (!tid || !window.sdHelper.sdIsTidMonitored(tid)) { return [item,null,null]; } window.sdHelper.sdActiveConsentModeIfNeeded(); if (item[l] && typeof (item[l]) == 'string') { if (item[l] == 'auto') { item[l] = {'&ep.fromHelper': true}; } else if (item[(l-1)] == 'auto' && typeof (item[l]) == 'string') { item[l] = {'&ep.fromHelper': true, 'name': item[l]}; } else { l=l+1; item[l] = {'&ep.fromHelper': true}; item.length = item.length+1; } } if (item[l] && typeof (item[l]) == 'object') { if (item[l] && item[l].trackingId) { tid = item[l].trackingId; } else { tid = item[1]; } item[l]['&ep.fromHelper'] = true; /* if (typeof(item[l]['&gcs']) !== 'undefined') { item[l]['&gcs'] = item[l]['&gcs'].substr(0,(item[l]['&gcs'].length-1))+'1'; } */ if (window.sdHelper.sdConsent == 'no_need') { if (item[l].storage) { delete item[l].storage; } if (typeof(item[l].storeGac) !== 'undefined') { delete item[l].storeGac; } } else { //On pousse quand même le user id car donnée anonymisée if (window.sdHelper.sdIds.sdCid) { item[l].storedClientId = window.sdHelper.sdIds.sdCid; item[l].clientId = window.sdHelper.sdIds.sdCid; } //Meme avec consentement on ne veut pas de cookie GA item[l].storage = 'none'; item[l].cookieUpdate = 'false'; item[l].storeGac = false; if (typeof(item[l].cookieDomain) !== 'undefined') { delete item[l].cookieDomain; } //Si pas de consent, pas de cookie linker if (window.sdHelper.sdConsent !== 'consent') { item[l].storeGac = false; } else { if (typeof(item[l].storeGac) !== 'undefined') { delete item[l].storeGac; } } } if (window.sdHelper.sdObjectIsEmpty(item[l])) { item[l] = {'&ep.fromHelper': true}; } } break; default: break; } } } catch (e) {window.sdHelper.sdLogError(e);} return [item,(name && tid && window.sdHelper.sdIsTidMonitored(tid)?name:null),(tid && window.sdHelper.sdIsTidMonitored(tid)?tid:null)]; } window.sdHelper.sdLoadCallbackQueue = function () { if (window.sdHelper.sdCallbackWatcherReady) { return; } for (var i in window.sd_gahq) { if (typeof(window.sd_gahq[i]) == "function") { try { window.sd_gahq[i](window.sdHelper.eventData); } catch (e) {console.log(e);} } } window.sd_gahq.push = function(callback) { Array.prototype.push.call(this, callback); this.onPush(callback); }; window.sd_gahq.onPush = function(callback) { if (typeof(callback) == "function") { try { callback(window.sdHelper.eventData); } catch (e) {console.log(e);} } }; window.sdHelper.sdCallbackWatcherReady = true; } window.sdHelper.sdLoadConsentQueue = function () { if (window.sdHelper.sdConsentWatcherReady) { return; } for (var i in window.sd_gahc) { if (typeof(window.sd_gahc[i]) == "string") { try { if (window.sd_gahc[i] == 'consent') { console.log("consent & tcf ignored"); window.sdHelper.sdTcfOverriden = true; window.sdHelper.sdSetOptin(); } else if (window.sd_gahc[i] == 'no_consent_no_object') { console.log("no consent & no optout & tcf ignored"); window.sdHelper.sdTcfOverriden = true; window.sdHelper.sdSetNoOptinNoOptout(); } else if (window.sd_gahc[i] == 'no_consent') { console.log("no consent & optout & tcf ignored"); window.sdHelper.sdTcfOverriden = true; window.sdHelper.sdSetOptout(); } } catch (e) {console.log(e);} } } window.sd_gahc.push = function(choice) { Array.prototype.push.call(this, choice); this.onPush(choice); }; window.sd_gahc.onPush = function(choice) { if (typeof(choice) == "string") { try { if (choice == 'consent') { console.log("consent & tcf ignored"); window.sdHelper.sdTcfOverriden = true; window.sdHelper.sdSetOptin(); } else if (choice == 'no_consent_no_object') { console.log("no consent & no optout & tcf ignored"); window.sdHelper.sdTcfOverriden = true; window.sdHelper.sdSetNoOptinNoOptout(); } else if (choice == 'no_consent') { console.log("no consent & optout & tcf ignored"); window.sdHelper.sdTcfOverriden = true; window.sdHelper.sdSetOptout(); } } catch (e) {console.log(e);} } }; window.sdHelper.sdConsentWatcherReady = true; } window.sdHelper.sdTriggerUuidEvent = function () { if (window.sdHelper.sdUserOptout || window.sdHelper.sdUidPushedInDl || window.sdHelper.sdConsent == 'no_consent') { return; } //GA4 via GTM try { window.sdHelper.sdOnDocumentReady(function () { if (!window.sdHelper.sdUidPushedInDl) { window.sdHelper.sdUidPushedInDl = true; window.sdHelper.eventData = {'event': 'sdh_UUID_ready','sdh_UUID': (window.sdHelper.sdIds && window.sdHelper.sdIds.sdCid?window.sdHelper.sdIds.sdCid:'redacted_for_privacy'),'sah_pa': window.sdHelper.sdPartnerId,'sah_c': window.sdHelper.sdConfigId,'sah_consent': (window.sdHelper.sdConsent && window.sdHelper.sdConsent == 'consent'?'1':'0')}; if (window.sdHelper.sdIds) { if (window.sdHelper.sdIds.sdSid) { window.sdHelper.eventData.sah_sid = window.sdHelper.sdIds.sdSid; } if (window.sdHelper.sdIds.sdTs) { window.sdHelper.eventData.sah_ts = window.sdHelper.sdIds.sdTs; } } if (window.sdHelper.sdTmsName == "gtm") { window[window.sdHelper.sdDataLayer].push(window.sdHelper.eventData); } else if (window.sdHelper.sdTmsName == "tealium") { window[window.sdHelper.sdDataLayer].sirdata_events = window[window.sdHelper.sdDataLayer].sirdata_events || []; window[window.sdHelper.sdDataLayer].sirdata_events.push(window.sdHelper.eventData); } window.sdHelper.uuidProcessedInDatalayer = true; //callback & queue listener window.sdHelper.sdLoadCallbackQueue(); } }); } catch (e) {window.sdHelper.sdLogError(e);} } window.sdHelper.sdOnTcfReady = function (callback, fallback) { try { if (typeof(window.__tcfapi) == 'function' && typeof(callback) == 'function') { callback(); return; } else if (typeof(window.setInterval) == 'function') { var checkTCFApiSetInterval = window.setInterval(function () { var i = 0; if (i++ >= 300 || typeof(window.__tcfapi) == 'function') { if (checkTCFApiSetInterval) { window.clearInterval(checkTCFApiSetInterval); } if (typeof(window.__tcfapi) == 'function' && typeof(callback) == 'function') { callback(); return; } else if (i >= 300 && typeof(fallback) == 'function') { fallback(); return; } } },10); } } catch (e) {window.sdHelper.sdLogError(e);fallback();} } window.sdHelper.sdOnDocumentReady = function (callback) { try { if (document.readyState && document.readyState !== 'loading') { callback(); } else if (document.addEventListener) { document.addEventListener('DOMContentLoaded', callback); } else { document.attachEvent('onreadystatechange', function () { if (document.readyState === 'complete') { callback(); } }); } } catch (e) {callback();} } window.sdHelper.sdOnWindowReady = function (callback) { try { if (document.readyState && document.readyState === 'complete') { callback(); } else if (document.addEventListener) { window.addEventListener('load', callback); } else { document.attachEvent('onreadystatechange', function () { if (document.readyState === 'complete') { callback(); } }); } } catch (e) {callback();} } window.sdHelper.sdExtractHostname = function (url) { try { var hostname; if (url.indexOf('//') > -1) { hostname = url.split('/')[2]; } else { hostname = url.split('/')[0]; } hostname = hostname.split(':')[0]; hostname = hostname.split('?')[0]; return hostname; } catch (e) {window.sdHelper.sdLogError(e);} return url; } window.sdHelper.sdSetCookie = function (name,value,days) { var expires = ""; if (days) { var date = new Date(); date.setTime(date.getTime() + (days*24*60*60*1000)); expires = "; expires=" + date.toUTCString(); } //On teste le plus haut domaine (domaine générique) try { document.cookie = name + "=" + (value || "") + expires + "; path=/; Domain=."+ window.sdHelper.sdGetDomain() +"; SameSite=Lax;"; } catch (e) {window.sdHelper.sdLogError(e);} var test = window.sdHelper.sdGetCookieByName(name); //Sinon le host if (!test) { document.cookie = name + "=" + (value || "") + expires + "; path=/; SameSite=Lax;"; } return; } window.sdHelper.sdEraseCookie = function (name) { try { if (window.sdHelper.sdGetCookieByName(name)) { document.cookie = name +'=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT; SameSite=Lax;'; document.cookie = name +'=; Path=/; Domain='+ window.sdHelper.sdGetDomain() +'; Expires=Thu, 01 Jan 1970 00:00:01 GMT; SameSite=Lax;'; document.cookie = name +'=; Path=/; Domain=.'+ window.sdHelper.sdGetDomain() +'; Expires=Thu, 01 Jan 1970 00:00:01 GMT; SameSite=Lax;'; } } catch (e) {window.sdHelper.sdLogError(e);} return; } window.sdHelper.sdGaUpdateConsentSignal = function (hasConsent) { try { if (typeof(window[window['GoogleAnalyticsObject']]) == "function") { var trackers = window[window['GoogleAnalyticsObject']].getAll(); var i, len, tracker_name; for (i = 0, len = trackers.length; i < len; i += 1) { if (window.sdHelper.sdIsTidMonitored(trackers[i].get('trackingId'))) { tracker_name = trackers[i].get('name'); window[window['GoogleAnalyticsObject']](tracker_name+".set","&ep.sah_consent", hasConsent); } } } } catch(e) {} return; } window.sdHelper.sdSetInStorage = function (name,value) { try { if (typeof(window.localStorage) !== 'undefined' && window.localStorage) { try { window.localStorage.setItem(name,value); } catch (e) { //Si quota on passe notre entrée en première position if (e && e.name && (e.name == 'QuotaExceededError' || e.name == 'NS_ERROR_DOM_QUOTA_REACHED')){ var temp = []; var t; for (var i in window.localStorage) { if(window.localStorage.hasOwnProperty(i)) { t = window.localStorage.getItem(i); if (t) { temp[i] = t; window.localStorage.removeItem(i); } } } window.localStorage.setItem(name,value); for (var i in temp) { window.localStorage.setItem(i,temp[i]); } } } } } catch (e) {} return; } window.sdHelper.sdEraseInStorage = function (name) { try { if (typeof(window.localStorage) !== 'undefined' && window.localStorage) { if (window.sdHelper.sdGetFromStorage(name)) { window.localStorage.removeItem(name); } } } catch (e) {} return; } window.sdHelper.sdObjectIsEmpty = function (obj) { try { for(var prop in obj) { if(obj.hasOwnProperty(prop) && obj[prop]) { return false; } } } catch (e) {window.sdHelper.sdLogError(e);} return true; } window.sdHelper.sdGetXhr = function () { if (window.XDomainRequest) { return new window.XDomainRequest(); } else if (window.XMLHttpRequest) { return new window.XMLHttpRequest(); } else { try { var tr = !!window.clientInformation, progids = ['MSXML2.XMLHTTP.6.0', 'MSXML2.XMLHTTP.3.0', 'Microsoft.XMLHTTP'], sProgid = null; var xhr = null, i = 0; if (sProgid) { xhr = new window.ActiveXObject(sProgid); } else { for (; i < progids.length; i += 1) { try { xhr = new window.ActiveXObject(progids[i]); sProgid = progids[i]; break; } catch (e) {window.sdHelper.sdLogError(e);} } } return (xhr || null); } catch (e) {window.sdHelper.sdLogError(e);} } return null; } window.sdHelper.sdGetS4 = function () { return Math.floor((1 + Math.random()) * 0x10000) .toString(16) .substring(1); } window.sdHelper.convertToHash = function (str) { if (str == "") { return window.sdHelper.sdGetS4() + window.sdHelper.sdGetS4(); } var hashString = 0; for (var character of str) { var charCode = character.charCodeAt(0); hashString = hashString << 5 - hashString; hashString += charCode; hashString |= hashString; } return window.sdHelper.sdGetS4() + (hashString*hashString).toString().substring(0,4); } window.sdHelper.sdGenerateUuid = function () { return window.sdHelper.convertToHash(window.sdHelper.sdGetHost()) + '-' + window.sdHelper.sdGetS4() + '-' + window.sdHelper.sdGetS4() + '-' + window.sdHelper.sdGetS4() + '-' + (new Date).getTime().toString().substring(0,12); } window.sdHelper.sdGetRandomString = function () { return Math.floor((1 + Math.random()) * 10000000).toString()+Math.floor((1 + Math.random()) * 10000000).toString(); } window.sdHelper.sdGenerateUuidV2 = function () { return window.sdHelper.sdGetRandomString().substring(0,10) + '.' + Math.floor((new Date).getTime()/1000); } window.sdHelper.sdGetUserData = function (callback,refreshCache) { try { if (typeof (callback) !== 'function' || window.sdHelper.sdConsent == 'no_consent') { return; } if (window.sdHelper.sdConsent == 'no_need') { callback(); return; } try { //si id existant, on le stocke et on renvoie if (!window.sdHelper.sdObjectIsEmpty(window.sdHelper.sdIds) && window.sdHelper.sdIds.sdCid && window.sdHelper.sdIds.sdCid !== 'redacted_for_privacy') { if (window.sdHelper.sdConsent == 'consent') { if (typeof (window.btoa) !== 'undefined') { window.sdHelper.sdSetCookie('ga_helper_consent',window.btoa(JSON.stringify(window.sdHelper.sdIds)),360); } if (typeof (window.btoa) !== 'undefined') { window.sdHelper.sdSetInStorage('ga_helper_consent',window.btoa(JSON.stringify(window.sdHelper.sdIds))); } } //if (window.sdHelper.sdConsent !== 'no_consent') { //no consent return at beggining no need here window.sdHelper.sdUserDataLaunchedAlready = true; callback(); return; //} } if (typeof (window.atob) !== 'undefined') { if (window.sdHelper.sdConsent == 'init' || window.sdHelper.sdConsent == 'consent') { var sdUserDataFromDeviceIfConsent = window.sdHelper.sdGetCookieByName('ga_helper_consent'); if (!sdUserDataFromDeviceIfConsent) { sdUserDataFromDeviceIfConsent = window.sdHelper.sdGetFromStorage('ga_helper_consent'); //Backup sur cookie from storage if (sdUserDataFromDeviceIfConsent) { window.sdHelper.sdSetCookie('ga_helper_consent',sdUserDataFromDeviceIfConsent,360); } } var tempUuid = null; if (sdUserDataFromDeviceIfConsent) { var temp = JSON.parse(window.atob(sdUserDataFromDeviceIfConsent)); //Si veille version on rafraichit sinon on continue if (temp && typeof(temp.version) !== 'undefined') { tempUuid = temp.sdCid || null; //Si id stocké, c'est que consentement ok (car on ne le dépoe pas sans consentement et on le supprime sinon) window.sdHelper.sdConsent = 'consent'; window.sdHelper.sdGaUpdateConsentSignal(true); if (parseInt(temp.version,10) >= parseInt(13,10)) { window.sdHelper.sdUserDataLaunchedAlready = true; window.sdHelper.sdIds = temp; window.sdHelper.sdUserDataLaunchedAlready = true; callback(); return; } } } //sinon on checke si id existe dans _ga car consentement if (window.sdHelper.sdConsent == 'consent' && document.cookie !== "") { //Si cookie bloqués on génère depuis IP plutot qu'aléatoire /* var gaUserId = (((window.sdHelper.sdGetCookieByName('_ga')||"").split('.')||[]).slice(2)||[]).join("."); //sinon on le génère if (!gaUserId || gaUserId == "" || ((gaUserId.match(/\./g)||0).length !== 1 && ((gaUserId.match(/\-/g)||0).length !== 4 || tempUuid == gaUserId))) { //Si l'id correspond à un id généré par Sirdata avec une anicenne version on ignore //gaUserId = window.sdHelper.sdGenerateUuid(); gaUserId = window.sdHelper.sdGenerateUuidV2(); } */ //var gaUserId = window.sdHelper.sdGenerateUuid(); var gaUserId = window.sdHelper.sdGenerateUuidV2(); if (gaUserId && gaUserId !== "" && tempUuid !== gaUserId) { window.sdHelper.sdIds.version = 99999; window.sdHelper.sdIds.sdCid = gaUserId; window.sdHelper.sdSetCookie('ga_helper_consent',window.btoa(JSON.stringify(window.sdHelper.sdIds)),360); window.sdHelper.sdSetInStorage('ga_helper_consent',window.btoa(JSON.stringify(window.sdHelper.sdIds))); window.sdHelper.sdUserDataLaunchedAlready = true; callback(); return; } } } } } catch (e) {window.sdHelper.sdLogError(e);} if (window.sdHelper.sdUserDataLaunchedAlready && !refreshCache) { if (typeof(window.sdHelper.sdIds.sdCid) !== 'undefined' && window.sdHelper.sdIds.sdCid !== 'redacted_for_privacy') { callback(); } return; } window.sdHelper.sdUserDataLaunchedAlready = true; try { var xhr = window.sdHelper.sdGetXhr(); if (typeof(xhr) !== 'object') { window.sdHelper.sdLogError('no avaiblable xhr'); window.sdHelper.sdIds.sdCid = 'redacted_for_privacy'; window.sdHelper.sdConsent = 'blocked'; callback(); return; } xhr.onload = function () { if ((xhr.DONE && xhr.readyState && xhr.readyState === xhr.DONE) || (xhr.readyState && xhr.readyState === 4) || xhr.responseText) { if ((xhr.status && xhr.status === 200) || xhr.responseText) { try { if (xhr.responseText) { var response = JSON.parse(xhr.responseText); if (typeof (response.authorized_origin) !== 'undefined' && response.authorized_origin && response.authorized_origin == window.location.hostname) { if (typeof (response.version) !== 'undefined' && response.version) { if ((typeof(refreshCache) == 'undefined' || !refreshCache) && parseInt(response.version,10) < parseInt(13,10)) { if (!window.sdHelper.sdObjectIsEmpty(window.sdHelper.sdIds) && window.sdHelper.sdIds.sdCid && window.sdHelper.sdIds.sdCid !== 'redacted_for_privacy') { window.sdHelper.sdIds.sdCid = 'redacted_for_privacy'; } window.sdHelper.sdGetUserData(callback,true); return; } window.sdHelper.sdIds.version = response.version; window.sdHelper.sdIds.sdCid = ((typeof (response.cid) !== 'undefined' && response.cid)?response.cid:'redacted_for_privacy'); if (typeof (response.sid) !== 'undefined' && response.sid) { window.sdHelper.sdIds.sdSid = response.sid; } if (typeof (response.ts) !== 'undefined' && response.ts) { window.sdHelper.sdIds.sdTs = response.ts; } } } else { //Le Publisher n'est pas client ou bien il y a un adblock, nous ne gérons pas pour lui //window.sdHelper.sdConsent = 'no_need'; window.sdHelper.sdLogError("xhr get id after load problem"); window.sdHelper.sdIds.sdCid = 'redacted_for_privacy'; window.sdHelper.sdConsent = 'blocked'; callback(); return; } } } catch (e) { window.sdHelper.sdLogError("xhr get id after load problem"); window.sdHelper.sdIds.sdCid = 'redacted_for_privacy'; window.sdHelper.sdConsent = 'blocked'; callback(); return; } if (typeof (window.sdHelper.sdIds.sdCid) !== 'undefined') { if (window.sdHelper.sdConsent == 'consent' && typeof (window.atob) !== 'undefined') { window.sdHelper.sdSetCookie('ga_helper_consent',window.btoa(JSON.stringify(window.sdHelper.sdIds)),360); window.sdHelper.sdSetInStorage('ga_helper_consent',window.btoa(JSON.stringify(window.sdHelper.sdIds))); } callback(); return; } } else { window.sdHelper.sdLogError("xhr get id not 200 status problem"); window.sdHelper.sdIds.sdCid = 'redacted_for_privacy'; window.sdHelper.sdConsent = 'blocked'; callback(); return; } } }; try { xhr.onerror = function (e) { window.sdHelper.sdLogError("xhr get id adblocked"); window.sdHelper.sdIds.sdCid = 'redacted_for_privacy'; window.sdHelper.sdConsent = 'blocked'; callback(); return; }; } catch (e) {window.sdHelper.sdLogError("xhr get id setRequestHeader problem");} try { if (typeof(xhr.ontimeout) == 'object') { xhr.ontimeout = function (e) { window.sdHelper.sdLogError("xhr timeout reached"); window.sdHelper.sdIds.sdCid = 'redacted_for_privacy'; window.sdHelper.sdConsent = 'blocked'; callback(); return; }; } } catch (e) {window.sdHelper.sdLogError("xhr ontimeout function problem");} var url = 'https://event-preprod.analytics-helper.com/ans/ga/data'; //xhr.open('GET', url+'?origin_token='+encodeURIComponent(window.location.hostname)); xhr.open('GET', url+'?pa='+encodeURIComponent(window.sdHelper.sdPartnerId)+'&c='+encodeURIComponent(window.sdHelper.sdConfigId)); try { if (typeof (xhr.timeout) == 'number' && xhr.timeout === 0) { xhr.timeout = 6000; // durée en millisecondes } } catch (e) {window.sdHelper.sdLogError("xhr timeout problem");} if (typeof(refreshCache) !== 'undefined' && refreshCache && typeof (xhr.setRequestHeader) == 'function') { try { xhr.setRequestHeader("Cache-Control", "no-cache, no-store, max-age=0"); xhr.setRequestHeader("Expires", "Tue, 01 Jan 1980 1:00:00 GMT"); xhr.setRequestHeader("Pragma", "no-cache"); } catch (e) {window.sdHelper.sdLogError("xhr get id setRequestHeader problem");} } /* if (xhr.withCredentials) { try { xhr.withCredentials = false; } catch (e) {window.sdHelper.sdLogError("xhr get id withCredentials problem");} }*/ xhr.send(null); } catch (e) { window.sdHelper.sdLogError("xhr get id global problem"); window.sdHelper.sdIds.sdCid = 'redacted_for_privacy'; window.sdHelper.sdConsent = 'blocked'; callback(); } } catch (e) { window.sdHelper.sdLogError(e); window.sdHelper.sdIds.sdCid = 'redacted_for_privacy'; window.sdHelper.sdConsent = 'blocked'; callback(); } return; } window.sdHelper.sdStringifyEvent = function (event) { var data = {}; if (typeof(event)=='object') { try { var data = { name: event.name||null, stack: event.stack||null, eventPhase: event.eventPhase||null, type: event.type||null, isTrusted: event.isTrusted||null, returnValue: event.returnValue||null, timeStamp: event.timeStamp||null, message: event.message||null, }; } catch (e) {} try { if (event.target) { data.target = { src: event.target.src||null, tagName: event.target.tagName || 'UNKNOWN_HTMLELEMENT', className: event.target.className||null, readyState: event.target.readyState||null }; } } catch (e) {} } return JSON.stringify(window.sdHelper.sdObjectIsEmpty(data)?event:data); } window.sdHelper.sdSetOptin = function () { //Puisque consentement ou pas besoin de consentement et IL établi non opposé, suppression des cookies d'optout try { if (!window.sdHelper.sdObjectIsEmpty(window.sdHelper.sdIds) && window.sdHelper.sdIds.sdCid && window.sdHelper.sdIds.sdCid !== 'redacted_for_privacy') { if (typeof (window.btoa) !== 'undefined') { window.sdHelper.sdSetCookie('ga_helper_consent',window.btoa(JSON.stringify(window.sdHelper.sdIds)),360); } if (typeof (window.btoa) !== 'undefined') { window.sdHelper.sdSetInStorage('ga_helper_consent',window.btoa(JSON.stringify(window.sdHelper.sdIds))); } } if (!window.sdHelper.sdConfig.ignore_tcf) { window.sdHelper.sdUserOptout = false; window.sdHelper.sdEraseCookie('ga_helper_optout'); window.sdHelper.sdEraseInStorage('ga_helper_optout'); } if (window.sdHelper.sdConsentModeForced/* && window.sdHelper.sdShouldActivateConsentMode()*/) { window.sdHelper.sdGtag('consent', 'update', { 'analytics_storage': 'granted' }); window.sdHelper.sdTestConsentMode = true; } window.sdHelper.sdPreviousConsent = window.sdHelper.sdConsent; window.sdHelper.sdConsent = 'consent'; window.sdHelper.sdGaUpdateConsentSignal(true); window["_gaUserPrefs"].ioo = function() { return false; } if ((!window.sdHelper.sdUidPushedInDl || window.sdHelper.sdObjectIsEmpty(window.sdHelper.sdIds) || window.sdHelper.sdIds.sdCid == 'redacted_for_privacy') && (!window.sdHelper.sdPreviousConsent || window.sdHelper.sdPreviousConsent == 'no_consent' || window.sdHelper.sdPreviousConsent == 'init')) { //Si id existant alors on le stocke try { //Si pas d'id existant on le charge window.sdHelper.sdGetUserData(window.sdHelper.sdSetGaGtagOnUidReady,false); } catch (e) {window.sdHelper.sdLogError(e);} } } catch (e) {window.sdHelper.sdLogError(e);} } window.sdHelper.sdSetNoOptinNoOptout = function () { //Pas de consentement, on supprime les cookies de tracking window.sdHelper.sdEraseCookie('ga_helper_consent'); window.sdHelper.sdEraseInStorage('ga_helper_consent'); if (!window.sdHelper.sdConfig.ignore_tcf) { window.sdHelper.sdUserOptout = false; //mais IL ok on supprime cookie d'optout window.sdHelper.sdEraseCookie('ga_helper_optout'); window.sdHelper.sdEraseInStorage('ga_helper_optout'); } window.sdHelper.sdPreviousConsent = window.sdHelper.sdConsent; window.sdHelper.sdConsent = 'no_consent_no_object'; window.sdHelper.sdGaUpdateConsentSignal(false); window["_gaUserPrefs"].ioo = function() { return false; } if ((!window.sdHelper.sdUidPushedInDl || window.sdHelper.sdObjectIsEmpty(window.sdHelper.sdIds) || window.sdHelper.sdIds.sdCid == 'redacted_for_privacy') && (!window.sdHelper.sdPreviousConsent || window.sdHelper.sdPreviousConsent == 'no_consent' || window.sdHelper.sdPreviousConsent == 'init')) { try { window.sdHelper.sdGetUserData(window.sdHelper.sdSetGaGtagOnUidReady,false); } catch (e) {window.sdHelper.sdLogError(e);} } } window.sdHelper.sdSetOptout = function () { try { window.sdHelper.sdPreviousConsent = window.sdHelper.sdConsent; window.sdHelper.sdConsent = 'no_consent'; window.sdHelper.sdGaUpdateConsentSignal(false); //On supprime les éventuels cookies de tracking window.sdHelper.sdEraseCookie('ga_helper_consent'); window.sdHelper.sdEraseInStorage('ga_helper_consent'); if (!window.sdHelper.sdConfig.ignore_tcf) { window.sdHelper.sdUserOptout = true; //On ajoute les cookies d'optout window.sdHelper.sdSetCookie('ga_helper_optout',1,360); window.sdHelper.sdSetInStorage('ga_helper_optout',1); } window["_gaUserPrefs"].ioo = function() { return true; } for (var i in window.sdHelper.sdClientTidSet) { i = parseInt(i,10); if (window.sdHelper.sdClientTidSet.hasOwnProperty(i) && window.sdHelper.sdClientTidSet[i].length > 0 && window.sdHelper.sdClientTidSet[i] && !window.sdHelper.sdInArrayOrObject(window.sdHelper.sdGaDisabledTid,window.sdHelper.sdClientTidSet[i])) { window['ga-disable-'+window.sdHelper.sdClientTidSet[i]] = true; window.sdHelper.sdGaDisabledTid.push(window.sdHelper.sdClientTidSet[i]); } } //On dépile sans débloquer les balises monitorées if (window.sdHelper.sdPreviousConsent && window.sdHelper.sdPreviousConsent == 'init') { window.sdHelper.sdRunGtagOnFuncAndUuidReady(); window.sdHelper.sdRunGaOnFuncAndUuidReady(); } } catch (e) { window.sdHelper.sdLogError(e); return; } return true; } window.sdHelper.sdInitChoiceManagement = function () { if (window.sdHelper.sdLaunchedAlready || window.sdHelper.sdTcfOverriden || typeof(window.__tcfapi) == 'undefined') { return; } window.sdHelper.sdLaunchedAlready = true; try { window.__tcfapi('addEventListener', 2, function (tcData, success) { if (window.sdHelper.sdTcfOverriden) { return; } if (!success || !tcData || typeof(tcData.gdprApplies) == 'undefined' || ((!tcData.eventStatus || !tcData.purpose || !tcData.publisher) && tcData.gdprApplies) || tcData.cmpStatus == "stub") { if (tcData && tcData.cmpStatus == "stub") { //script en cache, on doit différer le lancement if (tcData && tcData.listenerId) { __tcfapi('removeEventListener', 2, function () {}, tcData.listenerId); } window.sdHelper.sdLaunchedAlready = false; setTimeout(window.sdHelper.sdInitChoiceManagement, 1); } return } //CONSENT ET IL pour GG +> Appel classique if (!tcData.gdprApplies || (tcData.eventStatus === "tcloaded" || tcData.eventStatus === "useractioncomplete" || tcData.eventStatus === "cmpuishown")) { //IGNORE TCF means ignore LI signals : cookies are still subject to consent/purpose 1 if ((!tcData.gdprApplies || (tcData.tcString && ( ( ( (tcData.publisher && tcData.publisher.consents && tcData.publisher.consents[1]) || (tcData.purpose && tcData.purpose.consents && tcData.purpose.consents[1]) ) && ( (window.sdHelper.sdConfig.ignore_tcf && !window.sdHelper.sdUserOptout) || ( (tcData.publisher.consents[8] || ((window.sdHelper.sdConfig.enable_consent_exemption || !window.sdHelper.sdConfig.disable_cookieless_tracking) && tcData.publisher.legitimateInterests && tcData.publisher.legitimateInterests[8])) && (tcData.publisher.consents[10] || ((window.sdHelper.sdConfig.enable_consent_exemption || !window.sdHelper.sdConfig.disable_cookieless_tracking) && tcData.publisher.legitimateInterests && tcData.publisher.legitimateInterests[10])) ) || ( (tcData.purpose.consents[8] || ((window.sdHelper.sdConfig.enable_consent_exemption || !window.sdHelper.sdConfig.disable_cookieless_tracking) && tcData.purpose.legitimateInterests && tcData.purpose.legitimateInterests[8])) && (tcData.purpose.consents[10] || ((window.sdHelper.sdConfig.enable_consent_exemption || !window.sdHelper.sdConfig.disable_cookieless_tracking) && tcData.purpose.legitimateInterests && tcData.purpose.legitimateInterests[10])) ) ) ) && (!tcData.sirdata || (tcData.sirdata.vendor && (tcData.sirdata.vendor.consents && tcData.sirdata.vendor.consents[8] && tcData.sirdata.vendor.consents[9]) || (tcData.sirdata.vendor.legitimateInterests && tcData.sirdata.vendor.legitimateInterests[8] && tcData.sirdata.vendor.legitimateInterests[9]) )) )))) { window.sdHelper.sdSetOptin(); //__tcfapi('removeEventListener', 2, function () {}, tcData.listenerId); } //NO consent or No IL for GA BUT IL for SAH => Appel via le helper else if ((window.sdHelper.sdConfig.ignore_tcf && !window.sdHelper.sdConfig.disable_cookieless_tracking && !window.sdHelper.sdUserOptout) || (tcData.gdprApplies && tcData.tcString && ( (tcData.publisher && ((tcData.publisher.consents && tcData.publisher.consents[8]) || (!window.sdHelper.sdConfig.disable_cookieless_tracking && tcData.publisher.legitimateInterests && tcData.publisher.legitimateInterests[8])) && ((tcData.publisher.consents && tcData.publisher.consents[10]) || (!window.sdHelper.sdConfig.disable_cookieless_tracking && tcData.publisher.legitimateInterests && tcData.publisher.legitimateInterests[10])) ) || ( tcData.purpose && ((tcData.purpose.consents && tcData.purpose.consents[8]) || (!window.sdHelper.sdConfig.disable_cookieless_tracking && tcData.purpose.legitimateInterests && tcData.purpose.legitimateInterests[8])) && ((tcData.purpose.consents && tcData.purpose.consents[10]) || (!window.sdHelper.sdConfig.disable_cookieless_tracking && tcData.purpose.legitimateInterests && tcData.purpose.legitimateInterests[10])) ) )) /*&& (!tcData.sirdata || (tcData.sirdata.vendor && tcData.sirdata.vendor.consents && tcData.sirdata.vendor.legitimateInterests[8] && tcData.sirdata.vendor.legitimateInterests[9]) )*/) { window.sdHelper.sdSetNoOptinNoOptout(); //__tcfapi('removeEventListener', 2, function () {}, tcData.listenerId); } //NO consent NO IL => backup de GG sans rien else if (tcData.gdprApplies && tcData.tcString && ( ( (!tcData.publisher.consents && !tcData.publisher.legitimateInterests) || ((!tcData.publisher.consents[8] && !tcData.publisher.legitimateInterests[8]) || (!tcData.publisher.consents[10] && !tcData.publisher.legitimateInterests[10]))) && ((!tcData.purpose.consents && !tcData.purpose.legitimateInterests) || ((!tcData.purpose.consents[8] && !tcData.purpose.legitimateInterests[8]) || (!tcData.purpose.consents[10] && !tcData.purpose.legitimateInterests[10])) ) || (tcData.sirdata && (!tcData.sirdata.vendor || (!tcData.sirdata.vendor.consents && !tcData.sirdata.vendor.legitimateInterests) || (!tcData.sirdata.vendor.consents[8] && !tcData.sirdata.vendor.legitimateInterests[8]) || (!tcData.sirdata.vendor.consents[9] && !tcData.sirdata.vendor.legitimateInterests[9]) )))) { //Tout s'arrête, pas de traitement window.sdHelper.sdSetOptout(); //__tcfapi('removeEventListener', 2, function () {}, tcData.listenerId); } } if (tcData.gdprApplies && (tcData.eventStatus == 'cmpuishown' || tcData.eventStatus == 'tcloaded' || tcData.eventStatus == 'useractioncomplete')) { //Warning si pas les bon partners déclarés try { if (tcData.cmpId == 92) { if (typeof(window.SDDAN) == 'undefined' || !window.SDDAN || !window.SDDAN.sirdataList || !window.SDDAN.sirdataList.vendors) { if (window.sdHelper.sdObjectIsEmpty(tcData.publisher) || (window.sdHelper.sdObjectIsEmpty(tcData.publisher.consents) && window.sdHelper.sdObjectIsEmpty(tcData.publisher.legitimateInterests))) { console.error("Analytics Helper debug : Google Analytics & Sirdata Analytics Helper not declared. Please check CMP settings"); } } else { if (typeof (window.SDDAN.sirdataList.vendors.every) == 'function') { //Controle inversé sur every => doit etre vrai if (window.SDDAN.sirdataList.vendors.every(function(element){return (element.id == '8' ? false : true);})) { console.error("Analytics Helper debug : Google Analytics not declared. Please check CMP settings"); } if (window.SDDAN.sirdataList.vendors.every(function(element){return (element.id == '9' ? false : true);})) { console.error("Analytics Helper debug : Sirdata Analytics Helper not declared. Please check CMP settings"); } } } } else { if (!window.sdHelper.sdConfig.ignore_tcf && (window.sdHelper.sdObjectIsEmpty(tcData.publisher) || (window.sdHelper.sdObjectIsEmpty(tcData.publisher.consents) && window.sdHelper.sdObjectIsEmpty(tcData.publisher.legitimateInterests)))) { console.warn("Analytics Helper debug : Publisher Purpose 1 (consent) and publisher purpose 8 (consent or legitimate interest) may be not declared. Please check CMP settings"); } } } catch (e) {window.sdHelper.sdLogError(e);} } }); } catch (e) {window.sdHelper.sdLogError(e);} } window.sdHelper.sdHandleCMPDidomi = function (Didomi) { if (!Didomi) { return; } if (typeof(window.sdHelper.sdTimeoutFunction) == 'number') { clearTimeout(window.sdHelper.sdTimeoutFunction); window.sdHelper.sdTimeoutFunction = null; } //GDPR Applies ? if ( (!Didomi.isConsentRequired() || Didomi.getUserConsentStatusForPurpose(Didomi.Purposes.Cookies)) && (Didomi.getUserConsentStatusForPurpose(Didomi.Purposes.MeasureContentPerformance) || Didomi.getLegitimateInterestStatusForPurpose(Didomi.Purposes.MeasureContentPerformance)) ) { console.log("Didomi consent"); window.sdHelper.sdSetOptin(); } else if (!Didomi.getUserConsentStatusForPurpose(Didomi.Purposes.Cookies) && (Didomi.getUserConsentStatusForPurpose(Didomi.Purposes.MeasureContentPerformance) || Didomi.getLegitimateInterestStatusForPurpose(Didomi.Purposes.MeasureContentPerformance)) ) { console.log("Didomi cookiless ok"); window.sdHelper.sdSetNoOptinNoOptout(); } else if (//undefined = no choice, false = reject, true = accept Didomi.getUserConsentStatusForPurpose(Didomi.Purposes.Cookies) === false && Didomi.getUserConsentStatusForPurpose(Didomi.Purposes.MeasureContentPerformance) === false && Didomi.getLegitimateInterestStatusForPurpose(Didomi.Purposes.MeasureContentPerformance) === false ) { console.log("Didomi no consent"); //Tout s'arrête, pas de traitement window.sdHelper.sdSetOptout(); } return false; } window.sdHelper.sdRunGaOnFuncAndUuidReady = function () { try { if (window.sdHelper.sdConsent !== 'no_consent') { var l = window.sdHelper.sdGaDisabledTid.length - 1; for (var i = l; i >= 0; i--) { if (window.sdHelper.sdGaDisabledTid.hasOwnProperty(i) && window.sdHelper.sdGaDisabledTid[i].length > 0 && window.sdHelper.sdIsUAClientTid(window.sdHelper.sdGaDisabledTid[i])) { window['ga-disable-'+window.sdHelper.sdGaDisabledTid[i]] = false; window.sdHelper.sdGaDisabledTid.splice(i,1); } } } if (window.sdHelper.sdGaQueue.length > 0) { for (var i in window.sdHelper.sdGaQueue) { i = parseInt(i,10); if (window.sdHelper.sdGaQueue.hasOwnProperty(i) && window.sdHelper.sdGaQueue[i].length > 0) { window[window['GoogleAnalyticsObject']].apply(null, window.sdHelper.sdGaQueue[i]); } } }; if (window.sdHelper.sdConsent !== 'no_consent') { window.sdHelper.sdGaQueue = []; if (window.sdHelper && window.sdHelper.sdIds && window.sdHelper.sdIds.sdCid) { window.sdHelper.sdTriggerUuidEvent(); } } } catch (e) {window.sdHelper.sdLogError(e);} } /* window.sdHelper.sdMonitoreGtagObjectPush = function(item) { var tid; try { if (typeof(item[0]) == 'string') { if (item[0] == 'config' && typeof(item[1]) == 'string') { if (window.sdHelper.sdIsTidMonitored(item[1])) { tid = item[1]; var l = item.length; if (typeof(item[0]) == 'string' && item[0] == 'config' && typeof(item[1]) == 'string' && window.sdHelper.sdIsTidMonitored(item[1])) { window.sdHelper.sdActiveConsentModeIfNeeded(); if (typeof(item[(l - 1)]) == 'object') { item[(l - 1)].client_id = window.sdHelper.sdIds.sdCid; } else { l = l + 1; item[(l - 1)] = { 'client_id': window.sdHelper.sdIds.sdCid, }; item.length = l; } item[(l - 1)]['fromHelper'] = true; if (/^UA-/.test(item[1])) { item[(l - 1)]['fromHelper'] = true; item[(l - 1)].client_storage = 'none'; item[(l - 1)].transport_url = 'https://event-preprod.analytics-helper.com/ans/ga/forward/g'; item[(l - 1)].transport_type = 'xhr'; } else { item[(l - 1)].first_party_collection = true; item[(l - 1)].transport_url = 'https://event-preprod.analytics-helper.com/ans/ga/forward'; } if (typeof(item[(l - 1)]['send_page_view']) == 'undefined') { item[(l - 1)]['send_page_view'] = true; } } } } } } catch (e) {window.sdHelper.sdLogError(e);} return [item,(tid && window.sdHelper.sdIsTidMonitored(tid)?tid:null)]; } */ window.sdHelper.sdRunGtagOnFuncAndUuidReady = function() { try { window.sdHelper.sdGtagQueueIsBeingProcessed = true; if (window.sdHelper && window.sdHelper.sdIds && window.sdHelper.sdIds.sdCid && window.sdHelper.sdConsent !== 'no_consent') { var l = window.sdHelper.sdGaDisabledTid.length - 1; for (var i = l; i >= 0; i--) { if (window.sdHelper.sdGaDisabledTid.hasOwnProperty(i) && window.sdHelper.sdGaDisabledTid[i].length > 0 && window.sdHelper.sdIsGa4ClientTid(window.sdHelper.sdGaDisabledTid[i])) { window['ga-disable-'+window.sdHelper.sdGaDisabledTid[i]] = false; window.sdHelper.sdGaDisabledTid.splice(i,1); } } if (window.sdHelper.sdGtagQueue.length > 0 && window.sdHelper.sdIds && window.sdHelper.sdIds.sdCid) { var old_length = window[window.sdHelper.sdDataLayerObjectWatch].length; var j = 0; if (window.sdHelper.sdGtagQueue.length > 0) { for (var i in window.sdHelper.sdGtagQueue) { if (!window.sdHelper.sdGtagQueueIsBeingProcessed) { return; } i = parseInt(i,10); if (window.sdHelper.sdGtagQueue.hasOwnProperty(i)) { window[window.sdHelper.sdDataLayerObjectWatch].push.call(window[window.sdHelper.sdDataLayerObjectWatch],window.sdHelper.sdGtagQueue[i]); j++; } } window.sdHelper.sdGtagQueue = []; } } window.sdHelper.sdGtagQueueIsBeingProcessed = false; window.sdHelper.sdTriggerUuidEvent(); } } catch (e) { if (window.sdHelper && window.sdHelper.sdIds && window.sdHelper.sdIds.sdCid && window.sdHelper.sdConsent !== 'no_consent') { window.sdHelper.sdTriggerUuidEvent(); } window.sdHelper.sdLogError(e); } return true; } /* window.sdHelper.sdMonitoreGtagObject = function() { try { if (window.sdHelper.sdGtmLoaded) { return; } var initialPush = window.sdHelper.sdDlGGPushFunc = window[window.sdHelper.sdDataLayerObjectWatch].push; var loadedFuncNumber = 0; if (window[window.sdHelper.sdDataLayerObjectWatch].push.toString() !== [].push.toString()) { window.sdHelper.sdGtagPushFuncReady = true; } window.sdHelper.sdDlPushFunc = function (item) { if (typeof(item) !== 'undefined' && !window.sdHelper.sdObjectIsEmpty(item)) { if (item[0] && typeof(item[0]) == 'string' && (item[0] == 'config' || item[0] == 'set' || (item[0] == 'event' && item[1] && typeof(item[1]) == 'string'))) { if (item[0] == 'config') { window.sdHelper.sdActiveConsentModeIfNeeded(); } if (((typeof(window.sdHelper.sdIds.sdCid) == 'undefined' || !window.sdHelper.sdIds.sdCid) && window.sdHelper.sdConsent !== 'no_consent') || window.sdHelper.sdDlPushFunc.toString() == [].push.toString()) { return window.sdHelper.sdGtagDirectPushToQueue.call(null,item); } else if (window.sdHelper.sdDlGGPushFunc.toString() == initialPush.toString()) { var temp = window.sdHelper.sdMonitoreGtagObjectPush(item); if (temp[1] && !window.sdHelper.sdInArrayOrObject(window.sdHelper.sdClientTidSet,temp[1])) { window.sdHelper.sdClientTidSet.push(temp[1]); } if (temp[1]) { window['ga-disable-'+temp[1]] = false; } //Sinon on charge, mais avant on vérifie que la queue est dépilée if (window.sdHelper.sdGtagQueue.length > 0 && window.sdHelper.sdGtagQueueIsBeingProcessed == false) { window.sdHelper.sdRunGtagOnFuncAndUuidReady(); } var old_length = window[window.sdHelper.sdDataLayerObjectWatch].length; var res = initialPush.call(window[window.sdHelper.sdDataLayerObjectWatch], temp[0]); //var res = window.sdHelper.sdDlGGPushFunc.call(this, temp[0]); if (old_length == window[window.sdHelper.sdDataLayerObjectWatch].length) { res = [].push.call(privateDataLayer, temp[0]); } return res; } } return initialPush.call(window[window.sdHelper.sdDataLayerObjectWatch], item); } return initialPush; }; } catch (e) {window.sdHelper.sdLogError(e);} try { window.sdHelper.sdGtagDirectPushToQueue = function(item) { window.sdHelper.sdGtagQueue.push(item); return true; }; } catch (e) {window.sdHelper.sdLogError(e);} try { window.sdHelper.sdGtagPushFunc = function() { return 'nok'; }; } catch (e) {window.sdHelper.sdLogError(e);} Object.defineProperty(window[window.sdHelper.sdDataLayerObjectWatch], 'push', { enumerable: false, configurable: false, set: function(value) { if (typeof(value) == 'function' && value.toString() !== 'function () { [native code] }' && value.toString() !== [].push.toString() && /arguments/.test(value.toString()) && !/Array\.from/.test(value.toString()) && !/Proxy/.test(value.toString())) { window.sdHelper.sdGtagQueueIsBeingProcessed = false; window.sdHelper.sdGtagPushFuncReady = true; var oldValue = window.sdHelper.sdDlPushFunc; //var oldValue = window.sdHelper.sdDlGGPushFunc; window.sdHelper.sdDlGGPushFunc = value; loadedFuncNumber = loadedFuncNumber + 1; var numLoadedFuncNumber = loadedFuncNumber; window.sdHelper.sdDlPushFunc = function (item) { if (typeof(item) !== 'undefined' && !window.sdHelper.sdObjectIsEmpty(item)) { if (item[0] && typeof(item[0]) == 'string' && (item[0] == 'config' || item[0] == 'set' || (item[0] == 'event' && item[1] && typeof(item[1]) == 'string'))) { if (item[0] == 'config') { window.sdHelper.sdActiveConsentModeIfNeeded(); } if (((typeof(window.sdHelper.sdIds.sdCid) == 'undefined' || !window.sdHelper.sdIds.sdCid) && window.sdHelper.sdConsent !== 'no_consent') || window.sdHelper.sdDlPushFunc.toString() == [].push.toString()) { return window.sdHelper.sdGtagDirectPushToQueue.call(null,item); } if (window.sdHelper.sdDlGGPushFunc.toString() == value.toString() && loadedFuncNumber == numLoadedFuncNumber) { var temp = window.sdHelper.sdMonitoreGtagObjectPush(item); if (temp[1] && !window.sdHelper.sdInArrayOrObject(window.sdHelper.sdClientTidSet,temp[1])) { window.sdHelper.sdClientTidSet.push(temp[1]); } if (temp[1]) { window['ga-disable-'+temp[1]] = false; } //Sinon on charge, mais avant on vérifie que la queue est dépilée if (window.sdHelper.sdGtagQueue.length > 0 && window.sdHelper.sdGtagQueueIsBeingProcessed == false) { window.sdHelper.sdRunGtagOnFuncAndUuidReady(); } var old_length = window[window.sdHelper.sdDataLayerObjectWatch].length; var res = value.call(null,temp[0]); if (old_length == window[window.sdHelper.sdDataLayerObjectWatch].length) { //res = [].push.call(privateDataLayer, temp[0]); } return res; } } return value.call(window[window.sdHelper.sdDataLayerObjectWatch], item); } else { return value; } return value; //window.sdHelper.sdDlGGPushFunc.apply(this, item); }; if ((typeof(window.sdHelper.sdIds.sdCid) !== 'undefined' && window.sdHelper.sdIds.sdCid) || window.sdHelper.sdConsent == 'no_consent') { window.sdHelper.sdRunGtagOnFuncAndUuidReady(); } } return value; }, get: function () { return window.sdHelper.sdDlPushFunc || initialPush; } }); } */ window.sdHelper.sdWatchGAObjectChanges = function() { try { if (typeof(window['GoogleAnalyticsObject']) !== 'undefined' && window['GoogleAnalyticsObject']) { try { window.sdHelper.sdGaObject = function(){ if (typeof(arguments) == 'object') { var temp = window.sdHelper.sdUpdateGaArguments(arguments); if (temp[2] && !window.sdHelper.sdInArrayOrObject(window.sdHelper.sdClientTidSet,temp[2])) { window.sdHelper.sdClientTidSet.push(temp[2]); } if (temp[1] && !window.sdHelper.sdInArrayOrObject(window.sdHelper.sdClientNameMonitored,temp[1])) { window.sdHelper.sdClientNameMonitored.push(temp[1]); } if (typeof(window.sdHelper.sdIds.sdCid) == 'undefined' || !window.sdHelper.sdIds.sdCid || !window.sdHelper.sdGaPushFuncReady) { if (!window.sdHelper.sdInArrayOrObject(window.sdHelper.sdGaQueue,temp[0])) { window.sdHelper.sdGaQueue.push(temp[0]); } //Si en pause on suspend le tracker pour la cohabitation avec GA4 if (temp[2] && !window.sdHelper.sdInArrayOrObject(window.sdHelper.sdGaDisabledTid,temp[2])) { //window['ga-disable-'+temp[2]] = true; //window.sdHelper.sdGaDisabledTid.push(temp[2]); } } else { if (!window.sdHelper.sdInArrayOrObject(window[window['GoogleAnalyticsObject']].q,temp[0])) { window.sdHelper.sdGaFunc.apply(null, temp[0]); } } if (temp[1]) { window[window['GoogleAnalyticsObject']](temp[1]+'.set','auto_set'); } } }; } catch (e) {window.sdHelper.sdLogError(e);} try { if (typeof(window[window['GoogleAnalyticsObject']]) !== 'undefined') { try { delete window[window['GoogleAnalyticsObject']]; } catch (e) {window.sdHelper.sdLogError(e);} } } catch (e) {window.sdHelper.sdLogError(e);} try { Object.defineProperty(window, window['GoogleAnalyticsObject'].toString(), { enumerable: true, configurable: false, get: function(){return window.sdHelper.sdGaObject;}, set: function(value) { //Anti ad block sur la fonction if (typeof(value) == 'function' && value.toString() !== window.sdHelper.sdGaObject.toString() && value.toString() !== window.sdHelper.sdGaFunc.toString() && /arguments/.test(value.toString()) && !/hitCallback/.test(value.toString()) && !/Array\.from/.test(value.toString()) && !/Proxy/.test(value.toString())) { window.sdHelper.sdGaFunc = value; window.sdHelper.sdGaPushFuncReady = true; for (var i in value) { if (value.hasOwnProperty(i) && typeof(value[i]) !== 'undefined') { window.sdHelper.sdGaObject[i] = value[i]; } } if ((typeof(window.sdHelper.sdIds.sdCid) !== 'undefined' && window.sdHelper.sdIds.sdCid) || window.sdHelper.sdConsent == 'no_consent') { window.sdHelper.sdRunGaOnFuncAndUuidReady(); } } return true; }, }); } catch (e) {} //Adblock & Firefox window[window['GoogleAnalyticsObject']].loaded = false; } } catch (e) {window.sdHelper.sdLogError(e);} } window.sdHelper.sdSetGaGtagOnUidReady = function() { //window["_gaUserPrefs"].ioo = function() { return false; } if ((window.sdHelper.sdIds && window.sdHelper.sdIds.sdCid) || window.sdHelper.sdConsent == 'no_consent') { window.sdHelper.sdRunGtagOnFuncAndUuidReady(); } if (window.sdHelper.sdGaPushFuncReady && ((window.sdHelper.sdIds && window.sdHelper.sdIds.sdCid) || window.sdHelper.sdConsent == 'no_consent')) { window.sdHelper.sdRunGaOnFuncAndUuidReady(); } } window.sdHelper.sdInitGaWatch = function() { try { window.sdHelper.sdGoogleAnalyticsObject = (window['GoogleAnalyticsObject']||'ga').toString(); if (typeof(window[window['GoogleAnalyticsObject']]) !== 'undefined') { if (typeof(window[window['GoogleAnalyticsObject']].q) !== 'undefined') { for (var i in window[window['GoogleAnalyticsObject']].q) { i = parseInt(i,10); if (window[window['GoogleAnalyticsObject']]['q'].hasOwnProperty(i) && window[window['GoogleAnalyticsObject']]['q'][i].length > 0) { window.sdHelper.sdGaQueue.push(window[window['GoogleAnalyticsObject']]['q'][i]); } } window[window['GoogleAnalyticsObject']]['q'] = []; } //delete window[window['GoogleAnalyticsObject']]; } if (typeof(window['GoogleAnalyticsObject']) !== 'undefined' && typeof(window[window['GoogleAnalyticsObject']].getAll) == 'function') { //delete window['GoogleAnalyticsObject']; var trackers = window[window['GoogleAnalyticsObject']].getAll(); trackers.forEach(function(tracker) { window[window['GoogleAnalyticsObject']].remove(tracker.get('name')); }); } try { Object.defineProperty(window, "GoogleAnalyticsObject", { enumerable: true, configurable: false, get: function(){return window.sdHelper.sdGoogleAnalyticsObject;}, set: function(value) { if (value.toString() !== window.sdHelper.sdGoogleAnalyticsObject.toString()) { window.sdHelper.sdGoogleAnalyticsObject = value; window.sdHelper.sdWatchGAObjectChanges(); } return value; }, }); } catch (e) {} window.sdHelper.sdWatchGAObjectChanges(); } catch (e) {window.sdHelper.sdLogError(e);} } var sdTestUserOptout = null; /* if (window.sdHelper.sdConsent == 'consent') { window.sdHelper.sdSetOptin(); } else if (window.sdHelper.sdConsent == 'no_consent_no_object') { window.sdHelper.sdSetNoOptinNoOptout(); } else if (window.sdHelper.sdConsent == 'no_consent') { window.sdHelper.sdSetOptout(); sdTestUserOptout = 1; } else { */ //On check si optout => tout s'arrête //1 : vérification de l'optout sdTestUserOptout = window.sdHelper.sdGetCookieByName('ga_helper_optout'); if (!sdTestUserOptout) { sdTestUserOptout = window.sdHelper.sdGetFromStorage('ga_helper_optout'); } //} if (sdTestUserOptout && sdTestUserOptout == '1') { window.sdHelper.sdUserOptout = true; window.sdHelper.sdConsent = 'no_consent'; window["_gaUserPrefs"].ioo = function() { return true; } window.sdHelper.sdSetGaGtagOnUidReady(); if (window.sdHelper.sdConfig.ignore_tcf) { return; } } window.sdHelper.sdInitGtagGaWatch = function() { //window.sdHelper.sdMonitoreGtagObject(); window.sdHelper.sdInitGaWatch(); return true; } window.sdHelper.sdInitGtagGaWatch(); if (window.sdHelper.sdGetFromStorage('ga_helper_debug')) { window.sdHelper.sdDebug = true; } if (!sdTestUserOptout || sdTestUserOptout !== '1') { if (window.sdHelper.sdGtmLoaded) { //window.sdHelper.sdActiveConsentModeIfNeeded(); } //On laisse les signaux du TCF prévaloir sur un éventuel push de signal de consentement manuel window.sdHelper.sdConsent = 'init'; //Timeout adblock window.sdHelper.sdOnWindowReady(function() { if (!window.sdHelper.sdTcfOverriden && window.sdHelper.sdConsent !== 'no_consent') { window.sdHelper.sdTimeoutFunction = setTimeout(function() { if (!window.sdHelper.sdTcfSuccess && (typeof(window.sdHelper.sdUidPushedInDl) == 'undefined' || !window.sdHelper.sdUidPushedInDl)) { window.sdHelper.sdConsent = 'blocked'; window.sdHelper.sdActiveConsentModeIfNeeded(); window.sdHelper.sdGetUserData(window.sdHelper.sdSetGaGtagOnUidReady,false); } }, 1500); } }); } window.sdHelper.sdLoadConsentQueue(); window.didomiOnReady = window.didomiOnReady || []; window.didomiOnReady.push(function (data) { if (window.sdHelper.sdCmpDidomiLaunchedAlready) { return; } window.sdHelper.sdCmpDidomiLaunchedAlready = true; try { if (!data) { return; } //TCF //if (data.getConfig().app.vendors.iab.enabled) { if (data.isTCFEnabled()) { return; } //Didomi en mode non TCF window.sdHelper.sdTcfOverriden = true; window.sdHelper.sdHandleCMPDidomi(data); window.didomiEventListeners = window.didomiEventListeners || []; window.didomiEventListeners.push({ event: 'consent.changed', listener: function (context) { window.sdHelper.sdHandleCMPDidomi(window.Didomi||{}); } }); } catch (e) {} }); try { window.sdHelper.sdOnTcfReady( function(){ if (window.sdHelper.sdTcfOverriden) { return; } try { if (typeof(window.__tcfapi) == 'function') { window.__tcfapi('addEventListener', 2, function (tcData, success) { if (window.sdHelper.sdTcfOverriden) { return; } if (success) { window.sdHelper.sdTcfSuccess = true; if (typeof(window.sdHelper.sdTimeoutFunction) == 'number') { clearTimeout(window.sdHelper.sdTimeoutFunction); window.sdHelper.sdTimeoutFunction = null; } } if (tcData && tcData.cmpId && tcData.cmpId == 10) { window.sdHelper.sdConsent = 'wait'; //Quantcast n'établit pas l'IL dès la transparence établie, on doit attendre le choix window.sdHelper.sdOnDocumentReady(window.sdHelper.sdInitChoiceManagement); } else { window.sdHelper.sdInitChoiceManagement(); } if (!success || !tcData || typeof(tcData.eventStatus) == 'undefined' || typeof(tcData.gdprApplies) == 'undefined' || ((!tcData.eventStatus || !tcData.purpose || !tcData.publisher) && tcData.gdprApplies)) { return; } __tcfapi('removeEventListener', 2, function () {}, tcData.listenerId); }); } } catch (e) { if (window.sdHelper.sdTcfOverriden) { return; } console.info("Analytics Helper debug : TCF V2 compliant CMP is missing, please make sure that opt'out resulting in \"ga_helper_optout\" cookie with value \"1\" is possible on privacy page or cookie banner."); window.sdHelper.sdLogError(e); } }, function(){ if (window.sdHelper.sdTcfOverriden) { return; } console.info("Analytics Helper debug : TCF V2 compliant CMP is missing, please make sure that opt'out resulting in \"ga_helper_optout\" cookie with value \"1\" is possible on privacy page or cookie banner."); } ); } catch (e) {window.sdHelper.sdLogError(e);} } catch (e) { console.log(e); try{ window.sdHelper = window.sdHelper || {}; if (window.sdHelper && window.sdHelper.sdUserOptout) { return; } } catch (a) {} try { if (typeof(window.sdHelper.sdUidPushedInDl) == 'undefined' || !window.sdHelper.sdUidPushedInDl) { window.sdHelper.sdUidPushedInDl = true; //window["_gaUserPrefs"].ioo = function() { return false; } var tmsName = tms || 'gtm'; var dlName = dataLayerName || 'dataLayer'; window.sdHelper.eventData = {'event': 'sdh_UUID_ready','sdh_UUID': 'redacted_for_privacy','sah_pa': '','sah_c': '','sah_consent': '0'}; if (window.sdHelper.sdIds) { if (window.sdHelper.sdIds.sdSid) { window.sdHelper.eventData.sah_sid = window.sdHelper.sdIds.sdSid; } if (window.sdHelper.sdIds.sdTs) { window.sdHelper.eventData.sah_ts = window.sdHelper.sdIds.sdTs; } } if (tmsName == "gtm") { window[dlName].push(window.sdHelper.eventData); } else if (tmsName == "tealium") { window[dlName].sirdata_events = window[dlName].sirdata_events || []; window[dlName].sirdata_events.push(window.sdHelper.eventData); } //callback & queue listener window.sdHelper.sdLoadCallbackQueue(); } } catch (a) {console.log(a);} try{ var final_error = {}; //Bug tracking if (typeof(e) == 'object') { //final_error = JSON.stringify(e); if (window.sdHelper.sdObjectIsEmpty(final_error)) { final_error = window.sdHelper.sdStringifyEvent(e); } } if (!window.sdHelper.sdObjectIsEmpty(final_error)) { final_error = final_error.toString(); if (final_error && final_error !== '{}') { try { var url = 'https://pings.analytics-helper.com/bug_report.php'; var xhr = new window.XMLHttpRequest(); xhr.open('POST', url); xhr.withCredentials = false; xhr.send(final_error); } catch (a) {console.log(a);} } } } catch (a) {console.log(a);} } })('', 'gtm', 'dataLayer', '', '');