/* AMC ROI TRACKING SCRIPT V 1.0 */ var _wnPg = document.location.href; var _wnRf = document.referrer; var _wnSp; var _wnDir; var _wnCate; var _wnUniq; var _wnDepth; //var _wnTDays = 7; var _wnTDays = 30; var _wnRoitime = 0; //var _wnCkExpires = 15; var _wnCkExpires = 30; var _wnQuery = {}; var _wnCookieValue = ''; var _wnCookieName = 'AMC.tracking'; var _wnCookieNameNew = 'AMC_tracking'; var _todayRoitime = _getRoiTime(0); var _wnRfd = ''; var _wnkwd = ''; var _wnRoiParam = ''; var WN_MAX_TRACK = 10; var _cookieValNew = ""; var _tempCookiesNew = ""; var setCookieParamUrl = document.domain.replace(/\./g,'_'); //광고주URL 치환 var console = window.console || {log:function(){}}; //console.log('_todayRoitime::'+_todayRoitime+', url::'+setCookieParamUrl + ',_wnPg:::'+ _wnPg + ',_wnRf:::'+_wnRf); try { if (_salesPrice != '') { _wnSp=_salesPrice; }} catch (e) { _wnSp=''; } try { if (_pageDepth == 'final') { _wnDepth=_pageDepth; }} catch (e) { _wnDepth=''; } try { if (_directory != '') { _wnDir=_directory; }} catch (e) { _wnDir=''; } try { if (_category != '') { _wnCate=_category; }} catch (e) { _wnCate=''; } try { if (_uniqueCode != '') { _wnUniq=_uniqueCode; }} catch (e) { _wnUniq=''; } /*if(_wnDepth == 'final'){ _wnQuery['wnKey'] = _parseQueryNew('wnKey',_wnRf) + '.' + _wnAdvSiteID + "." + _parseQueryNew('test',_wnRf); _wnQuery['tDays'] = _parseQueryNew('tDays',_wnRf); _wnQuery['test'] = _parseQueryNew('test',_wnRf); } else{ _wnQuery['wnKey'] = _parseQueryNew('wnKey',_wnPg) + '.' + _wnAdvSiteID + "." + _parseQueryNew('test',_wnPg); _wnQuery['tDays'] = _parseQueryNew('tDays',_wnPg); _wnQuery['test'] = _parseQueryNew('test',_wnPg); }*/ _wnPg = _wnPg.replace(/\?/g,'%!3F'); _wnPg = _wnPg.replace(/\%7C/g,''); _wnPg = _wnPg.replace(/&/g,'%!26'); _wnPg = _wnPg.replace(/=/g,'%!3D'); _wnRf = _wnRf.replace(/\?/g,'%!3F'); _wnRf = _wnRf.replace(/&/g,'%!26'); _wnRf = _wnRf.replace(/=/g,'%!3D'); _wnRf = _wnRf.replace(/\%7C/g,''); //keyword.. if (_wnRf != '') { _wnRfd = _getDomain(_wnRf); _wnkwd = _getKeyword(_wnRfd); } _wnQuery['wnKey'] = _parseQuery('wnKey') + '.' + _wnAdvSiteID + "." + _parseQuery('test'); _wnQuery['tDays'] = _parseQuery('tDays'); _wnQuery['test'] = _parseQuery('test'); _tempCookiesNew = _getCookieNew(_wnCookieNameNew, setCookieParamUrl, _pageDepth); //console.log('_wnQuery:::'+_wnQuery + ', _tempCookiesNew:::'+_tempCookiesNew +', _wnCookieNameNew:::'+_wnCookieNameNew+', setCookeParamUrl:::'+ setCookieParamUrl +', _pageDepth:::'+_pageDepth); //_pageDepth == ''; function _parseQueryNew(cname, url){ var str = url; if (str.indexOf(cname) < 0) { return ''; } var len = str.length; var start = str.indexOf(cname+'=') + (cname.length + 1); var tmp = str.substr(start, len - start); var end = start + tmp.indexOf('&'); if (end >= start) { tmp = str.substr(start, (end - start)); } return tmp; } function _parseQuery(cname) { var str = window.location.search; if (str.indexOf(cname) < 0) { return ''; } var len = str.length; var start = str.indexOf(cname+'=') + (cname.length + 1); var tmp = str.substr(start, len - start); var end = start + tmp.indexOf('&'); if (end >= start) { tmp = str.substr(start, (end - start)); } return tmp; } function _getKeyword(domain) { var searchService = { 'www.google.co.kr' : 'q', 'www.google.com' : 'q', 'search.naver.com' : 'query', 'search.daum.net' : 'q', 'kr.search.yahoo.com' : 'p', 'search.empas.com' : 'q', 'search.paran.com' : 'Query', 'search.d.paran.com' : 'q', 'media.com' : 'query' }; if (searchService[domain] != undefined) { var cname = searchService[domain]; var str = top.document.referrer; if (str.indexOf(cname) < 0) { return ''; } var len = str.length; var start = str.indexOf(cname+'=') + (cname.length + 1); var tmp = str.substr(start, len - start); var end = start + tmp.indexOf('&'); if (end >= start) { tmp = str.substr(start, (end - start)); } return tmp; } else { return ''; } } function _getCookieVal (offset) { var endstr = document.cookie.indexOf (';', offset); if (endstr == -1) endstr = document.cookie.length; return unescape(document.cookie.substring(offset, endstr)); //16진수 문자열로 변환된 문자열을 다시 10진수의 문자열로 변환 } function _getCookie(name) { var arg = name + '='; var alen = arg.length; var clen = document.cookie.length; var i = 0; while (i < clen) { var j = i + alen; if (document.cookie.substring(i, j) == arg) return _getCookieVal (j); i = document.cookie.indexOf(' ', i) + 1; if (i == 0) break; } return null; } function callbackSwap(value){ return value; } function getCookieCallback(data){ } function setCookieCallback(data){ } function setRoiCallback(data){ } function checkCookieVal(_tempCookiesNew, _pageDepth){ //console.log('_tempCookiesNew:::'+_tempCookiesNew+', _pageDepth:::'+ _pageDepth + ', _wnQuery key:::'+_wnQuery['wnKey']); console.log('.' + _wnAdvSiteID + "." + _parseQuery('test')); //일반태그 로직 if ((_wnQuery['wnKey'] != '.' + _wnAdvSiteID + "." + _parseQuery('test'))) { //쿠키가 없다면 if (_tempCookiesNew == null || _tempCookiesNew == "" || _tempCookiesNew == "no get"){ _wnRoiParam = _wnQuery['wnKey']; _wnRoitime = _getRoiTime(_wnQuery['tDays'] ? _wnQuery['tDays'] : _wnTDays); _wnCookieValue = _wnQuery['wnKey'] + '.' + _wnRoitime + '.' + _wnkwd; //console.log('_wnRoiParam:::'+_wnRoiParam+', _wnRoitime:::'+ _wnRoitime + ', _wnCookieValue:::'+_wnCookieValue); //쿠키 신규 생성 _setCookieNew(_wnCookieNameNew, _wnCookieValue, _wnCkExpires, setCookieParamUrl); } //쿠키가 있다면 else { var _cookiesList = _tempCookiesNew.split('|'); //쿠키가 여러개 있을경우 for (i = 0 ; i < _cookiesList.length ; i++) { if (i > WN_MAX_TRACK) break; var temp = _cookiesList[i].split('.'); ////console.log(temp[10]+','+_todayRoitime); if (temp[10] - _todayRoitime > 0) { var cookieValue = temp[0] + '.' + temp[1] + '.' + temp[2] + '.' + temp[3] + '.' + temp[4] + '.' + temp[5] + '.' + temp[6] + '.' + temp[7]+ '.' + temp[8]+ '.' + temp[9]; ////console.log('cookieValue'+cookieValue); if (cookieValue != _wnQuery['wnKey']) { _wnCookieValue += _cookiesList[i] + '|'; ////console.log('wnCookieValue'+_wnCookieValue); } } } //roi.searchad.co.kr에 보낼 파라미터 세팅 _wnRoiParam = _wnQuery['wnKey']; _wnRoitime = _getRoiTime(_wnQuery['tDays'] ? _wnQuery['tDays'] : _wnTDays); _wnCookieValue += _wnQuery['wnKey'] + '.' + _wnRoitime+ '.' + _wnkwd; ////console.log('_wnCookieValue2'+_wnCookieValue); } //쿠키 신규 생성 _setCookieNew(_wnCookieNameNew, _wnCookieValue, _wnCkExpires, setCookieParamUrl); } //컨버젼태그 로직 else { if (_tempCookiesNew != null) { var _cookiesList = _tempCookiesNew.split('|'); for (i = _cookiesList.length - 1 ; i >= 0 ; i--) { var temp = _cookiesList[i].split('.'); if (temp[10] - _todayRoitime > 0) { if (_wnAdvID == temp[1]) { _wnRoiParam = temp[0] + '.' + temp[1] + '.' + temp[2] + '.' + temp[3] + '.' + temp[4] + '.' + temp[5] + '.' + temp[6] + '.' + temp[7]+ '.' + temp[8]+ '.' + temp[9]; _wnkwd = temp[11]; break; } } } } } //amc roi var _trackingURL = document.location.protocol.indexOf("https") != -1 ? "https://roi.searchad.co.kr:82/" : "http://roi.searchad.co.kr:82/"; _trackingURL = "https://roi.searchad.co.kr/"; var _requestURL = self.document.location.href; if (_pageDepth == undefined) { var _pageDepth = ''; } // _pageDepth가 'final'이고 (컨버전페이지에서 오는 요청), 쿠키가 있을경우 if ((_pageDepth == 'final') && (_requestURL.substr(0,4) != "file") && (_wnRoiParam != '')) { $.ajax({ crossOrigin : true, async: false, dataType : "jsonp", type : "GET", jsonpCallback : "setRoiCallback", contentType : "application/json; charset=UTF-8", url : 'https://adsvc2.wisenut.co.kr/amc/connectRoiLog.php/' + "?cmpnno=" + _wnAdvID + "&roiID=" + _wnTrackingID +"&wnKey="+_wnRoiParam+"&rf="+_wnRf+"&sp="+_wnSp+"&depth="+_wnDepth+"&rfd="+_wnRfd+"&kwd="+_wnkwd+"&dir="+_wnDir+"&cate="+_wnCate+"&uniq="+_wnUniq + "&pg="+_wnPg, success : function(res){ ////console.log("Success to report ROI"); }, error : function(error){ ////console.log("Fail to report ROI : "+JSON.stringify(error)); } }); if(_wnRoiParam != null && _wnRoiParam != ""){ var params = _wnRoiParam.split('.'); if(params != null && params.length > 7){ sendTargetingCv(params[6], params[7], params[2], _requestURL, _wnSp); } } } _pageDepth == ''; /*//쿠키가 없다면 if (_tempCookiesNew == null || _tempCookiesNew == "" || _tempCookiesNew == "no get"){ _wnRoiParam = _wnQuery['wnKey']; _wnRoitime = _getRoiTime(_wnQuery['tDays'] ? _wnQuery['tDays'] : _wnTDays); _wnCookieValue = _wnQuery['wnKey'] + '.' + _wnRoitime + '.' + _wnkwd; //쿠키 신규 생성 _setCookieNew(_wnCookieNameNew, _wnCookieValue, _wnCkExpires, setCookieParamUrl); } //쿠키가 있다면 else { var _cookiesList = _tempCookiesNew.split('|'); //쿠키가 여러개 있을경우 for (i = 0 ; i < _cookiesList.length ; i++) { if (i > WN_MAX_TRACK) break; var temp = _cookiesList[i].split('.'); if (temp[10] - _todayRoitime > 0) { var cookieValue = temp[0] + '.' + temp[1] + '.' + temp[2] + '.' + temp[3] + '.' + temp[4] + '.' + temp[5] + '.' + temp[6] + '.' + temp[7]+ '.' + temp[8]+ '.' + temp[9]; if (cookieValue != _wnQuery['wnKey']) { _wnCookieValue += _cookiesList[i] + '|'; } } } //roi.searchad.co.kr에 보낼 파라미터 세팅 _wnRoiParam = _wnQuery['wnKey']; _wnRoitime = _getRoiTime(_wnQuery['tDays'] ? _wnQuery['tDays'] : _wnTDays); _wnCookieValue += _wnQuery['wnKey'] + '.' + _wnRoitime+ '.' + _wnkwd; } //amc roi var _trackingURL = document.location.protocol.indexOf("https") != -1 ? "https://roi.searchad.co.kr:82/" : "http://roi.searchad.co.kr:82/"; _trackingURL = "https://roi.searchad.co.kr/"; var _requestURL = self.document.location.href; if (_pageDepth == undefined) { var _pageDepth = ''; } // _pageDepth가 'final'이고 (컨버전페이지에서 오는 요청), 쿠키가 있을경우 if ((_pageDepth == 'final') && (_requestURL.substr(0,4) != "file") && (_wnRoiParam != '')) { $.ajax({ crossOrigin : true, async: false, dataType : "jsonp", type : "GET", jsonpCallback : "setRoiCallback", contentType : "application/json; charset=UTF-8", url : 'https://adsvc2.wisenut.co.kr/amc/connectRoiLog.php/' + "?cmpnno=" + _wnAdvID + "&roiID=" + _wnTrackingID + "&pg="+_wnPg+"&rf="+_wnRf+"&sp="+_wnSp+"&depth="+_wnDepth+"&rfd="+_wnRfd+"&kwd="+_wnkwd+"&wnKey="+_wnRoiParam+"&dir="+_wnDir+"&cate="+_wnCate+"&uniq="+_wnUniq, success : function(res){ ////console.log("Success to report ROI"); }, error : function(error){ ////console.log("Fail to report ROI : "+JSON.stringify(error)); } }); if(_wnRoiParam != null && _wnRoiParam != ""){ var params = _wnRoiParam.split('.'); if(params != null && params.length > 7){ sendTargetingCv(params[6], params[7], params[2], _requestURL, _wnSp); } } }*/ } function _getCookieNew(name, refUrl, _pageDepth) { var tmp = ""; if (refUrl==''){ return tmp; } $.ajax({ crossOrigin : true, dataType : "jsonp", async: false, type : "GET", url : "https://adsvc2.wisenut.co.kr/amc/amc_cookie_mng.php/?mode=res&name="+name+"&domain="+"_"+refUrl, contentType : "application/json; charset=UTF-8", jsonpCallback : "getCookieCallback", success : function(res){ tmp = res.val.replace(/\"/g,''); //console.log('tmp:::'+tmp+', _pageDepth:::'+_pageDepth); checkCookieVal(tmp, _pageDepth); }, error : function(error){ ////console.log("error : "+JSON.stringify(error)); } }); //return tmp; } function _setCookieNew(cookieName, value, expiredays, domainName) { $.ajax({ crossOrigin : true, dataType : "jsonp", async: false, type : "GET", url : "https://adsvc2.wisenut.co.kr/amc/amc_cookie_mng.php/?mode=req&name="+cookieName+"&domain=_"+domainName+"&cVal="+value, jsonpCallback : "setCookieCallback", contentType : "application/json; charset=UTF-8", success : function(data){ }, error : function(error){ //console.log(error); } }); } /*function _setCookie(name, value, expiredays) { var todayDate = new Date(); todayDate.setDate(todayDate.getDate() + expiredays); //document.cookie = name + '=' + escape(value) + '; path=/; expires=' + todayDate.toGMTString() + ';'; //document.cookie = name + '=' + escape(value) + '; path=/; expires=' + todayDate.toGMTString() + ';domain=.'+_getRootDomain(document.domain); // 크롬80 cookie 대응 document.cookie = name + '=' + escape(value) + '; path=/; expires=' + todayDate.toGMTString() + ';SameSite=None;Secure;domain=.'+_getRootDomain(document.domain); }*/ function _getDomain(url) { start = url.indexOf('//'); end = url.substring(start+2, url.length).indexOf('/'); return (url.substring(start+2, start+2+end)); } function _getRootDomain(url) { var parts = url.split('.').reverse(); var cnt = parts.length; if (cnt >= 3) { // see if the second level domain is a common SLD. if (parts[1].match(/^(com|edu|gov|net|mil|org|nom|co|name|info|biz)$/i)) { return parts[2] + '.' + parts[1] + '.' + parts[0]; } } return parts[1]+'.'+parts[0]; } function _getRoiTime(days) { var todayDate = new Date(); todayDate.setDate(todayDate.getDate() + days); return parseInt(todayDate.getTime() / 1000); } function sendTargetingCv(adId, siteId, adType, url, _wnSp) { if(adType == "1" || adType == "2") { var xhr = new XMLHttpRequest(); xhr.open('POST', 'https://dcmsvc.wisenut.co.kr/log/setCvLog'); xhr.setRequestHeader('Content-Type', 'application/json'); xhr.onload = function() { if (xhr.status === 200) { //console.log(xhr.responseText); } }; xhr.send( JSON.stringify({ "header":{"from":"clickLog"}, "body":{ "adId":adId, "siteId":siteId, "adType":adType, "url":url, "userKey":_getCookie("NT_USERKEY"), "wnSp":_wnSp } }) ); } } //태그 삽입 확인 함수 호출 tagInsertChk(); /* 태그 삽입 확인 */ function tagInsertChk(){ var wnTrackingID; if (typeof(_wnTrackingID) === 'undefined') { wnTrackingID = "normal" }else{ wnTrackingID = _wnTrackingID; } var tagInsertChkStrNew = "roi_" + _wnAdvID + "_" +wnTrackingID+"_"+_wnAdvSiteID; localStorage.setItem("tagInsertChkStrNew", tagInsertChkStrNew); var tagJs = document.createElement("script"); tagJs.type = "text/javascript"; tagJs.src = "https://adsvc2.wisenut.co.kr/common/js/amc/tagInsertChk.js"; document.body.appendChild(tagJs); }