top
Вход
Ваш Битрикс24
Вход
Авторизуйтесь, чтобы войти
в Битрикс24 вашей компании.
Вход

Поддержка24

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

Рейтинг:

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

Итак, предположим, что у вас уже настроен виджет на сайт, и он подключен в шаблоне вашего сайта с помощью кода виджета. Настроим цели в Яндекс.Метрике, чтобы отслеживать событие Пользователь написал в чат.


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

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

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

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

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

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

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

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

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

  3. С помощью JS-скрипта мы будем отслеживать JavaScript-событие Пользователь написал в чат: sph]Общий пример кода такой, вы можете его дорабатывать под свои нужды
    <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. Обработка событий.

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

    <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" : "user_chat1",
    							"goal_id" : "33855453"
    						},
    						"products": [ {} ]
    					}
    				}
    			});
    		}
    	});
    });
    </script>

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

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

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

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

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

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

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

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

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


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



Спасибо, помогло! Спасибо :) Не помогло Очень жаль :(
Уточните, пожалуйста, почему:
Это не то, что я ищу
Очень сложно и непонятно