{"id":14178,"url":"\/distributions\/14178\/click?bit=1&hash=46f81fc72164aed5f5a63ff3eeda0f09d4c84486c893025a271208cdeb0bd8e9","title":"\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0432\u0430\u0448\u0435\u0439 \u0442\u043e\u043a\u0441\u0438\u0447\u043d\u043e\u0441\u0442\u0438 ","buttonText":"\u041d\u0443-\u043a\u0430","imageUuid":"a3d0cbb2-2d94-5f09-b674-c61b61195271"}

Как подружить сайты 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/.

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

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

<? 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. Заходим в список вопросов

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

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

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

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

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

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

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>

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

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

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

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

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

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

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

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

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

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

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

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

Какие системы сквозной аналитики вы используете?
Битрикс24
CallTouch
Яндекс.Метрика
Другое
Показать результаты
Переголосовать
Проголосовать
0
11 комментариев
Написать комментарий...
Карина Шахмеликян

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

Ответить
Развернуть ветку
Сергей ЛИ

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

Ответить
Развернуть ветку
7SITES
Автор

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

Ответить
Развернуть ветку
Виталий Романов

спасибо за материал!
в строке, где тип поля вы ставите "hidden" - сам текст Ответа у вас оно пустое. По факту же 1с-битрикс не позволяет его оставить пустым. Требует чем-нибудь заполнить. В результате приходят формы с пустыми (null) значениями. Кажется, в этом проблема (hidden)
посоветуете как быть?

Ответить
Развернуть ветку
7SITES
Автор

Надо понять подробнее что именно за поле вы имете в виду. Напишите в телеграм @neket89

Ответить
Развернуть ветку
BitrixFactory

пробел можно поставить

Ответить
Развернуть ветку
7SITES
Автор

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

Ответить
Развернуть ветку
Edward

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

Ответить
Развернуть ветку
Edward

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

Ответить
Развернуть ветку
8 комментариев
Раскрывать всегда
null