if (typeof ldrv_client_name !== 'undefined') { console.log('LDRV js load twice'); } else { var ldrv_client_name='pharmacosmetica'; 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_general_js":1,"leadrive_preconversion_js":1}; var ldrv_category={"general":[{"t":"6.0","e1":"leadrive","e2":"leadrive_scoring","e3":"macroconversion","e4":"leadrive_general_js"}],"preconversion":[{"t":"143.0","e1":"leadrive","e2":"leadrive_scoring","e3":"macroconversion","e4":"leadrive_preconversion_js"}]}; var ldrv_category_url=[{"p":"[^g][^o][^a][^l].*$","g":"general"}]; var ldrv_microconversion_by_url=[{"p":"^http.*\\\/reglament-oformleniya-oplaty-i-vozvrata-zakazov.*","g":"visit_vozvrat-i-obmen"},{"p":"^http.*\\\/podarki-dlya-sebya.*","g":"visit_vygodnye_nabory"},{"p":"^http.*\\\/podarki-dlya-vas.*","g":"visit_akcii_s_podarkami"},{"p":"^http.*\\\/plus-podarok.*","g":"visit_beautybox"},{"p":"^http.*\\\/wish-list.*","g":"visit_favorites"},{"p":"[^g][^o][^a][^l].*$","g":"general"},{"p":"^http.*\\\/kontakty.*","g":"visit_contacts"},{"p":"^http.*\\\/brands.*","g":"visit_brands"},{"p":"^http.*\\\/ucenka.*","g":"visit_discount"}]; var ldrv_microconversion_value={"general":"2.6338999271392822","general_leadrive_1052021100110":"37.33567810058594","general_leadrive_10520211001100":"19.692407608032227","general_leadrive_10520211001110":"41.349422454833984","general_leadrive_10520211001141":"0.011083615943789482","general_leadrive_10520211001170":"19.149019241333008","general_leadrive_10520211001172":"44.5052490234375","general_leadrive_10520211001180":"86.5962905883789","general_leadrive_10520211001190":"34.576271057128906","general_leadrive_1052021100120":"44.548011779785156","general_leadrive_10520211001200":"40.0771598815918","general_leadrive_10520211001230":"73.92979431152344","general_leadrive_10520211001231":"82.24382781982422","general_leadrive_10520211001233":"64.37098693847656","general_leadrive_1052021100130":"34.25947952270508","general_leadrive_1052021100140":"57.26414489746094","general_leadrive_1052021100151":"0.021462872624397278","general_leadrive_1052021100160":"37.13250732421875","general_leadrive_article_click_minifoto":"0.009039873257279396","general_leadrive_article_listanie_foto_consultation":"0.01752413436770439","general_leadrive_article_perehod_k_otzyvam":"12.445759773254395","general_leadrive_article_wishlist":"0.011768428608775139","general_leadrive_catalog_click_pages":"0.0031321514397859573","general_leadrive_catalog_click_pokazat":"0.012135110795497894","general_leadrive_catalog_listanie_skidki_novinki":"63.44275665283203","general_leadrive_catalog_listanie_tovarov":"2.5573036670684814","general_leadrive_general_blog_60s":"0.01658768206834793","general_visit_akcii_s_podarkami":"45.62876892089844","general_visit_brands":"0.0009595551528036594","general_visit_contacts":"81.41387939453125","general_visit_discount":"25.32767677307129","general_visit_favorites":"0.00881981197744608","general_visit_vozvrat-i-obmen":"80.46562957763672","general_leadrive_10520211001220":"73.47431945800781","general_leadrive_10520211001240":"75.63444519042969","general_leadrive_10520211001280":"0.019555428996682167","general_leadrive_catalog_click_filtr":"0.0014129392802715302","general_leadrive_10520211001270":"59.7725830078125","general_visit_vygodnye_nabory":"0.020513052120804787","general_leadrive_10520211001130":"0.011480743065476418","general_leadrive_10520211001140":"0.005121126305311918","general_leadrive_1052021100191":"0.0306367427110672","general_visit_beautybox":"0.008428448811173439"}; var ldrv_autofunnel=[]; var ldrv_booster=[]; 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 yaCounter498295 != 'undefined') { yaCounter498295.reachGoal(ldrv_init_event); } else { ym(498295,'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 yaCounter498295 != 'undefined') { yaCounter498295.params( { leadrive_scoring_js: ldrv_general_cnt } ); } else { ym(498295,'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 yaCounter498295 != 'undefined') { yaCounter498295.reachGoal(ldrv_category[segment_name][i].e4); } else { ym(498295,'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 yaCounter498295 != 'undefined') { yaCounter498295.reachGoal(ldrv_category[ldrv_goal_id][i].e4); } else { ym(498295,'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 yaCounter498295 != 'undefined') { yaCounter498295.reachGoal(ldrv_booster[k].f4); } else { ym(498295,'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(); } } }