Как подружить сайты 1С-Битрикс на Аспро со сквозной аналитикой Битрикс24

Большое количество интернет-магазинов в России реализовано на базе 1С-Битрикс: Управления сайтом + готовые решения Аспро. Выбранная связка бесспорно отлично работает и по мере увеличения посетителей возникает необходимость отслеживания эффективности рекламных каналов.

Сквозная аналитика Битрикс24 — в помощь!

Сквозная аналитика – это способ анализа эффективности, который даёт все данные о бизнесе и маркетинге. С помощью неё можно свести все разрозненные показатели.

Например, сквозная аналитика в Битрикс24.

Как подружить сайты 1С-Битрикс на Аспро со сквозной аналитикой Битрикс24

UTM-метки для форм обратной связи

В структуре любого готового решения Аспро присутствует множество форм обратной связи. По умолчанию, эти формы работают на базе веб-форм 1С-Битрикс.

Как подружить сайты 1С-Битрикс на Аспро со сквозной аналитикой Битрикс24

Для оценки эффективности рекламных каналов требуется разметка страниц сайта с помощью UTM-меток. Штатный функционал веб-форм 1С-Битрикс: Управление сайтом — не умеют передавать данные UTM.

Кроме того, сайты на Аспро не умеют сохранять UTM-метки по мере перемещения посетителя по сайту. Например, посетитель перешёл из поисковой системы на главную страницу, а после проследовал в раздел «Контакты» — где UTM-метка и потерялась, а значит рассчитывать на полноценную и корректную работу сквозной аналитики — рассчитывать не приходится.

Как мы решили задачу

Столкнувшись с вышеописанной проблемой на реальном проекте — для нас стало делом чести доработать штатный функционал веб-форм Аспро. Ну и надо признать, сквозная аналитика — затягивает))

Мы поставили перед собой 4 главных задачи:

1. Научить сайт запоминать UTM-метку в cookie.

2. Создать дополнительные скрытые поля во всех веб-формах.

3. Научить веб-формы автоматически заполнять скрытые поля из cookie.

4. Связать веб-формы с Битрикс24.

Делимся инструкцией🤗

Учим запоминать UTM-метку в cookie

В решениях Аспро предусмотрена возможность вставки своего кастомного php-кода. Для этого есть файл top_footer_custom. php, который находится по адресу /include/footer_include/.

Перейти к редактированию файла вы можете прямо в панели администрирования. Для этого наберите в браузер

и вставьте следующий код:

<? if(isset($_GET["utm_source"])) setcookie("utm_source",$_GET["utm_source"],time()+3600*24*30,"/"); if(isset($_GET["utm_medium"])) setcookie("utm_medium",$_GET["utm_medium"],time()+3600*24*30,"/"); if(isset($_GET["utm_campaign"])) setcookie("utm_campaign",$_GET["utm_campaign"],time()+3600*24*30,"/"); if(isset($_GET["utm_content"])) setcookie("utm_content",$_GET["utm_content"],time()+3600*24*30,"/"); if(isset($_GET["utm_term"])) setcookie("utm_term",$_GET["utm_term"],time()+3600*24*30,"/"); ?>

Создаём дополнительные скрытые поля во всех веб-формах

В панели администрирования идём в Сервисы --> Веб-формы --> Настройка форм

Как подружить сайты 1С-Битрикс на Аспро со сквозной аналитикой Битрикс24

После нам нужно последовательно зайти в настройки каждой формы и выполнить ряд действий:

1. Заходим в список вопросов

Как подружить сайты 1С-Битрикс на Аспро со сквозной аналитикой Битрикс24

2. Нажимаем «Добавить»

Как подружить сайты 1С-Битрикс на Аспро со сквозной аналитикой Битрикс24

3. Указываем символьный идентификатор

Как подружить сайты 1С-Битрикс на Аспро со сквозной аналитикой Битрикс24

4. Во вкладке «Вопрос» пишем произвольное описание

Как подружить сайты 1С-Битрикс на Аспро со сквозной аналитикой Битрикс24

5. Во вкладке ответ указываем тип поля «hidden« и нажимаем »Сохранить»

Как подружить сайты 1С-Битрикс на Аспро со сквозной аналитикой Битрикс24

Учим веб-формы автоматически заполнять скрытые поля из cookie

1. Возвращаемся обратно в «Параметры формы»

Как подружить сайты 1С-Битрикс на Аспро со сквозной аналитикой Битрикс24

2. Открываем вкладку «Описание» в режиме HTML и вставляем код.

<script> //alert(document.cookie); function get_cookie ( cookie_name ) { var results = document.cookie.match ( '(^|;) ?' + cookie_name + '=([^;]*)(;|$)' ); if ( results ) return ( unescape ( results[2] ) ); else return null; } var x = get_cookie ( "utm_source" ); $('input[data-sid=utm_source]').val('utm_source='+x); </script>

Должно получиться вот так:

Как подружить сайты 1С-Битрикс на Аспро со сквозной аналитикой Битрикс24

Связываем веб-формы с Битрикс24

1. Идём во вкладку «CRM»

2. В поле "CRM:" настраиваем связь между формой и нашим порталом Битрикс24.

3. Связываем поля формы и поля лида в Битрикс24.

Должно получиться примерно так:

Как подружить сайты 1С-Битрикс на Аспро со сквозной аналитикой Битрикс24

Сохраняем нашу форму.

После заполнения формы на сайте мгновенно получаем лид в Битрикс24:

Как подружить сайты 1С-Битрикс на Аспро со сквозной аналитикой Битрикс24

Далее, используя роботы в лидах, мы настраиваем рекламные источники сквозной аналитики.

Если у вас возникли сложности, или вы хотите доверить профессионалам настройку сквозной аналитики — заполните форму и мы с вами свяжемся.

Рекомендации для интеграторов

Если вы интегратор Битрикс24, то обратите внимание, что настраивать связь с Битрикс24 в веб-формах БУСа лучше под клиентским логином Битрикс24. Лучше, чтобы это был администратор с ID=1. В противном случае, после того, как вы уйдёте с портала, у клиента перестанет работать эта связка.

Какие системы сквозной аналитики вы используете?
Битрикс24
CallTouch
Яндекс.Метрика
Другое
22
12 комментариев

Спасибо за статью, как раз сейчас над этим работаем. А то статистика в Директ одна, а в Срм другая)) все думают контекст не работает, а он бедненький работает, просто его не видят!

1

подскажите как передать ClientID из метрики?

Это уже отдельный вопрос. Тут надо смотреть что именно вы хотите делать. В данной статье мы рассмотрели только работу с UTM-метками, не касаясь ClientID.

Надо понять подробнее что именно за поле вы имете в виду. Напишите в телеграм @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);

спасибо за ответ, все работает