if (typeof ldrv_client_name !== 'undefined') { console.log('LDRV js load twice'); } else { var ldrv_client_name='akusherstvo'; var ldrv_yametrika_version='new'; var ldrv_debug_flag=0; var ldrv_active_flag=; var ldrv_qbq_streaming_active_flag=0; var ldrv_eventlabel_goals={"leadrive_preconversion_js":1,"leadrive_general_js":1,"leadrive_soft_preconversion_js":1,"leadrive_booster_js":1}; var ldrv_category={"preconversion":[{"t":"120.0","e1":"leadrive","e2":"leadrive_scoring","e3":"macroconversion","e4":"leadrive_preconversion_js"}],"general":[{"t":"20.0","e1":"leadrive","e2":"leadrive_scoring","e3":"macroconversion","e4":"leadrive_general_js"},{"t":"120.0","e1":"leadrive","e2":"leadrive","e3":"fire","e4":"leadrive_booster_js"}],"soft_preconversion":[{"t":"120.0","e1":"leadrive","e2":"leadrive_scoring","e3":"macroconversion","e4":"leadrive_soft_preconversion_js"}]}; var ldrv_category_url=[{"p":"^[^g][^o][^a][^l].*$","g":"general"}]; var ldrv_microconversion_by_url=[{"p":"^[^g][^o][^a][^l].*$","g":"general"}]; var ldrv_microconversion_value={"general_leadrive_1052021100110":"0.008750907145440578","general_leadrive_10520211001100":"23.254148483276367","general_leadrive_10520211001110":"26.96816062927246","general_leadrive_10520211001130":"0.015237737447023392","general_leadrive_10520211001140":"0.03123362362384796","general_leadrive_10520211001141":"0.004184232093393803","general_leadrive_10520211001160":"0.003260600846260786","general_leadrive_10520211001170":"0.009052609093487263","general_leadrive_10520211001171":"0.010480722412467003","general_leadrive_10520211001173":"6.0178399085998535","general_leadrive_10520211001190":"39.14956283569336","general_leadrive_1052021100120":"21.586862564086914","general_leadrive_10520211001210":"52.91008758544922","general_leadrive_10520211001220":"72.06835174560547","general_leadrive_10520211001232":"26.24025535583496","general_leadrive_10520211001250":"61.675968170166016","general_leadrive_1052021100130":"29.40147590637207","general_leadrive_10520211001300":"26.740175247192383","general_leadrive_10520211001310":"46.295475006103516","general_leadrive_10520211001350":"0.01270538941025734","general_leadrive_10520211001390":"53.71873092651367","general_leadrive_1052021100140":"54.74530029296875","general_leadrive_1052021100150":"0.0029868921265006065","general_leadrive_1052021100151":"0.005003413185477257","general_leadrive_1052021100160":"0.10475025326013565","general_leadrive_1052021100170":"0.010261213406920433","general_leadrive_1052021100172":"0.010196512565016747","general_leadrive_1052021100180":"28.385923385620117","general_leadrive_1052021100190":"0.005111146252602339","general_leadrive_1052021100191":"0.006675938609987497","general_leadrive_1052021100193":"10.658714294433594","general_leadrive_10520211001101":"30.214574813842773","general_leadrive_10520211001180":"36.178401947021484","general_leadrive_10520211001200":"57.614410400390625","general_leadrive_10520211001230":"47.8895149230957","general_leadrive_10520211001240":"56.32565689086914","general_leadrive_10520211001270":"7.224236965179443","general_leadrive_10520211001280":"1.5938622951507568","general_leadrive_10520211001290":"2.4009084701538086","general_leadrive_10520211001320":"42.931297302246094","general_leadrive_10520211001330":"35.58064270019531","general_leadrive_10520211001340":"0.003861841280013323","general_leadrive_10520211001360":"0.005060798954218626","general_leadrive_10520211001370":"66.4748764038086","general_leadrive_10520211001410":"26.882854461669922","general_leadrive_10520211001450":"93.23274993896484","general_leadrive_10520211001470":"0.027985721826553345","general_leadrive_10520211001490":"39.058135986328125","general_leadrive_10520211001400":"85.26225280761719","general_leadrive_10520211001460":"34.426971435546875"}; var ldrv_autofunnel=[]; var ldrv_booster=[{"p1":"180","p2":"utm_source,gclid,fbclid","e1":"leadrive","e2":"leadrive","e3":"listen","e4":"leadrive_booster_js","f1":"leadrive","f2":"leadrive","f3":"fire","f4":"leadrive_booster_js"}]; var ldrv_init_event='leadrive_script_init_js'; var ldrv_general_cnt=0; var ldrv_global = {}; ldrv_global.segments = {}; ldrv_global.autofunnel = {}; var ldrv_now_sec = Math.floor(new Date().getTime()/1000); var ldrv_monthNames = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']; var ldrv_getCookieValue = function(n) { let r = document.cookie.match('(^|;)\\s*'+n+'\\s*=\\s*([^;]+)'); if(r && r.length > 0) { return r.pop(); } else { return ''; } } var ldrv_tomorrow = new Date(); ldrv_tomorrow.setUTCDate(ldrv_tomorrow.getUTCDate()+1); if (ldrv_tomorrow.getUTCHours()>=21) { ldrv_tomorrow.setUTCDate(ldrv_tomorrow.getUTCDate()+1); } var ldrv_utc_date=ldrv_tomorrow.getUTCDate(); if (ldrv_utc_date<10) { ldrv_utc_date='0'+ldrv_utc_date; } var ldrv_valid_till = new Date(ldrv_monthNames[ldrv_tomorrow.getUTCMonth()]+" "+ldrv_utc_date+" "+ldrv_tomorrow.getUTCFullYear()+" 12:00:00 GMT+0300"); var ldrv_diff_sec = Math.floor((ldrv_valid_till.getTime()-new Date().getTime())/1000); var ldrv_file_diff_sec=ldrv_diff_sec; if (ldrv_file_diff_sec>3600*24) { ldrv_file_diff_sec=Math.round(ldrv_file_diff_sec-3600*24); } if (localStorage.getItem('ldrv_show_debug') !== null) { ldrv_debug_flag=1; } if (sessionStorage.getItem("ldrv_session_start_dt") === null) { sessionStorage.setItem("ldrv_session_start_dt",ldrv_now_sec); sessionStorage.setItem("ldrv_session_start_url",document.location.href.toLowerCase()); sessionStorage.setItem("ldrv_session_start_referrer",document.referrer.toLowerCase()); if (localStorage.getItem('ldrv_scoring_data') === null) { sessionStorage.setItem("ldrv_session_start_new_user","1"); } if (ldrv_init_event!='') { setTimeout(function() { if (ldrv_yametrika_version=='old' && typeof yaCounter74545 != 'undefined') { yaCounter74545.reachGoal(ldrv_init_event); } else { ym(74545,'reachGoal',ldrv_init_event); } if (ldrv_debug_flag==1) { console.log('LDRV init event = '+ldrv_init_event); } }, 2000); } } function ldrv_booster_check_rules(secs,getvars) { var error_count=0; var getvars_check=getvars.split(','); var now2 = new Date(); var ldrv_session_duration = Math.floor(now2.getTime()/1000)*1-sessionStorage.getItem("ldrv_session_start_dt")*1; if (sessionStorage.getItem("ldrv_session_start_new_user") !== null && sessionStorage.getItem("ldrv_session_start_new_user")=="1") { if (ldrv_debug_flag==1) { console.log('LDRV booster check 1/4 [new user, no scoring history]'); } error_count++; } if (ldrv_session_duration*10) { if (ldrv_debug_flag==1) { console.log('LDRV booster check 4/4 [referrer is empty or match current hostname]'); } error_count++; } if (error_count==4) { return false; } else { return true; } } function ldrv_save_event(segment_id,event_id) { var ldrv_events = []; if (localStorage.getItem("ldrv_events_data") !== null) { var ldrv_events_base = JSON.parse(localStorage.getItem('ldrv_events_data')); for (var i in ldrv_events_base) { if (ldrv_events_base[i].exp > ldrv_now_sec) { ldrv_events.push(ldrv_events_base[i]); } else { if (ldrv_debug_flag==1) { console.log('LDRV delete expired ('+ldrv_events_base[i].exp+' < '+ldrv_now_sec+' = '+Math.round(ldrv_now_sec*1-ldrv_events_base[i].exp*1)+') record '+i+' '+ldrv_events_base[i].event_id); } } } } if (segment_id!='' && event_id!='') { ldrv_events.push({ 'segment_id':segment_id, 'event_id':event_id, 'exp':ldrv_now_sec+ldrv_diff_sec }); if (false && ldrv_qbq_streaming_active_flag==1 && event_id!='' && event_id!='ldrv_pageview') { var xhr2 = new XMLHttpRequest(); xhr2.open('GET','https://us-central1-ml-system-streaming.cloudfunctions.net/ga-streaming/?project='+ldrv_client_name+'&type=js_log&message_type=js_microconversion_triggerµconversion='+event_id+'&clientID='+ldrv_getCookieValue('_ym_uid')+'&score=&message_text='); xhr2.send(); } } localStorage.setItem('ldrv_events_data', JSON.stringify(ldrv_events)); if (typeof(ldrv_global.allow_count)!="undefined") { var count_events = []; for (var i in ldrv_events) { if (typeof(count_events[ldrv_events[i].segment_id])=="undefined") { count_events[ldrv_events[i].segment_id] = []; } if (typeof(count_events[ldrv_events[i].segment_id][ldrv_events[i].event_id])=="undefined") { count_events[ldrv_events[i].segment_id][ldrv_events[i].event_id]=1; } else { count_events[ldrv_events[i].segment_id][ldrv_events[i].event_id]+=1; } } if (ldrv_debug_flag==1) { console.dir(count_events); } for (var segment_name in count_events) { if (typeof(ldrv_global.segments[segment_name])=="undefined") { var segment_cnt=0; } else { var segment_cnt=ldrv_global.segments[segment_name]*1; } for (var event_id in count_events[segment_name]) { if (event_id=='ldrv_pageview' || segment_name==event_id.toLowerCase()) { var ldrv_event_with_segment=segment_name; } else { var ldrv_event_with_segment=segment_name+'_'+event_id.toLowerCase(); } if (typeof(ldrv_microconversion_value[ldrv_event_with_segment])!="undefined") { segment_cnt=segment_cnt*1+ldrv_microconversion_value[ldrv_event_with_segment]*Math.sqrt(count_events[segment_name][event_id]); if (ldrv_debug_flag==1) { console.log('LDRV '+ldrv_event_with_segment+' '+segment_name+' += '+ldrv_microconversion_value[ldrv_event_with_segment]+' * sqrt('+count_events[segment_name][event_id]+')'); } } else { if (ldrv_debug_flag==1) { console.warn('LDRV ERROR '+ldrv_event_with_segment+' not exits'); } } } if (ldrv_debug_flag==1) { console.log('LDRV scoring for '+segment_name+' = '+segment_cnt); } if (segment_name.toLowerCase()=='general') { if (Math.floor(segment_cnt)!=ldrv_general_cnt) { ldrv_general_cnt=Math.floor(segment_cnt); if (ldrv_yametrika_version=='old' && typeof yaCounter74545 != 'undefined') { yaCounter74545.params( { leadrive_scoring_js: ldrv_general_cnt } ); } else { ym(74545,'params', { leadrive_scoring_js: ldrv_general_cnt } ); } if (ldrv_debug_flag==1) { console.log('LDRV push param leadrive_scoring_js = '+segment_cnt); } } } for (var i in ldrv_category[segment_name]) { if (ldrv_category[segment_name][i].t !== undefined) { if (ldrv_debug_flag==1) { console.log('LDRV '+segment_name+'['+i+'] check for '+ldrv_category[segment_name][i].e4+' (threshold '+ldrv_category[segment_name][i].t+')'); } if (segment_cnt*1 >= ldrv_category[segment_name][i].t*1) { if (sessionStorage.getItem("ldrv_done_"+ldrv_category[segment_name][i].e4) === null) { if (ldrv_debug_flag==1) { console.log('LDRV [NEW GOAL] '+ldrv_category[segment_name][i].e4+' for '+segment_name+' (threshold '+ldrv_category[segment_name][i].t+' < '+segment_cnt+')'); } if (ldrv_yametrika_version=='old' && typeof yaCounter74545 != 'undefined') { yaCounter74545.reachGoal(ldrv_category[segment_name][i].e4); } else { ym(74545,'reachGoal',ldrv_category[segment_name][i].e4); } dataLayer.push({ 'event': ldrv_category[segment_name][i].e1, 'eventCategory': ldrv_category[segment_name][i].e2, 'eventAction': ldrv_category[segment_name][i].e3, 'eventLabel': ldrv_category[segment_name][i].e4 }); sessionStorage.setItem("ldrv_done_"+ldrv_category[segment_name][i].e4,ldrv_now_sec+';'+Math.floor(segment_cnt)); if (ldrv_debug_flag==1) { console.log('LDRV push dataLayer & Ya.metrika // eventLabel = '+ldrv_category[segment_name][i].e4); } } else { if (ldrv_debug_flag==1) { console.log('LDRV [NO ACTION] '+ldrv_category[segment_name][i].e4+' (threshold '+ldrv_category[segment_name][i].t+' < '+segment_cnt+')'); } } } } } } } } for (var k in ldrv_category_url) { if (ldrv_category_url[k].p !== undefined && ldrv_category_url[k].g !== undefined) { var regexp_rule1 = new RegExp(ldrv_category_url[k].p); if (regexp_rule1.test(window.location.href.toLowerCase())) { var ldrv_goal_id=ldrv_category_url[k].g.toLowerCase(); ldrv_global.segments[ldrv_goal_id]=0; } } } if (typeof(ldrv_goal_id)=='undefined') { if (ldrv_debug_flag==1) { console.log('LDRV INIT segments = UNDEFINED'); } } else { if (ldrv_debug_flag==1) { console.log(`LDRV INIT segments ${JSON.stringify(ldrv_global.segments, null, 3)}`); } } var ldrv_init_wait = setInterval(function() { if (typeof(ldrv_global.init_history)!="undefined") { clearInterval(ldrv_init_wait); ldrv_global.allow_count=1; ldrv_save_event("",""); for (var k in ldrv_autofunnel) { if (ldrv_autofunnel[k].p !== undefined && ldrv_autofunnel[k].g !== undefined) { var regexp_rule2 = new RegExp(ldrv_autofunnel[k].p); if (regexp_rule2.test(window.location.href.toLowerCase())) { var ldrv_goal_id=ldrv_autofunnel[k].g.toLowerCase(); if (ldrv_debug_flag==1) { console.log('LDRV autofunnel pattern '+ldrv_autofunnel[k].p+'; goal_id='+ldrv_goal_id); } if (typeof(ldrv_category[ldrv_goal_id])!='undefined') { for (var i in ldrv_category[ldrv_goal_id]) { if (typeof(ldrv_global.autofunnel[ldrv_goal_id])=="undefined") { ldrv_global.autofunnel[ldrv_goal_id]=1; if (ldrv_debug_flag==1) { console.log('LDRV '+ldrv_goal_id+' EXISTS, push to dataLayer'); } if (ldrv_yametrika_version=='old' && typeof yaCounter74545 != 'undefined') { yaCounter74545.reachGoal(ldrv_category[ldrv_goal_id][i].e4); } else { ym(74545,'reachGoal',ldrv_category[ldrv_goal_id][i].e4); } dataLayer.push({ 'event': ldrv_category[ldrv_goal_id][i].e1, 'eventCategory': ldrv_category[ldrv_goal_id][i].e2, 'eventAction': ldrv_category[ldrv_goal_id][i].e3, 'eventLabel': ldrv_category[ldrv_goal_id][i].e4 }); } else { if (ldrv_debug_flag==1) { console.log('LDRV '+ldrv_goal_id+' EXISTS, already pushed'); } } } } else { if (ldrv_debug_flag==1) { console.log('LDRV '+ldrv_goal_id+' NOT EXISTS'); } } } } } for (var k in ldrv_microconversion_by_url) { if (ldrv_microconversion_by_url[k].p !== undefined && ldrv_microconversion_by_url[k].g !== undefined) { var regexp_rule3 = new RegExp(ldrv_microconversion_by_url[k].p); if (regexp_rule3.test(window.location.href.toLowerCase())) { var ldrv_microconversion_id=ldrv_microconversion_by_url[k].g.toLowerCase(); if (ldrv_debug_flag==1) { console.log('LDRV microconversion by URL '+ldrv_microconversion_by_url[k].p+'; microconversion id='+ldrv_microconversion_id); } for (var segment in ldrv_global.segments) { ldrv_save_event(segment,ldrv_microconversion_id); } } } } if (ldrv_debug_flag==1) { console.log('LDRV init OK'); } } else { if (typeof(ldrv_global.init_start)=="undefined") { if (ldrv_debug_flag==1) { console.log('LDRV init history scoring data'); } ldrv_global.init_start=1; ldrv_init_current_scoring_data(); } else { if (ldrv_debug_flag==1) { console.log('LDRV init ERROR'); } } } }, 1000); function _ld_check_event(event) { if (ldrv_debug_flag==1) { console.log('LDRV check event'); console.dir(event); } if (ldrv_booster && ldrv_booster.length>=1) { if (ldrv_debug_flag==1) { console.log('LDRV booster listen exists'); } for (var k in ldrv_booster) { if (ldrv_booster[k].e1==event.event && ldrv_booster[k].e2==event.eventCategory && ldrv_booster[k].e3==event.eventAction && ldrv_booster[k].e4==event.eventLabel) { if (ldrv_booster_check_rules(ldrv_booster[k].p1,ldrv_booster[k].p2.toLowerCase())) { if (ldrv_debug_flag==1) { console.log('LDRV BOOSTER - FIRE // '+ldrv_booster[k].f4); } if (ldrv_yametrika_version=='old' && typeof yaCounter74545 != 'undefined') { yaCounter74545.reachGoal(ldrv_booster[k].f4); } else { ym(74545,'reachGoal',ldrv_booster[k].f4); } dataLayer.push({ 'event': ldrv_booster[k].f1, 'eventCategory': ldrv_booster[k].f2, 'eventAction': ldrv_booster[k].f3, 'eventLabel': ldrv_booster[k].f4, 'eventValue': '' }); } else { if (ldrv_debug_flag==1) { console.log('LDRV BOOSTER - NOT FIRE [rules check failed] // '+ldrv_booster[k].f4); } } } } } for (var k in event) { if (k=='eventLabel' && typeof(ldrv_eventlabel_goals[event[k]])=='undefined') { if (ldrv_debug_flag==1) { console.log('LDRV check eventLabel = '+event[k]); } for (var segment in ldrv_global.segments) { ldrv_save_event(segment,event[k].toLowerCase()); } } } } function ldrv_init_scoring_data() { var score_data_all = JSON.parse(localStorage.getItem('ldrv_scoring_data')); var score_data = JSON.parse(score_data_all[0].jsondata); if (ldrv_debug_flag==1) { console.log('LDRV history score data'); console.dir(score_data_all); console.dir(score_data); } for (var k in score_data) { var clear_k=k.toLowerCase().replace('leadrive_','').replace('scoring_',''); if (typeof(ldrv_global.segments[clear_k])!='undefined') { ldrv_global.segments[clear_k]+=score_data[k]*1; if (ldrv_debug_flag==1) { console.log('LDRV add history scoring for current segment '+clear_k+' +'+score_data[k]); } } } if (ldrv_debug_flag==1) { console.log(`LDRV segments with history scoring data ${JSON.stringify(ldrv_global.segments, null, 3)}`); } ldrv_global.init_history=1; } function ldrv_save_scoring_data(jsondata) { var scoring_data = []; if (jsondata=='') { jsondata='{"leadrive_general":"0"}'; } scoring_data.push({ 'jsondata':jsondata, 'exp':ldrv_now_sec+ldrv_file_diff_sec }); localStorage.setItem('ldrv_scoring_data', JSON.stringify(scoring_data)); ldrv_init_scoring_data(); } function ldrv_init_current_scoring_data() { var scoring_data_exists=0; if (localStorage.getItem("ldrv_scoring_data") !== null) { var scoring_data=JSON.parse(localStorage.getItem('ldrv_scoring_data')); for (var i in scoring_data) { if (scoring_data[i].exp > ldrv_now_sec) { scoring_data_exists+=1; } } } if (scoring_data_exists != 1) { var ldrv_ym_uid=ldrv_getCookieValue('_ym_uid'); if (ldrv_ym_uid!='') { var xhr = new XMLHttpRequest(); xhr.open('GET','https://api.leadrive.ru/s/'+ldrv_client_name+'/'+ldrv_ym_uid.slice(-4)+'/'+ldrv_ym_uid.slice(0,ldrv_ym_uid.length-4)); xhr.onload = function(e) { if(xhr.status == 404) { if (ldrv_debug_flag==1) { console.log('LDRV no scoring history for '+ldrv_ym_uid); } ldrv_save_scoring_data(''); } else { if (this.response=='') { if (ldrv_debug_flag==1) { console.log('LDRV empty scoring history for '+ldrv_ym_uid); } } else { sessionStorage.setItem("ldrv_session_start_new_user","0"); } ldrv_save_scoring_data(this.response); } } xhr.send(); } else { ldrv_save_scoring_data(''); } } else { ldrv_init_scoring_data(); } } }