Найти тему
Записки айтишника

Как передавать ClientID в Битрикс24 через CRM-форму, или доводим до ума сквозную аналитику

Дано:
1. Битрикс24
2. CRM-форма Битрикс24
3. Яндекс.Метрика

Задача: построить сквозную аналитику.

Решение:

Несмотря на то, что Яндекс дает некоторое решение для сквозной аналитики, результаты его будут плачевными. Все дело в том, что сопоставление данных из вашего Б24 с данными Метрики Яндекс делает с помощью технологии Крипта и посредством передачи идентификатора Метрики (ClientID). Крипта работает неудовлетворительно, даже откровенно плохо – распознает процентов 20 клиентов. А чтобы распознавать всех, нужно каждому заказу/лиду/сделке/контакту в Б24 присваивать его идентификатор Метрики. Для этого, к сожалению, нужно быть программистом - необходимо написать код на языке JavaScript.

Даю готовое решение. В Б24 делаем в нужной вам сущности CRM (Лид/Сделка/Контакт...) поле типа "Строка" с названием metrika_client_id (другие допустимые названия см. на https://yandex.ru/support/metrica/crm/bitrix.html).

Далее создаем
CRM-форму, которая будет размещаться на нашем сайте, собирать ClientID и передавать его в Б24. А дальше будет работать упомянутая выше стандартная интеграция Б24 с Метрикой. Б24 будет передавать ClientID вместе с данными Лидов/Сделок в Метрику.

В настройках "Значения скрытых полей" CRM-формы Б24 добавляем это поле и заполняем это поле "Параметром" со Значением %clientID%.

На страницу(-ы) сайта вставляем код. Этот код должен стоять всегда ДО кода CRM-формы:
<!-- Yandex.Metrika ClientID catcher -->
<script>
window.addEventListener('b24:form:init', (event) => {
let form = event.detail.object;
let yaCID;
ym(ХХХХХХХХ, 'getClientID', function (clientID) {
yaCID = clientID;
});
form.setProperty("clientID", yaCID);
});
</script>
<!-- /Yandex.Metrika ClientID catcher -->

Вместо ХХХХХХХХ нужно вставить ID вашего счетчика Метрики.

Потом вставляем на страницу код CRM-формы Б24. Готово!

Теперь после каждого заполнения CRM-формы на сайте поле metrika_client_id в Б24 у вас будет заполняться идентификатором ClientID.

Внимание! Несмотря на то, что теперь мы передаем ClientID в Метрику, ей для сопоставления данных требуются одни сутки. Так что результаты вы видите в отчетах Метрики всегда на день позже.