var elementObj0 = document.createElement('script'); elementObj0.setAttribute('type', 'text/javascript'); elementObj0.innerHTML = ` function getCookie(name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); for (var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') c = c.substring(1, c.length); if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length); } return null; } `; var currentScript = document.currentScript; currentScript.parentNode.insertBefore(elementObj0, currentScript); var elementObj1 = document.createElement('script'); elementObj1.setAttribute('async', ''); elementObj1.setAttribute('src', 'https://www.googletagmanager.com/gtag/js?id=G-PBVX14QJLT'); var currentScript = document.currentScript; currentScript.parentNode.insertBefore(elementObj1, currentScript); var elementObj2 = document.createElement('script'); elementObj2.innerHTML = ` window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date()); var search = (new URLSearchParams(window.location.search))?.get("ref") || getCookie("linkvantage_ref"); var campaign = (new URLSearchParams(window.location.search))?.get("utm_campaign") || getCookie("linkvantage_utm_campaign") if(search !=getCookie("linkvantage_ref")){ campaign = (new URLSearchParams(window.location.search))?.get("utm_campaign") ; } gtag('config', 'G-PBVX14QJLT', { 'user_properties': { 'utm_source_platform': search, 'linkvantage_campaign': campaign, } }); console.log("=======================>"); console.log( { 'utm_source_platform': search, 'linkvantage_campaign': campaign, }) gtag('set', 'user_properties', { 'utm_source_platform': search, 'linkvantage_campaign': campaign, }); `; var currentScript = document.currentScript; currentScript.parentNode.insertBefore(elementObj2, currentScript); var elementObj3 = document.createElement('script'); elementObj3.innerHTML = `(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-T6X4XSCF'); `; var currentScript = document.currentScript; currentScript.parentNode.insertBefore(elementObj3, currentScript); var elementObj4 = document.createElement('noscript'); var currentScript = document.currentScript; currentScript.parentNode.insertBefore(elementObj4, currentScript); var elementObj5 = document.createElement('iframe'); elementObj5.setAttribute('src', 'https://www.googletagmanager.com/ns.html?id=GTM-T6X4XSCF'); elementObj5.setAttribute('height', '0'); elementObj5.setAttribute('width', '0'); elementObj5.setAttribute('style', 'display:none;visibility:hidden'); elementObj4.appendChild(elementObj5); var elementObj6 = document.createElement('script'); elementObj6.setAttribute('type', 'text/javascript'); elementObj6.innerHTML = ` var generateClientHash = () => { // Create the canvas let canvas = document.createElement("canvas"); let ctx = canvas.getContext("2d"); // Draw shapes ctx.fillStyle = "rgb(255,0,255)"; ctx.beginPath(); ctx.rect(20, 20, 150, 100); ctx.fill(); ctx.stroke(); ctx.closePath(); ctx.beginPath(); ctx.fillStyle = "rgb(0,255,255)"; ctx.arc(50, 50, 50, 0, Math.PI * 2, true); ctx.fill(); ctx.stroke(); ctx.closePath(); // Draw text and rectangle txt = "abz190#$%^@£éú"; ctx.textBaseline = "top"; ctx.font = '17px "Arial 17"'; ctx.textBaseline = "alphabetic"; ctx.fillStyle = "rgb(255,5,5)"; ctx.rotate(0.03); ctx.fillText(txt, 4, 17); ctx.fillStyle = "rgb(155,255,5)"; ctx.shadowBlur = 8; ctx.shadowColor = "red"; ctx.fillRect(20, 12, 100, 5); // Convert image to base64 text let src = canvas.toDataURL(); // Basic hash function let hash = 0; for (i = 0; i < src.length; i++) { char = src.charCodeAt(i); hash = (hash << 5) - hash + char; hash = hash & hash; } console.log("HASH: ", hash); return hash; } var generateCookieHandler = () => { var elementObj = document.createElement('iframe'); elementObj.setAttribute('src', "https://linkvantage.net/code/frame"); elementObj.setAttribute('sandbox', "allow-storage-access-by-user-activation allow-scripts allow-same-origin"); elementObj.style.display = "none"; document.querySelector("body").append(elementObj); window.lv_frame = elementObj; return elementObj; } var affElementAdder = (targetSelector, affUtmSrc) => { var elementObj = document.createElement('script'); elementObj.setAttribute('type', 'text/javascript'); elementObj.setAttribute('src', "https://linkvantage.net/tracking-code/"+affUtmSrc+"/"+targetSelector); var currentScript = document.currentScript; document.querySelector(targetSelector).append(elementObj); } var setCookie = (name,value,days) => { var expires = ""; if (days) { var date = new Date(); date.setTime(date.getTime() + (days*24*60*60*1000)); expires = "; expires=" + date.toUTCString(); } document.cookie = name + "=" + (value || "") + expires + "; path=/"; } var getCookie = (name) => { var nameEQ = name + "="; var ca = document.cookie.split(';'); for(var i=0;i < ca.length;i++) { var c = ca[i]; while (c.charAt(0)==' ') c = c.substring(1,c.length); if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); } return null; } var setLvCookie = (name,value,days) => { var expires = ""; if (days) { var date = new Date(); date.setTime(date.getTime() + (days*24*60*60*1000)); expires = date.toUTCString(); } if(window.lv_frame){ window.lv_frame.contentWindow.postMessage({name, value , days, origin:"lv_script"}, "https://linkvantage.net") } } var makeLvid = (length) => { let result = ''; const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; const charactersLength = characters.length; let counter = 0; while (counter < length) { result += characters.charAt(Math.floor(Math.random() * charactersLength)); counter += 1; } return result; } var getDeviceInfo = () => { const ua = navigator.userAgent; const isRobot = /bot|crawl|slurp|spider|googlebot|bingbot|facebookexternalhit|twitterbot|linkedinbot|pinterest|baidu|duckduckbot/i.test(ua); // Browser and Version let browserName = 'Unknown'; let browserVersion = 'Unknown'; // ua.match(/Firefox/([0-9]+)./)[1] if (/firefox|fxios/i.test(ua)) { browserName = 'Firefox'; browserVersion = ua.match(/Firefox\\/([0-9]+)\./)[1]; } else if (/chrome|crios/i.test(ua)) { browserName = 'Chrome'; browserVersion = ua.match(/Chrome\\/([0-9]+)\\./)[1]; } else if (/safari/i.test(ua)) { browserName = 'Safari'; browserVersion = ua.match(/Version\\/([0-9]+)\\./)[1]; } else if (/opr\//i.test(ua)) { browserName = 'Opera'; browserVersion = ua.match(/OPR\\\/([0-9]+)\\./)[1]; } else if (/msie|trident/i.test(ua)) { browserName = 'Internet Explorer'; browserVersion = ua.match(/(?:MSIE |rv:)([0-9]+)\./)[1]; } // Device Type const isMobile = /Mobi|Android/i.test(ua); const deviceType = isMobile ? 'Mobile' : 'Desktop'; // Device Information let deviceBrand = 'Unknown'; let deviceModel = 'Unknown'; if (/android/i.test(ua)) { deviceBrand = 'Android'; deviceModel = ua.match(/Android\s([^\s;]+)/) ? ua.match(/Android\s([^\s;]+)/)[1] : 'Unknown'; } else if (/iPad|iPhone|iPod/i.test(ua)) { deviceBrand = 'Apple'; deviceModel = ua.match(/(iPad|iPhone|iPod)/)[0]; } else if (/Windows/i.test(ua)) { deviceBrand = 'Windows'; deviceModel = 'PC'; } // OS Name let osName = 'Unknown'; if (/windows nt/i.test(ua)) { osName = 'Windows'; } else if (/mac os x/i.test(ua)) { osName = 'macOS'; } else if (/android/i.test(ua)) { osName = 'Android'; } else if (/iphone|ipad|ipod/i.test(ua)) { osName = 'iOS'; } else if (/linux/i.test(ua)) { osName = 'Linux'; } return { browserName, browserVersion, deviceType, deviceBrand, deviceModel, osName, isRobot }; } var getDeviceUsingUA = () => { var user_agent = navigator.userAgent??""; // check if the user agent is a robot with case sensitive var isRobot = /bot|crawl|slurp|spider|googlebot|bingbot|facebookexternalhit|twitterbot|linkedinbot|pinterest|baidu|duckduckbot|Bot|Crawler|Spider|Googlebot|Bingbot|FacebookExternalHit|Twitterbot|Linkedinbot|Pinterest|Baidu|DuckDuckBot/.test(user_agent); var browserName = /FBAN|FBAV|fbav|fbav/.test(user_agent)?"Facebook":/Instagram/.test(user_agent)?"Instagram":/Twitter/.test(user_agent)?"Twitter":/LinkedIn/.test(user_agent)?"LinkedIn":/Pinterest/.test(user_agent)?"Pinterest":/Chrome|chrome/.test(user_agent)?"Chrome":/Safari|safari/.test(user_agent)?"Safari":/Firefox|firefox/.test(user_agent)?"Firefox":/Opera|opr/.test(user_agent)?"Opera":/Internet Explorer/.test(user_agent)?"Internet Explorer":"Unknown"; var browserVersion = "Unknown"; deviceType = /Mobi|Android/.test(user_agent)?"Mobile":"Desktop"; var deviceBrand = /android/.test(user_agent)?"Android":/iPad|iPhone|iPod/.test(user_agent)?"Apple":/Windows/.test(user_agent)?"Windows":/mac|Mac|MAC/.test(user_agent)?"Mac":"Unknown"; var deviceModel = /android/.test(user_agent)?user_agent.match(/Android\s([^\s;]+)/)?user_agent.match(/Android\s([^\s;]+)/)[1]:"Unknown":/iPad|iPhone|iPod/.test(user_agent)?user_agent.match(/(iPad|iPhone|iPod)/)[0]:/Windows/.test(user_agent)?"PC":/Mac|mac|MAC/.test(user_agent)?user_agent.match(/Mac|mac|MAC/)[0]:"Unknown"; var osName = /windows/.test(user_agent)?"Windows":/android|Android/.test(user_agent)?"Android":/iphone|iPhone|ipad|ipod/.test(user_agent)?"iOS":/mac os x |Mac|mac|MAC/.test(user_agent)?"macOS":/linux/.test(user_agent)?"Linux":"Unknown"; return { browserName, browserVersion, deviceType, deviceBrand, deviceModel, osName, isRobot }; } //generateCookieHandler(); var affSearchParam = new URLSearchParams(window.location.search); var affUtmSrc = affSearchParam.get("ref") || getCookie("linkvantage_ref"); var affUtmCamp = affSearchParam.get("utm_campaign") || getCookie("linkvantage_cam"); if(affUtmSrc){ /*if(getCookie("linkvantage_ref") != affUtmSrc){ //setCookie("linkvantage_cam", affSearchParam.get("utm_campaign"), 1) } if(affSearchParam.get("utm_campaign")){ //setCookie("linkvantage_cam", affUtmCamp, 1) }*/ setCookie("linkvantage_ref", affUtmSrc, 1) affElementAdder("head", affUtmSrc); affElementAdder("body", affUtmSrc); } window.lv_new_user_id = false; var recordClickLog = (lv_session_id) => { var browser_hash = generateClientHash(); var lv_user = getCookie("lv_user"); if(!lv_user){ lv_user = makeLvid(20); window.lv_new_user_id = true; } setCookie("lv_user", lv_user, 3); setLvCookie("lv_user", lv_user, 3); var lv_session_id = getCookie("lv_session"); if(!lv_session_id){ lv_session_id = makeLvid(32); } setCookie("lv_session", lv_session_id, 0.125); setLvCookie("lv_session", lv_session_id, 0.125); window.lv_user = lv_user; window.lv_session = lv_session_id; var lv_device = { browserName: "Unknown", browserVersion: "Unknown", deviceType: "Unknown", deviceBrand: "Unknown", deviceModel: "Unknown", osName: "Unknown", isRobot: false }; try{ var lv_device = getDeviceUsingUA(); }catch(e){ var lv_device = getDeviceInfo(); } lv_device.linkvantage_user = lv_user; lv_device.browser_hash = browser_hash; lv_device.linkvantage_ref = affUtmSrc; lv_device.url = window.location.origin + window.location.pathname + window.location.search; lv_device.lv_session_id = lv_session_id; lv_device.new_user_id = window.lv_new_user_id; var img = document.createElement("img"); img.src = "https://linkvantage.net/code/pixel?code="+btoa(JSON.stringify(lv_device)); img.style.display = "none"; img.onload = () => { console.log("img loaded : ", img); } document.querySelector("body").append(img); } recordClickLog() console.log("Script end"); `; var currentScript = document.currentScript; currentScript.parentNode.insertBefore(elementObj6, currentScript);