var apmRef = { referrer: document.referrer, referrerPath: document.referrer.replace(/^[^:]+:\/\/[^/]+/, '').replace(/#.*/, '').replace(/\?.*/, '') } var apm2 = { foo: document.body, addJavascript: function (src, sync) { var js = document.createElement('script'); js.type = 'text/javascript'; if (sync == "async") { js.async = "async"; } js.src = src; if(apm2.foo) { apm2.foo.appendChild(js); } }, addInline: function (src, sync) { var inline = document.createElement('script'); inline.type = 'text/javascript'; if (sync == "async") { inline.async = "async"; } inline.innerHTML = src; if(apm2.foo) { apm2.foo.appendChild(inline); } }, addJs: function (src) { apm2.addJavascript(src, "sync"); }, addJs_async: function (src) { apm2.addJavascript(src, "async"); }, addPix: function(src) { var img = document.createElement("img"); img.src = src img.width = "1" img.height = "1" img.border = "0" if(apm2.foo) { apm2.foo.appendChild(img); } }, addFrame: function(src) { var iframe = document.createElement('iframe'); iframe.src = src; iframe.width = "1"; iframe.height = "1"; iframe.frameBorder = "0"; iframe.marginWidth = "0"; iframe.marginHeight = "0"; iframe.scrolling = "no"; iframe.style.border = "0px"; iframe.style.margin = "0px"; if(apm2.foo) { apm2.foo.appendChild(iframe); } }, addCode: function(src) { var fn = eval(src); if (typeof fn === "function") { fn(); } }, setCookie: function (cname,cvalue,exdays) { var d = new Date(); d.setTime(d.getTime() + (exdays*24*60*60*1000)); var expires = "expires=" + d.toGMTString(); document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/; SameSite=None; Secure"; }, getCookie: function (cname) { var name = cname + "="; var decodedCookie = decodeURIComponent(document.cookie); var ca = decodedCookie.split(';'); for(var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { return c.substring(name.length, c.length); } } return ""; }, vendor_list: { 'a': { 'channel': 'p161', 'ratio': 8, 'min': 0, 'max': 0 }, 'b': { 'channel': 'p161', 'ratio': 8, 'min': 0, 'max': 0 }, 'c': { 'channel': 'adsrv', 'ratio': 14, 'min': 0, 'max': 0 }, 'd': { 'channel': 'redint', 'ratio': 14, 'min': 0, 'max': 0 }, 'e': { 'channel': 'usemax', 'ratio': 14, 'min': 0, 'max': 0 }, 'f': { 'channel': 'p161',// This is a Free Pool - u can overwrite it - Its now used for Pool A - P1 'ratio': 14, 'min': 0, 'max': 0 }, 'g': { 'channel': 'p161',// This is a Free Pool - u can overwrite it - Its now used for Pool B - P1 'ratio': 14, 'min': 0, 'max': 0 }, 'h': { 'channel': 'advanced_store', 'ratio': 14, 'min': 0, 'max': 0 } } } /* remove old p161 pools */ var cookie_a = (apm2.getCookie("ilead_apm_a") != "" ? true : false); var cookie_b = (apm2.getCookie("ilead_apm_b") != "" ? true : false); if (cookie_a == true) { apm2.setCookie("ilead_apm_a", false, -1); } if (cookie_b == true) { apm2.setCookie("ilead_apm_b", false, -1); } var pix_list = apm2.vendor_list; var pool_current = ""; var cookie_value = apm2.getCookie("ilead_dpl_pool"); var obj = pix_list[cookie_value]; if (obj != undefined) { /* User bereits in Pool */ apm2.setCookie("ilead_dpl_pool", cookie_value, 120); pool_current = cookie_value; } else { /* User wird in Pool einsortiert */ var min = 1, max = 100; var rdm_ratio = Math.floor(Math.random() * (max - min + 1)) + min; var ratio_sum = 0; for (var key in pix_list) { ratio_sum += pix_list[key].ratio; } var ratio_multiplier = (max - ratio_sum) / ratio_sum; var ratio_recalc = (Math.round(ratio_sum) != max ? true : false); var ratio_sum = 0, new_min = 0, new_max = 0; for (var key in pix_list) { var obj = pix_list[key]; obj.min = new_min +1; new_ratio = ratio_recalc == true ? obj.ratio + obj.ratio * ratio_multiplier : obj.ratio; new_max += Math.round(new_ratio); obj.max = new_max; new_min += Math.round(new_ratio); obj.ratio = new_ratio; ratio_sum += new_ratio; } var lastProperty; for (lastProperty in pix_list); if (pix_list[lastProperty].max < 100) { pix_list[lastProperty].max = 100; } for (var key in pix_list) { var obj = pix_list[key]; if ((rdm_ratio >= obj.min) && (rdm_ratio <= obj.max)) { apm2.setCookie("ilead_dpl_pool", key, 120); pool_current = key; break; } } } /* List of individual trackings */ var apmTrack = { pixel: { 'a': { 'channel': 'p161', 'pix_fn': 'addPix', 'pix_src': 'https://ads.creative-serving.com/pixel?id=3154053' }, 'b': { 'channel': 'p161', 'pix_fn': 'addPix', 'pix_src': 'https://ads.creative-serving.com/pixel?id=3154054' }, 'c': { 'channel': 'adsrv', 'pix_fn': 'addCode', 'pix_src': 'apmTrack.adsrv' }, 'd': { 'channel': 'redint', 'pix_fn': 'addCode', 'pix_src': 'apmTrack.redint' }, 'e': { 'channel': 'usemax', 'pix_fn': 'addJs_async', 'pix_src': 'https://www.usemaxserver.de/d.php?campaign_id=38542&ext_domain=1&rt=1&place=1&basket_amount=[BASKET-AMOUNT]&cachebuster=12677677' }, 'f': { 'channel': 'p161', 'pix_fn': 'addPix', 'pix_src': 'https://ads.creative-serving.com/pixel?id=3154053' }, 'g': { 'channel': 'p161', 'pix_fn': 'addPix', 'pix_src': 'https://ads.creative-serving.com/pixel?id=3154054' }, 'h': { 'channel': 'advanced_store', 'pix_fn': 'addJs_async', 'pix_src': 'https://ad4m.at/8io4pky5.js?type=visit' } }, redint: function() { (function(){ var tp_rtrgt_random = Math.random() * 10000000000000000; var tp_rtrgt_url = 'http'+(('https:'==document.location.protocol)?'s':'')+'://hal9000.redintelligence.net/retarget?a=35480&version=1'; var tpDiv = document.createElement('div'); tpDiv.id = "tp_rtrgt_div_"+tp_rtrgt_random; tpDiv.style.cssText ="position: absolute; visibility:hidden; left:0px; top:0px; width:1px; height:1px; border:0"; var tpIframe = document.createElement('iframe'); tpIframe.id = "tp_rtrgt_iframe_" +tp_rtrgt_random; tpIframe.name = "tp_rtrgt_iframe_" +tp_rtrgt_random; tpIframe.src = tp_rtrgt_url; tpIframe.width = "1"; tpIframe.height = "1"; tpIframe.scrolling = "no"; tpDiv.appendChild(tpIframe); var s = document.getElementsByTagName('script')[0]; s.parentNode.appendChild(tpDiv); })(); } } /* fire global p161 pixel */ apm2.addPix("https://ads.creative-serving.com/pixel?id=3137919"); /* fire individual tracking */ var obj = apmTrack.pixel[pool_current]; var src = obj.pix_src; var fn = obj.pix_fn; var fn = eval('apm2.'+fn); if (typeof fn === "function") { fn(src); }