Для того, чтобы передать client id с crm-формой битрикс24, установленной на сайте, нам потребуется:
- Произвести небольшие настройки на стороне вашего портала Bitrix24 в crm-формах.
- С помощью Google Tag Manager добыть clientID и записать его в пользовательскую переменную.
- Отправить добытую на шаге 2 переменную в url в качестве get параметра.
Настройка CRM-форм Битрикс24
Переходим по ссылке https://ваш-домен.bitrix24.ru/crm/configs/fields/, где вместо ваш-домен.bitrix24.ru вписываем адрес вашего портала битрикс24.
В блоке Пользовательские поля для «Лидов» жмем «Добавить поле» и добавляем поле с такими же параметрами, как на скриншоте.
В разделе crm своего портала Битрикс24 находим пункт «Еще». Жмем его и в выпадающем списке переходим в интеграции / crm-формы.
На странице с формами нам нужно будет отредактировать ту форму, через которую мы хотим получать client id. Для этого напротив нее жмем соответствующую кнопку. Если у вас нет формы, то придется ее сначала создать. Как это сделать можно прочесть в официальной справке bitrix24.
В левом меню редактора форм жмем на «Значения скрытых полей» → «Добавить поле«. Ставим галочку на пункт GA_CID (который мы недавно создали). Жмём добавить и видим вот такое окно:
Справа от поля жмём на карандаш, а затем в редакторе поля жмём «…» и в выпадающем списке выбираем «Параметр». В появившийся шаблон вписываем значение для поля GA_CID по умолчанию. В нашим случае значение будет таким — %clid%.
Сохраняем форму.
Записываем client id в пользовательскую переменную GTM
Я писал отдельную статью на эту тему, поэтому не вижу смысла повторяться. Почитать можно здесь. В статье описаны наиболее популярные метода получения client id Метрики и GA4 с помощью менеджера тегов google.
Если очень коротко, то нужно создать 2 пользовательские переменные:
- Собственный файл cookie со значением «_ga» (без кавычек). Название переменной «cookie_ga«
- Собственный код JS (рекомендуемое имя clientID) и разместить в нем следующий фрагмент кода:
function() { try { var cookie = {{cookie_ga}}.split("."); return cookie[2] + "." + cookie[3]; } catch(e) { console.log("No Universal Analytics cookie found"); return "n/a"; } }
Во вторую переменную и будет попадать CID.
Если нужен CID для Яндекс Метрики, тогда создайте переменную вида «Собственный файл cookie» и запишите в неё значение _ym_uid. Больше ничего делать не нужно. В неё будет попадать нужный вам CID.
Отправка переменной GTM в url
Создаем тригер активации тегов. Который будет запускаться всякий раз, когда клиент будет нажимать на кнопку открытия всплывающего окна с формой bitrix24. Указываем ему следующие параметры:
- Название — произвольное;
- Тип — Клик «Все элементы»;
- Условие активации — Некоторый клики;
- Активировать триггер при наступлении события и выполнении всех этих условий — click classes содержит «класс кнопки, на которой висит форма битрикса».
P.S. Если сайт собран на конструкторе вроде Tilda или Elementor, то класс кнопки и класс, определяемый менеджером тегов может отличаться. Обусловлено это тем, что сами css классы вставляются не в разметку,а в специально отведенные поля в конструкторе и они часто попадают не в саму кнопку, а в вышестоящий элемент div. Тогда тригер может не сработать. В моем случае в условии активации тригера мне пришлось прописать — click classes соответствует регулярному выражению (b24-web-form-popup-btn|elementor-button|b24-widget-button-inner-item), т.к. сайт моего клиента собран на встроенном в wordpress конструкторе elementor.
Теперь добавляем тег типа «Пользовательский HTML» со следующим кодом:
<script> var clientId = {{clientID}}; var param1 = '?clid=' + clientId; var param2 = '&clid=' + clientId; var flag = 0; if (!window.location.search) { history.pushState(null, null, param1); flag++; } if (window.location.search && !flag) { history.pushState(null, null, window.location.search + param2); } </script>
, где в круглых скобках указываете название созданной на шаге 2 переменной с записанным в нее client id. В моем случае переменная называется так — {{clientID}}.
Активатором для данного тега будет служить созданный нами выше тригер, срабатывающий на нажатие по кнопкам для вызова форм битрикса.
Публикуем контейнер GTM и проверяем отправку CID в Битрикс24. Чтобы увидеть в лиде поле GA_CID, его надо добавить в карточку лида.
Аналогично можно реализовать отправку clientID Яндекса.