Как подружить сайты 1С-Битрикс на Аспро со сквозной аналитикой Битрикс24
Большое количество интернет-магазинов в России реализовано на базе 1С-Битрикс: Управления сайтом + готовые решения Аспро. Выбранная связка бесспорно отлично работает и по мере увеличения посетителей возникает необходимость отслеживания эффективности рекламных каналов.
Сквозная аналитика Битрикс24 — в помощь!
Сквозная аналитика – это способ анализа эффективности, который даёт все данные о бизнесе и маркетинге. С помощью неё можно свести все разрозненные показатели.
Например, сквозная аналитика в Битрикс24.
UTM-метки для форм обратной связи
В структуре любого готового решения Аспро присутствует множество форм обратной связи. По умолчанию, эти формы работают на базе веб-форм 1С-Битрикс.
Для оценки эффективности рекламных каналов требуется разметка страниц сайта с помощью UTM-меток. Штатный функционал веб-форм 1С-Битрикс: Управление сайтом — не умеют передавать данные UTM.
Кроме того, сайты на Аспро не умеют сохранять UTM-метки по мере перемещения посетителя по сайту. Например, посетитель перешёл из поисковой системы на главную страницу, а после проследовал в раздел «Контакты» — где UTM-метка и потерялась, а значит рассчитывать на полноценную и корректную работу сквозной аналитики — рассчитывать не приходится.
Как мы решили задачу
Столкнувшись с вышеописанной проблемой на реальном проекте — для нас стало делом чести доработать штатный функционал веб-форм Аспро. Ну и надо признать, сквозная аналитика — затягивает))
Мы поставили перед собой 4 главных задачи:
1. Научить сайт запоминать UTM-метку в cookie.
2. Создать дополнительные скрытые поля во всех веб-формах.
3. Научить веб-формы автоматически заполнять скрытые поля из cookie.
4. Связать веб-формы с Битрикс24.
Делимся инструкцией🤗
Учим запоминать UTM-метку в cookie
В решениях Аспро предусмотрена возможность вставки своего кастомного php-кода. Для этого есть файл top_footer_custom. php, который находится по адресу /include/footer_include/.
Перейти к редактированию файла вы можете прямо в панели администрирования. Для этого наберите в браузер
и вставьте следующий код:
Создаём дополнительные скрытые поля во всех веб-формах
В панели администрирования идём в Сервисы --> Веб-формы --> Настройка форм
После нам нужно последовательно зайти в настройки каждой формы и выполнить ряд действий:
1. Заходим в список вопросов
2. Нажимаем «Добавить»
3. Указываем символьный идентификатор
4. Во вкладке «Вопрос» пишем произвольное описание
5. Во вкладке ответ указываем тип поля «hidden« и нажимаем »Сохранить»
Учим веб-формы автоматически заполнять скрытые поля из cookie
1. Возвращаемся обратно в «Параметры формы»
2. Открываем вкладку «Описание» в режиме HTML и вставляем код.
Должно получиться вот так:
Связываем веб-формы с Битрикс24
1. Идём во вкладку «CRM»
2. В поле "CRM:" настраиваем связь между формой и нашим порталом Битрикс24.
3. Связываем поля формы и поля лида в Битрикс24.
Должно получиться примерно так:
Сохраняем нашу форму.
После заполнения формы на сайте мгновенно получаем лид в Битрикс24:
Далее, используя роботы в лидах, мы настраиваем рекламные источники сквозной аналитики.
Если у вас возникли сложности, или вы хотите доверить профессионалам настройку сквозной аналитики — заполните форму и мы с вами свяжемся.
Рекомендации для интеграторов
Если вы интегратор Битрикс24, то обратите внимание, что настраивать связь с Битрикс24 в веб-формах БУСа лучше под клиентским логином Битрикс24. Лучше, чтобы это был администратор с ID=1. В противном случае, после того, как вы уйдёте с портала, у клиента перестанет работать эта связка.
Спасибо за статью, как раз сейчас над этим работаем. А то статистика в Директ одна, а в Срм другая)) все думают контекст не работает, а он бедненький работает, просто его не видят!
подскажите как передать ClientID из метрики?
Это уже отдельный вопрос. Тут надо смотреть что именно вы хотите делать. В данной статье мы рассмотрели только работу с UTM-метками, не касаясь ClientID.
спасибо за материал!
в строке, где тип поля вы ставите "hidden" - сам текст Ответа у вас оно пустое. По факту же 1с-битрикс не позволяет его оставить пустым. Требует чем-нибудь заполнить. В результате приходят формы с пустыми (null) значениями. Кажется, в этом проблема (hidden)
посоветуете как быть?
Надо понять подробнее что именно за поле вы имете в виду. Напишите в телеграм @neket89
пробел можно поставить
Надо понять подробнее что именно за поле вы имете в виду. Напишите в телеграм @neket89
Классная статья! Спасибо за идею со скрытым полем. Жаль что редактирование top_footer_custom.php не прокатило, поэтому оставил его таким какой он был и сделал решение проще:
В настройках аспро, в разделе "Для разработчиков" в "Файл пользовательских скриптов javascript" добавил следующее:
////////////////////////////////////////////////////////////////////
const utm = new URLSearchParams(window.location.search);
const utm_source =utm.get('utm_source');
const utm_medium = utm.get('utm_medium');
const utm_campaign = utm.get('utm_campaign');
const utm_content = utm.get('utm_content');
const utm_term = utm.get('utm_term');
//Сохраняем cookie и выставляем срок жизни на 30 дней
document.cookie = "utm_source=" + utm_source +"; max-age=2592000";
document.cookie = "utm_medium=" + utm_medium +"; max-age=2592000";
document.cookie = "utm_campaign=" + utm_campaign +"; max-age=2592000";
document.cookie = "utm_content=" + utm_content +"; max-age=2592000";
document.cookie = "utm_term =" + utm_term +"; max-age=2592000";
//console.log(document.cookie);
////////////////////////////////////////////////////////////////////
А поле hiden в ответах bitrix не давал сохранить, поэтому я туда поставил null. Он будет передаваться когда utm не будет.
Прошу не использовать код выше, т.к. у него utm слетают при переходе на другую страницу. Вот правильная версия.
const utm = new URLSearchParams(window.location.search);
const utm_source =utm.get('utm_source');
//Если utm_source не пустой
if ( utm_source ) {
//Сохраняем utm в cookie и выставляем срок жизни на 30 дней
document.cookie = "utm_source=" + utm_source +"; max-age=2592000";
document.cookie = "utm_medium=" + utm.get('utm_medium') +"; max-age=2592000";
document.cookie = "utm_campaign=" + utm.get('utm_campaign') +"; max-age=2592000";
document.cookie = "utm_content=" + utm.get('utm_content') +"; max-age=2592000";
document.cookie = "utm_term =" + utm.get('utm_term') +"; max-age=2592000";
}
//console.log(document.cookie);
спасибо за ответ, все работает
Для этого есть файл top_footer_custom. php, который находится по адресу /include/footer_include/
___
не нашел этот файл, и папки footer_include тоже нет. куда еще можно разместить код?
invis-counter.php там же в папке include