Links

Яндекс.Метрика ClientID

Передача параметра ClientID Яндекс.Метрики

Настройка виджета

  1. 1.
    Зайдите в настройки коннектора
  2. 2.
    В разделе «Настройка виджета на сайт» добавьте параметр {visit_id} в текст приветственного сообщения
Обратите внимание, что если клиент удалит параметр {visit_id} из первого отправляемого сообщения, данные аналитики вы получить не сможете!
Для того, чтобы клиент был заинтересован в отправке сообщения с параметром {visit_id}, вы можете проявить креативность и как-то модифицировать текст сообщения. Например, таким образом: «Здравствуйте! Мой код для получения подарка: {visit_id}»

Настройка сайта

Добавьте на ваш сайт код передачи параметра в виджет. Где ХХХХХХХХ — номер вашего счётчика Яндекс.Метрики
Рекомендуем размещать код сразу после кода счётчика Метрики.
<script>
const b24w = setInterval(() => {
const l = document.querySelector('[data-b24-crm-button-widget=openline_olchat_wa_connector_2]')
if (l !== null) {
clearInterval(b24w)
ym(XXXXXXXX, 'getClientID', (clientID) => l.href=l.href.replace(/\{visit_id\}/, clientID))
}
}, 250)
</script>
В некоторых случаях счётчик Яндекс.Метрики не успевает загрузиться и передать параметр clientID в {visit_id}. В этом случае нужно дополнить код счётчика параметром проверки инициализации счётчика. Для этого добавьте в код счётчика параметр triggerEvent
ym(XXXXXX, "init", {triggerEvent: true});
В данном случае код подмены параметра {visit_id} будет выглядеть так:
<script>
document.addEventListener('yacounterXXXXXXXXinited', () => {
const b24w = setInterval(() => {
const l = document.querySelector('[data-b24-crm-button-widget=openline_olchat_wa_connector_2]')
if (l !== null) {
clearInterval(b24w)
ym(XXXXXXXX, 'getClientID', (clientID) => l.href=l.href.replace(/\{visit_id\}/, clientID))
}
}, 250)
})
</script>
Если вы используете Google Tag Manager, то скорее всего вы получите ошибку при публикации тега. Дело в том, что GTM немного староват и не поддерживает современный Java Script. Чтобы всё прошло гладко, модифицируйте код следующим образом, убрав константы и стрелочные функции:
<script>
document.addEventListener('yacounterXXXXXXXXinited', function () {
var b24w = setInterval(function () {
var l = document.querySelector('[data-b24-crm-button-widget=openline_olchat_wa_connector_2]');
if (l !== null) {
clearInterval(b24w);
ym(XXXXXXXX, 'getClientID', function (clientID) {
l.href = l.href.replace(/\{visit_id\}/, clientID)
});
}
}, 250);
});
</script>