OLChat Link Modifier — автоматическая подстановка ID посетителя в ссылки мессенджеров
Для чего это нужно?
Быстрая установка
<script>
window.olchatLinkModifier = {
config: {
messageTemplate: "Здравствуйте! Мой код запроса: {visit_id}",
idSource: "ym",
modifyWhatsApp: true,
modifyTelegram: true,
modifyB24Widget: true
},
visitorId: null,
updateConfig: function(newConfig) {
Object.assign(this.config, newConfig);
}
};
!function(){const c=window.olchatLinkModifier.config;function w(i,m){if(!c.modifyWhatsApp)return;try{const s=encodeURIComponent(m.replace(/{visit_id}/g,i)),l=document.querySelectorAll('[href*="//wa.me"],[href*="//api.whatsapp.com/send"],[href*="//web.whatsapp.com/send"],[href^="whatsapp://send"]');for(let j=0;j<l.length;j++)try{const a=l[j],u=new URL(a.href);a.href=u.origin==="https://wa.me"?`${u.protocol}//${u.host}${u.pathname}?text=${s}`:u.protocol==="whatsapp:"?`${u.protocol}${u.host}${u.pathname}?phone=${u.searchParams.get('phone')||''}&text=${s}`:`${u.protocol}//${u.host}${u.pathname}?phone=${u.searchParams.get('phone')||''}&text=${s}`}catch(e){}}catch(e){console.error('[OLChat] WhatsApp error:',e)}}function t(i){if(!c.modifyTelegram)return;try{const l=document.querySelectorAll('[href*="//t.me"],[href^="tg://resolve"]');for(let j=0;j<l.length;j++)try{const a=l[j],u=new URL(a.href);a.href=u.origin==="https://t.me"?`${u.protocol}//${u.host}${u.pathname}?start=${i}`:u.protocol==="tg:"?`${u.protocol}${u.host}${u.pathname}?domain=${u.searchParams.get('domain')||''}&start=${i}`:a.href}catch(e){}}catch(e){console.error('[OLChat] Telegram error:',e)}}function b(i){if(!c.modifyB24Widget)return;let a=0;const b24w=setInterval(()=>{a++;try{const l=document.querySelector('[data-b24-crm-button-widget=openline_olchat_wa_connector_2]');l?(clearInterval(b24w),l.href=l.href.replace(/\{visit_id\}/g,i)):a>=20&&clearInterval(b24w)}catch(e){console.error('[OLChat] B24 error:',e),clearInterval(b24w)}},250)}function g(){try{let id=null;switch(c.idSource){case"ym":const y=document.cookie.match(/_ym_uid=([^;]+)/);if(y){id=y[1];break}const d=document.cookie.match(/_ym_d=([^;]+)/);if(d){id=d[1];break}break;case"ga":const ga=document.cookie.match(/_ga=GA\d\.\d\.(\d+\.\d+)/);if(ga)id=ga[1];break;case"roistat":const r=document.cookie.match(/roistat_visit=([^;]+)/);if(r)id=r[1];break;case"calltouch_site_id":if(typeof window.ct==="function")try{const p=window.ct("calltracking_params");if(p&&p[0]&&p[0].siteId)id=p[0].siteId}catch(e){}break;case"calltouch_session_id":if(typeof window.ct==="function")try{const p=window.ct("calltracking_params","mod_id");if(p&&p[0]&&p[0].sessionId)id=p[0].sessionId}catch(e){}break}return id}catch(e){console.error('[OLChat] ID error:',e);return null}}let attempts=0;const init=setInterval(()=>{attempts++;if(document.readyState==="complete"||attempts>=40){clearInterval(init);setTimeout(()=>{const visitorId=g();if(visitorId){window.olchatLinkModifier.visitorId=visitorId;w(visitorId,c.messageTemplate);t(visitorId);b(visitorId);console.log('[OLChat] Initialized with visitor ID:',visitorId)}else console.error('[OLChat] No visitor ID found - check analytics setup')},500)}},250);console.log('[OLChat] Loaded, waiting for page ready...')}();
</script>Настройка
Основные настройки
Измените текст сообщения
Укажите источник кода аналитики
Система аналитики
idSource
Параметры подстановки текста в ссылки
Параметр modifyWhatsApp
Параметр modifyTelegram
Параметр modifyB24Widget
Проверка работы
Визуальная проверка
Проверка через консоль браузера
Last updated