Прочитайте готовые ответы
Новые статьи
Поддержка Битрикс24
Регистрация и вход
Тарифы и оплата
Задачи и проекты
Чат и звонки
Группы
Календарь
CRM + Интернет-магазин
Диск
Сайты
База знаний
Интернет-магазин (beta)
Складской учет
Почта
CRM
CoPilot — AI в Битрикс24
Маркетинг
Сквозная аналитика
Центр продаж (beta)
CRM-аналитика (beta)
BI Конструктор
Автоматизация
CRM.Оплата и Доставка
Интеграция 1С и Битрикс24
Компания
Бизнес-процессы
Приложения
Контакт-центр
Моя страница
Телефония
Настройки
Мой тариф
Энтерпрайз
Enterprise HRM
Мобильное приложение
Десктоп-приложение
Общие вопросы
Готовые решения для бизнеса
Битрикс24 в коробке
1С-Битрикс24: Интернет-магазин + CRM
Изменения в статьях (архив)

Поддержка24

Отслеживание чатов в Яндекс.Метрике

Нас часто спрашивали, можно ли как-то настроить отслеживание чатов в Открытых линиях с помощью Яндекс.Метрики. Да, можно, но вам понадобится чуточку знаний в JS и HTML, поэтому делать это придется соответствующему специалисту, а также понадобятся права администратора сайта, т.к. нужно будет вносить некоторые изменения в шаблон вашего сайта.

Данный способ работает на любом сайте, главное, чтобы был подключен к нему виджет онлайн чата Битрикс24.

1. Подключение виджета на сайт

Настроим виджет на сайт и подключим его в шаблоне сайта с помощью кода виджета.

Все готово. Виджет подключен на ваш сайт.


2. Настройка и установка счетчика на сайт

Для начала, у вас должен быть установлен на сайте счетчик Яндекс.Метрики - иначе как вы будете отслеживать достижение цели? ;)

То есть JavaScript-код счетчика нужно скопировать из блока Настройка > Счетчик Яндекс.Метрики и вставить во все страницы сайта, где будут отслеживаться цели, поэтому проще этот код вставить в шаблон вашего сайта. Как рекомендует сам Яндекс, код счётчика необходимо вставлять внутри тега <head> или <body>.

Мы будем отслеживать достижение цели с помощью Ecommerce, поэтому при создании счетчика не забудьте включить опцию Электронная коммерция:

Создаем счетчик в Яндекс.Метрике

Далее Создаем цель в Яндекс.Метрике:

Создаем цель в Яндекс.Метрике

Особенности:

  • Используйте такие значения Идентификаторов id, которые не содержатся в URL страниц сайта, а также идентификаторы не должны содержать следующие символы: , &, #, ?, =.

  • Номер цели (goal_id) выдается после сохранения цели.

С помощью JS-скрипта мы будем отслеживать JavaScript-событие Пользователь написал в чат:

Общий пример кода такой, вы можете его дорабатывать под свои нужды
<script type="text/javascript">

window.addEventListener('onBitrixLiveChat', function(event)
{
	var widget = event.detail.widget;

	// Обработка событий	
	widget.subscribe({
		type: BX.LiveChatWidget.SubscriptionType.ТИП_ПОДПИСКИ_НА_СОБЫТИЕ,
		callback: function(data) {
		
		// любая команда
		...

		}
	});
});
</script>

Тип подписки на событие и обработчики можно взять в статье Расширенные настройки виджета Онлайн-чата в блоке 3. Обработка событий.

Для нашего случая код нужно немного доработать в соответствии с документацией Яндекс и типа подписки на события виджета:

<script type="text/javascript"> 
window.addEventListener('onBitrixLiveChat', function(event)
{
	var widget = event.detail.widget;

	// Обработка событий 
	widget.subscribe({
		type: BX.LiveChatWidget.SubscriptionType.userMessage,
		callback: function(data) {
      
		// любая команда
      
		if (typeof(dataLayer) == 'undefined')
			{
			  dataLayer = [];
			}
			dataLayer.push({
				"ecommerce": {
					"purchase": {
						"actionField": {
							"id" : "chatsend1",
							"goal_id" : "45325652"
						},
						"products": [ {} ]
					}
				}
			});
		}
	});
});
</script>

Данный скрипт нужно расположить в любом месте страницы или шаблона сайта между тегами <body> и </body>, например рядом с кодом виджета.

Здесь мы использовали BX.LiveChatWidget.SubscriptionType.userMessage – событие сообщения пользователя, но вы можете использовать любое из статьи Расширенные настройки виджета Онлайн-чата. Вариантов использования событий можно придумать много – события начала или окончания сессии диалога, событие на лайки, событие на сообщение оператора и т.д.

Чтобы передать данные в виде Ecommerce-объектов сервису Яндекс.Метрики, необходимо поместить их в специальный JavaScript-массив методом push – в контейнер данных, в нашем примере он называется dataLayer (см. п.1 Создание счетчика).

В Ecommerce информацию о достижении цели передается с помощью поля goal_id вместе с данными о действии, в нашем примере – это 45325652, также понадобится обязательный уникальный идентификатор id, в нашем примере – это chatsend1 (см. п.2 Создание цели).

Все, цель создана и настроена.


3. Проверка достижения цели и отчет конверсии

Теперь при каждом написании клиентом сообщения в чат открытой линии:

Сообщение в чат

В Яндекс.Метрику будут уходить данные о достижении цели:

Достижение цели в Яндекс.Метрике


В данном примере мы рассмотрели принцип создания и отслеживания цели Пользователь написал в чат в Яндекс.Метрике, т.е при каждой отправке сообщения клиентом будет засчитываться цель. При необходимости код JavaScript может быть доработан под ваши нужды.



Спасибо, помогло!
Спасибо :)
Не помогло
Очень жаль :(
Помощь интегратора
Это не то, что я ищу
Написано очень сложно и непонятно
Есть устаревшая информация
Слишком коротко, мне не хватает информации
Мне не нравится, как это работает