1console.log("Zoho UTM"); 2 3function ZFAdvLead(){ 4} 5ZFAdvLead.utmPValObj = ZFAdvLead.utmPValObj || {}; 6ZFAdvLead.utmPNameArr = new Array('utm_source','utm_medium','utm_campaign','utm_term','utm_content','gclid');ZFAdvLead.utmcustPNameArr = new Array('gclid');ZFAdvLead.isSameDomian = false; 7ZFAdvLead.prototype.zfautm_sC = function( paramName,path,domain,secure ){ 8 var value = ZFAdvLead.utmPValObj[paramName]; 9 if ( typeof value !== "undefined" && value !== null ){ 10 var cookieStr = paramName + "=" + encodeURIComponent( value ); 11 var exdate=new Date(); 12 exdate.setDate(exdate.getDate()+7); 13 cookieStr += "; expires=" + exdate.toGMTString(); 14 cookieStr += "; path=/"; 15 if ( domain ) { 16 cookieStr += "; domain=" + encodeURIComponent( domain ); 17 } 18 if ( secure ) { 19 cookieStr += "; secure"; 20 } 21 document.cookie = cookieStr; 22 } 23}; 24ZFAdvLead.prototype.zfautm_ini = function (){ 25 this.zfautm_bscPCap(); 26 var url_search = document.location.search; 27 for (var i = 0; i < ZFAdvLead.utmcustPNameArr.length ; i ++){ 28 var zf_pN = ZFAdvLead.utmcustPNameArr[i]; 29 var zf_pV; 30 if ( zf_pN == 'referrername' ) { 31 zf_pV = ( document.location.href || '' ).slice( 0, 1500 ); 32 } else { 33 zf_pV = this.zfautm_gP(url_search, zf_pN); 34 if (zf_pV == undefined || zf_pV == ''){ 35 zf_pV = this.zfautm_gC(zf_pN); 36 } 37 } 38 if ( typeof zf_pV !== "undefined" && zf_pV !== null & zf_pV != "" ) { 39 ZFAdvLead.utmPValObj[ zf_pN ] = zf_pV; 40 } 41 } 42 for (var pkey in ZFAdvLead.utmPValObj) { 43 this.zfautm_sC(pkey); 44 } 45}; 46ZFAdvLead.prototype.zfautm_bscPCap = function () { 47 var trafSrc = this.zfautm_calcTrafSrc(); 48 if ( trafSrc.source != "" ) { 49 ZFAdvLead.utmPValObj.utm_source = trafSrc.source; 50 } 51 if ( trafSrc.medium != "" ) { 52 ZFAdvLead.utmPValObj.utm_medium = trafSrc.medium; 53 } 54 if ( trafSrc.campaign != "" ) { 55 ZFAdvLead.utmPValObj.utm_campaign = trafSrc.campaign; 56 } 57 if ( trafSrc.term != "" ) { 58 ZFAdvLead.utmPValObj.utm_term = trafSrc.term; 59 } 60 if ( trafSrc.content != "" ) { 61 ZFAdvLead.utmPValObj.utm_content = trafSrc.content; 62 } 63} 64ZFAdvLead.prototype.zfautm_calcTrafSrc = function() { 65 var u1='', u2='', u3='', u4='', u5=''; 66 var search_engines = [['bing', 'q'], ['google', 'q'], ['yahoo', 'q'], ['baidu', 'q'], ['yandex', 'q'], ['ask', 'q']]; //List of search engines 67 var ref = document.referrer; 68 ref = ref.substr(ref.indexOf('//')+2); 69 ref_domain = ref; 70 ref_path = '/'; 71 ref_search = ''; 72 // Checks for campaign parameters 73 var url_search = document.location.search; 74 if(url_search.indexOf('utm_source') > -1 || url_search.indexOf('utm_medium') > -1 || url_search.indexOf('utm_campaign') > -1 || url_search.indexOf('utm_term') > -1 || url_search.indexOf('utm_content') > -1) { 75 u1 = this.zfautm_gP(url_search, 'utm_source'); 76 u2 = this.zfautm_gP(url_search, 'utm_medium'); 77 u3 = this.zfautm_gP(url_search, 'utm_campaign'); 78 u4 = this.zfautm_gP(url_search, 'utm_term'); 79 u5 = this.zfautm_gP(url_search, 'utm_content'); 80 } else if ( this.zfautm_gP(url_search, 'gclid')) { 81 u1 = 'Google Ads'; 82 u2 = 'cpc'; 83 u3 = '(not set)'; 84 if ( !ZFAdvLead.utmcustPNameArr.includes('gclid') ) { 85 ZFAdvLead.utmcustPNameArr.push('gclid'); 86 } 87 } else if(ref) { 88 var r_u1 = this.zfautm_gC('utm_source'); 89 var r_u2 = this.zfautm_gC('utm_medium'); 90 var r_u3 = this.zfautm_gC('utm_campaign'); 91 var r_u4 = this.zfautm_gC('utm_term'); 92 var r_u5 = this.zfautm_gC('utm_content'); 93 if ( typeof r_u1 === "undefined" && typeof r_u2 === "undefined" && typeof r_u3 === "undefined" && typeof r_u4 === "undefined" && typeof r_u5 === "undefined") { 94 // separate domain, path and query parameters 95 if (ref.indexOf('/') > -1) { 96 ref_domain = ref.substr(0,ref.indexOf('/')); 97 ref_path = ref.substr(ref.indexOf('/')); 98 if (ref_path.indexOf('?') > -1) { 99 ref_search = ref_path.substr(ref_path.indexOf('?')); 100 ref_path = ref_path.substr(0, ref_path.indexOf('?')); 101 } 102 } 103 u2 = 'referral'; 104 u1 = ref_domain; 105 // Extract term for organic source 106 for (var i=0; i<search_engines.length; i++){ 107 if(ref_domain.indexOf(search_engines[i][0]) > -1){ 108 u2 = 'organic'; 109 u1 = search_engines[i][0]; 110 u4 = this.zfautm_gP(ref_search, search_engines[i][1]) || '(not provided)'; 111 break; 112 } 113 } 114 } else { 115 if ( typeof r_u1 !== "undefined" ) { 116 u1 = r_u1; 117 } 118 if ( typeof r_u2 !== "undefined" ) { 119 u2 = r_u2; 120 } 121 if ( typeof r_u3 !== "undefined" ) { 122 u3 = r_u3; 123 } 124 if ( typeof r_u4 !== "undefined" ) { 125 u4 = r_u4; 126 } 127 if ( typeof r_u5 !== "undefined" ) { 128 u5 = r_u5; 129 } 130 } 131 } else { 132 var r_u1 = this.zfautm_gC('utm_source'); 133 var r_u2 = this.zfautm_gC('utm_medium'); 134 var r_u3 = this.zfautm_gC('utm_campaign'); 135 var r_u4 = this.zfautm_gC('utm_term'); 136 var r_u5 = this.zfautm_gC('utm_content'); 137 if ( typeof r_u1 === "undefined" && typeof r_u2 === "undefined" && typeof r_u3 === "undefined" && typeof r_u4 === "undefined" && typeof r_u5 === "undefined") { 138 var locRef = document.location.href; 139 locRef = locRef.substr(locRef.indexOf('//')+2); 140 if (locRef.indexOf('/') > -1) { 141 locRef = locRef.substr(0,locRef.indexOf('/')); 142 } 143 u1 = locRef; 144 u2 = 'referral'; 145 } else { 146 if ( typeof r_u1 !== "undefined" ) { 147 u1 = r_u1; 148 } 149 if ( typeof r_u2 !== "undefined" ) { 150 u2 = r_u2; 151 } 152 if ( typeof r_u3 !== "undefined" ) { 153 u3 = r_u3; 154 } 155 if ( typeof r_u4 !== "undefined" ) { 156 u4 = r_u4; 157 } 158 if ( typeof r_u5 !== "undefined" ) { 159 u5 = r_u5; 160 } 161 } 162 } 163 return { 164 'source' : u1, 165 'medium' : u2, 166 'campaign': u3, 167 'term' : u4, 168 'content' : u5 169 }; 170} 171ZFAdvLead.prototype.zfautm_gP = function(s, q) { 172 try{ 173 var match = s.match('[?&]' + q + '=([^&]+)'); 174 return match ? decodeURIComponent(match[1]) : ''; 175 } catch(e){ 176 return ''; 177 } 178} 179ZFAdvLead.prototype.zfautm_gC = function( cookieName ){ 180 var cookieArr = document.cookie.split('; '); 181 for ( var i = 0 ; i < cookieArr.length ; i ++ ){ 182 var cookieVals = cookieArr[i].split('=');
183 if ( cookieVals[0] === cookieName && cookieVals[1] ) { 184 return decodeURIComponent(cookieVals[1]); 185 } 186 } 187}; 188ZFAdvLead.prototype.zfautm_gC_enc = function( cookieName ){ 189 var cookieArr = document.cookie.split('; '); 190 for ( var i = 0 ; i < cookieArr.length ; i ++ ){ 191 var cookieVals = cookieArr[i].split('='); 192 if ( cookieVals[0] === cookieName && cookieVals[1] ) { 193 return cookieVals[1]; 194 } 195 } 196}; 197ZFAdvLead.prototype.zfautm_iframeSprt = function () { 198 var zf_frame = document.getElementsByTagName("iframe"); 199 for(var i = 0; i < zf_frame.length; ++i){ 200 if((zf_frame[i].src).indexOf('formperma') > 0 ){ 201 var zf_src = zf_frame[i].src; 202 for( var prmIdx = 0 ; prmIdx < ZFAdvLead.utmPNameArr.length ; prmIdx ++ ) { 203 var utmPm = ZFAdvLead.utmPNameArr[ prmIdx ]; 204 utmPm = ( ZFAdvLead.isSameDomian && ( ZFAdvLead.utmcustPNameArr.indexOf(utmPm) == -1 ) ) ? "zf_" + utmPm : utmPm; 205 var utmVal = this.zfautm_gC_enc( ZFAdvLead.utmPNameArr[ prmIdx ] ); 206 if ( typeof utmVal !== "undefined" ) { 207 if ( utmVal != "" ){ 208 if(zf_src.indexOf('?') > 0){ 209 zf_src = zf_src+'&'+utmPm+'='+ utmVal; 210 }else{ 211 zf_src = zf_src+'?'+utmPm+'='+ utmVal; 212 } 213 } 214 } 215 } 216 if ( zf_frame[i].src.length < zf_src.length ) { 217 zf_frame[i].src = zf_src; 218 } 219 } 220 } 221}; 222ZFAdvLead.prototype.zfautm_DHtmlSprt = function () { 223 var zf_formsArr = document.forms; 224 for ( var frmInd = 0 ; frmInd < zf_formsArr.length ; frmInd ++ ) { 225 var zf_form_act = zf_formsArr[frmInd].action; 226 if ( zf_form_act && zf_form_act.indexOf('formperma') > 0 ){ 227 for( var prmIdx = 0 ; prmIdx < ZFAdvLead.utmPNameArr.length ; prmIdx ++ ) { 228 var utmPm = ZFAdvLead.utmPNameArr[ prmIdx ]; 229 var utmVal = this.zfautm_gC( ZFAdvLead.utmPNameArr[ prmIdx ] ); 230 if ( typeof utmVal !== "undefined" ) { 231 if ( utmVal != "" ) { 232 var fieldObj = zf_formsArr[frmInd][utmPm]; 233 if ( fieldObj ) { 234 fieldObj.value = utmVal; 235 } 236 } 237 } 238 } 239 } 240 } 241}; 242ZFAdvLead.prototype.zfautm_jsEmbedSprt = function ( id ) { 243 document.getElementById('zforms_iframe_id').removeAttribute("onload"); 244 var jsEmbdFrm = document.getElementById("zforms_iframe_id"); 245 var embdSrc = jsEmbdFrm.src; 246 for( var prmIdx = 0 ; prmIdx < ZFAdvLead.utmPNameArr.length ; prmIdx ++ ) { 247 var utmPm = ZFAdvLead.utmPNameArr[ prmIdx ]; 248 utmPm = ( ZFAdvLead.isSameDomian && ( ZFAdvLead.utmcustPNameArr.indexOf(utmPm) == -1 ) ) ? "zf_" + utmPm : utmPm; 249 var utmVal = this.zfautm_gC_enc( ZFAdvLead.utmPNameArr[ prmIdx ] ); 250 if ( typeof utmVal !== "undefined" ) { 251 if ( utmVal != "" ) { 252 if(embdSrc.indexOf('?') > 0){ 253 embdSrc = embdSrc+'&'+utmPm+'='+utmVal; 254 }else{ 255 embdSrc = embdSrc+'?'+utmPm+'='+utmVal; 256 } 257 } 258 } 259 } 260 jsEmbdFrm.src = embdSrc; 261}; 262var zfutm_zfAdvLead = new ZFAdvLead(); 263zfutm_zfAdvLead.zfautm_ini(); 264if( document.readyState == "complete" ){ 265 zfutm_zfAdvLead.zfautm_iframeSprt(); 266 zfutm_zfAdvLead.zfautm_DHtmlSprt(); 267} else { 268 window.addEventListener('load', function (){ 269 zfutm_zfAdvLead.zfautm_iframeSprt(); 270 zfutm_zfAdvLead.zfautm_DHtmlSprt(); 271 }, false); 272}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.