Salebot.pro
Search
⌃K

Google Analytics

Как добавить аналитику в своего чат-бота
Google Analytics
Salebot.pro
Передать события в GA
Информация о настройке с пометкой Universal Analytics в данной статье является устаревшей. Данная версия перестанет работать 1 июля 2023

Регистрация аккаунта и создание потока данных

Структуру сервиса Google Analytics 4 составляют три элемента:
1) Аккаунт. Это ресурсы, принадлежащие одной компании.
2) Ресурс. Это интернет-проект, у которого может быть несколько витрин. Например, Ozon — ресурс, у которого четыре витрины: маркетплейс, сайт для продавцов и два приложения для Android и iOS.
3) Поток данных. Это данные для ресурса с одной из витрин — например, с сайта.
На каждую витрину устанавливается код отслеживания. Другие его названия — счётчик, тег. Он формирует поток данных — отслеживает все действия пользователей на сайте и передаёт их в сервис. Благодаря этому, например, можно видеть в отчётах, сколько человек посетили сайт в прошлом месяце или оформили заказ в боте.
Новые счетчики по умолчанию создаются в версии GA4. Он работает на 2 версии протокола, запросы Universal Analytics будут проигнорированы.
Google Analytics 4
Universal Analytics(УСТАРЕВШАЯ ВЕРСИЯ)
Создайте аккаунт на странице https://analytics.google.com
Укажите название аккаунта:
Далее создаем Ресурс.
Укажите своё название для Ресурса
Заполните необходимую информацию о компании:
Для создания аккаунта необходимо выставить галочки в чекбоксы о том, что принимаете Условия обработки данных и защиты данных и нажать кнопку Принимаю.
На этом создание РЕСУРСА закончено.
Настраиваем сбор данных.
Для этого переходим в панели Администратор (по умолчанию после создания Ресурса вы попадаете в эту панель) откройте раздел Потоки данных и выберите источник Веб (для сбора данных с сайта)
Далее указываем ссылку на сайт для сбора данных. Можно использовать ссылку на минилендинг с доменом конструктора Salebot:
(пример https://salebot.site/md/<название_в_ссылке>)
ИЛИ установить на минилендинг(сайт) свой домен (пример ниже):
После клика по кнопке Создать откроется вкладка "Сведения о веб-потоке":
На изображении:
1 - Идентификатор потока данных (ga4_measurement_id). Данный идентификатор указывается в общих настройках минилендинга во вкладке Аналитика для сбора данных.
Пример:
Идентификатор потока данных в настройках минилендинга:
2 - Секретный ключ API. Переходим в эту вкладку, чтоб получить ga4_api_secret:
Нажмите кнопку Создать. Будет сгенерирован Секретный ключ API, который в дальнейшем потребуется для настройки передачи данных в бота. Скорируйте данный ключ.
Добавляем в переменные проекта две переменные:
ga4_measurement_id - Идентификатор потока данных (пример G-LYXWRKECY4) ga4_api_secret - Секретный ключ API (пример ZSZ2IDt2Sd8JMAUW9WnJGA)
На этом основные настройки на стороне Google.Аналитики выполнены.
Создавать аналитику надо выключив переключатель на скрине ниже:
Для просмотра информации/отчётов по данному ресурсу или аккаунту перейдите на любую из вкладок меню в левой части экрана:

Как перейти в панель АДМИНИСТРАТОР в Google.Аналитика из отчётов:

В нижней панели слева ВНИЗУ есть значок шестеренки. Нажмите на нее, чтобы зайти в настройки ресурса как Администратор:

Установить счётчик на минилендинг

Установить счётчик на минилендинг можно одним из удобных способов.
Добавить счётчик на минилендинг можно установив тег Goggle в настройках CSS и JS минилендинга в поле HTML-код HEAD.
Другой способ, в настройках минилендинга в разделе Аналитика заполнить поля Идентификатора потока данных и Названия события конверсии.
Заполнение данных этих полей равносильно добавлению тега Goggle в настройках CSS и JS минилендинга в поле HTML-код HEAD.
Как создать счетчик (Поток данных) на странице https://analytics.google.com/ описано в этой статье:
Ниже выберите один из способов установки счётчика на минилединг для добавления счётчика на минилендинг:
Настройки минилендинга - > Аналитика
Настройки минилендинга - > тег Goggle(CSS и JS)

Подключение счётчика в настройках Аналитики минилендинга

Заполнение полей в разделе Аналитика равносильно добавлению тега Goggle в настройках CSS и JS минилендинга в поле HTML-код HEAD.
Откройте минилендинг для редактирования:
Перейдите по кнопке Настройки в раздел Аналитика:
В настройках минилендинга (раздел Аналитика) указываем Идентификатор потока данных и название события-конверсии:

Как получить данные Идентификатор потока данных и название события-конверсии

В настройках Потока данных Goggle Аналитики скопируйте "Идентификатор потока данных" . Его необходимо будет указать в настройках минилендинга.
Можно скопировать идентификатор в ранее созданном потоке данных или создать новый по инструкции: https://docs.salebot.pro/integracii/analitika/integraciya-chatbota-s-google-analitics#registraciya-akkaunta-i-sozdanie-potoka-dannykh
Чтобы клики по кнопкам мессенджера вызывал событие конверсии, нужно создать "Событие-конверсия" в разделе Конверсии.
Чтобы создать его перейдите в раздел Конверсии -> События-конверсии -> Создать событие-конверсию --> Напишите название для данного события.
Имя события-конверсии может быть любым, его нужно передать в настройки минилединга. Например, click
Событие-конверсия будет срабатывать по нажатию на любую кнопку минилендинга.
Если вы хотите разделить конверсии для разных мессенджеров, в настройках минилендинга название события-конверсии должно заканчиваться на нижнее подчеркивание “_”
Если ввести в поле “Название события конверсии” “click_button_”, для каждого мессенджера будет исходить разная конверсия. click_button_vk - для ВКонтакте click_button_telegram - для Телеграм click_button_viber - для Вайбера click_button_whatsapp - для Ватсапа click_button_ok - для Одноклассников click_button_instagram - для Инстаграма
Само названия события-конверсии может быть любой, главное, чтобы в конце было нижнее подчеркивание. В отчетах аналитики к нему будет добавлено имя мессенджера.
Событие-конверсия после создания может обновляться до 24-х часов. Для проверки, вы можете создать событие-конверсию и проверить её в разделе “Отчет в реальном времени” внизу странице в графе “Конверсии”.
Если все установлено правильно, там появятся имена и количество конверсий.

Подключение счётчика в настройках минилендига с помощью тега Goggle

У вас должен быть создан Поток данных(счётчик), как было описано в статье выше.
Заходим в настройки потока данных Google Аналитики:
Переходим на вкладку "Просмотр инструкции тега":
Открываем вкладку "Установить вручную", чтобы получить код тега для установки в минилендинг. Копируем код тега:
Переходим в настройки минилендинга и в разделе "CSS и JS" в поле "HTML-код HEAD" устанавливаем скопированный тег Google:
После этого нажимаем кнопку Сохранить, чтобы внесенные изменения применились.

Как передать Google Client ID(_ga) с минилендинга в переменные

Чтобы передать идентификатор посетителя, в настройках минилендинга установите галочку Google Client ID(_ga). После запуска бота в диалоге с клиентом с данного минилендинга появится переменная _ga.
Шаг 1. Зайдите в редактирование минилендинга. Верхняя строка поля конструктора минилендингов --> кнопка Настройки:
Шаг 2. Откройте раздел Аналитика и поставьте галочку в чекбоксе Google Client ID(_ga):
Шаг 3. При запуске бота с минилендинга переменная _ga появится в информации о клиенте в правой части диалога:

Как передать события в GA из Salebot

Функция API в калькуляторе для передачи событий работает на тарифе Премиум
Google Analytics 4
Universal Analytics(УСТАРЕВШАЯ ВЕРСИЯ)
Чтобы передать событие в Google Analytics при переходе в этап, в поле Калькулятор, необходимо вызвать функцию ga4_event() с необходимыми параметрами.
ga4_event('event_name', 'params', 'debug')
event_name - Обязательно. Название события.
params - Параметры события (Необязательно). Пример '{"key": "value", "another_key": "another_value"}'
debug - Признак теста(Необязательно). Может быть передано любое значение, достаточно передать значение 1. Позволяет протестировать корректность построения запроса без передачи данных на сервер аналитики.
Примеры запросов:
result = ga4_event('login', '{"method":"Telegram"}')
result = ga4_event('purchase', '{"currency": "USD", "transaction_id": "T_1234", "value":"12.21"}')
Все возможные события с параметрами описаны здесь:

Тестирование запросов

Если передать последний параметр, то будет отправлен тестовый запрос, который возвращает больше информации. Если запрос без ошибок, то в ответ придет:
{'validationMessages': []} если в запросе есть ошибка, то в ответе будет ее описание, например: {'validationMessages': [{'fieldPath': 'events', 'description': 'Event at index: [0] has no name.', 'validationCode': 'NAME_INVALID'}]}
Примеры тестирования запросов:
result = ga4_event('login', '{"method":"Telegram"}', '1')
result = ga4_event('purchase', '{"transaction_id": "T_1234", "value":"12.21"}', '1')

Как передать события в GA из Salebot

Чтобы передать событие в Google Analytics при переходе в этап, в поле Калькулятор, необходимо вызвать функцию ga_event() с необходимыми параметрами.
ga_event('категория', 'действие события', 'ярлык', 'ценность события', '{"название параметра": "значение", "название параметра2": "значение3"}', 'признак теста')
где:
  1. 1.
    категория события - обязательный параметр
  2. 2.
    действие события - обязательный параметр
  3. 3.
    ярлык события
  4. 4.
    ценность события. Передается в целых числах, запишется в той валюте, которая указана в настройках представления
  5. 5.
    словарь с дополнительными параметрами пример: '{"ti":"#{order_id}", "tr":"25", "tcc":"#{promocode}"}'
  6. 6.
    признак теста - необязательный параметр. Может быть передано любое значение, достаточно передать значение 1. Позволяет протестировать корректность построения запроса без передачи данных на сервер аналитики
Внимание! Не забывайте убирать признак теста после проверки.
Примеры вызова функции:
ga_event('продажа', 'просмотр списка') ga_event('Salebot', 'Вход в бот', '#{tag}', '100', '{"ti":"#{order_id}", "tr":"#{price}", "tcc":"#{promocode}"}') ga_event('Salebot', 'Вход в бот', '#{tag}', '100') ga_event('Salebot', 'Вход в бот', "", '20')
Пример тестового вызова функции:
ga_event('Salebot', 'Вход в бот', '', '', '', 1)
В результате тестового вызова будет получен ответ вида:
{'hitParsingResult': [{'valid': True, 'parserMessage': [], 'hit': '/debug/collect?ec=Salebot1&ea=Вход в бот1&ev=20&t=event&v=1&tid=UA-213816105-1&cid=860822573.9377922815'}], 'parserMessage': [{'messageType': 'INFO', 'description': 'Found 1 hit in the request.'}]}, где
'valid': True - признак успешно выполненного запроса, параметры переданы верно.
При вызове функций для передачи данных в google analytics, некоторые параметры передаются автоматически, информация ниже написана для общего представления работы функций.
Для функций ga_pageview и ga_transaction_pageview передается параметр “t”: “pageview”
Для функций ga_event и ga_transaction_event передается параметр “t”: “event”
Для функций ga_transaction_pageview и ga_transaction_event дополнительно передается параметр “pa” со значением “purchase”.
Также при вызове всех функций автоматически передается параметр cid — это идентификатор пользователя для аналитики. Если пользователь пришел в бот с минилендинга и в минилендинг настроен, как указано выше, то этот идентификатор автоматически сохранится в переменные клиента, в переменную _ga
Также при вызове всех функций автоматически передается параметр cid — это идентификатор пользователя для аналитики. Если пользователь пришел в бот с минилендинга и в минилендинг настроен, как указано выше, то этот идентификатор автоматически сохранится в переменные клиента, в переменную _ga
если у клиента не окажется данной переменной, то она генерируется автоматически из рандомного набора цифр, но при таком условии рекомендуется передать в дополнительных параметрах источник трафика описание ниже (Переопределение источника).

Как переопределить источник (для Universal Analytics)

Если вам необходимо вручную задать источник трафика для вашего события - можно дополнить любой из типов запроса следующими параметрами.
Словарь ниже - не является самостоятельным, используется только при вызовах функций описанных ниже в поле Дополнительные параметры
'{ "cs":"#{utm_source}", "cm":"#{utm_medium}", "cn":"#{utm_campaign}", "ck":"#{utm_term}", "cc":"#{utm_content}"}'
Документация по параметрам:

Как использовать запросы типа События (t:events) (для Universal Analytics)

Используются в Google Analytics для фиксации наступления определенных событий В GA можно настраивать цели, которые фиксируются при наступлении определенных событий. (т.е. не все события передаваемые события должны быть обязательно целью)
Увидеть события можно в разделе Поведение -> События -> Лучшие события
В данном примере вы можете увидеть сколько было переходов в те блоки, откуда настроили передачу данных.

Как настроить цель на событие (для Universal Analytics)

На самые значимые этапы воронки можно настроить цели и использовать их для отслеживания конверсии между этапами. Цели настраиваются в раздел “Представление” -> Цели

Как использовать запросы типа Просмотр страниц (t:pageview) (для Universal Analytics)

Передачей данных о просмотре страницы вы имитируете посещение пользователем веб-страницы. Увидеть стандартный отчет по страницам можно в разделе “Поведение -> Контент сайта”
Если настроить цель на посещение ряда страниц, можно получить визуальную воронку движения по ветке бота, не выходя из Google Analytics.
Пример настройки:
Плюс данного подхода — наглядное представление движения по воронке не выходя из аналитикса.
Минус - по сути вы передает всего один параметр - посещение какого-то блока. Доп данные, такие как Ярлык или ценность, как в запросах Events тут не передать.
Чтобы передать данные о “посещении страницы” в Google Analytics при переходе в блок необходимо, в поле Калькулятор, вызвать функцию ga_pageview() с необходимыми параметрами.
ga_pageview('путь URL страницы', 'заголовок', '{"название параметра": "значение", "название параметра2": "значение3"}', 'признак теста')
где:
  1. 1.
    путь URL страницы - Часть URL страницы, определяющая путь.
  2. 2.
    заголовок - Заголовок страницы/документа
  3. 3.
    Словарь с дополнительными параметрами вида '{"название параметра": "значение", "название параметр2": "значение2"}'
  4. 4.
    признак теста - необязательный параметр. Может быть передано любое значение, достаточно передать значение 1. Позволяет протестировать корректность построения запроса без передачи данных на сервер аналитики
Внимание! Не забывайте убирать признак теста после проверки.
Примеры вызова функции:
ga_pageview('/start, 'Точка входа') ga_pageview('/pay', 'Покупка', '{"cd1": "High Scores"}')
Для передачи дополнительных параметров, воспользуйтесь документацией ниже. В ней содержатся все возможные параметры с подробным описанием:

Как работать с расширенной электронной торговлей (для Universal Analytics)

Параметры расширенной электронной торговли нужно отправлять в существующих обращениях (pageview, event)
Для этого предусмотрено две функции: ga_transaction_pageview и ga_transaction_event.

Функция ga_transaction_pageview (для Universal Analytics)

Обязательные параметры выделены жирным:
ga_transaction_pageview('идентификатор транзакции', 'общий доход', 'путь URL страницы', 'заголовок', 'список товаров', 'словарь дополнительных параметров', 'признак теста')
Пояснение к параметрам из примера
  1. 1.
    Уникальный идентификатор транзакции
  2. 2.
    Общий доход, связанный с транзакцией
  3. 3.
    Часть URL страницы, определяющая путь.
  4. 4.
    Заголовок страницы/документа
  5. 5.
    Массив товаров '[["id", "name", "цена", "количество"], ["id", "name", "цена", "количество"]]'
  6. 6.
    Словарь с дополнительными параметрами вида '{"название параметра": "значение", "название параметр2": "значение2"}'
  7. 7.
    признак теста - необязательный параметр. Может быть передано любое значение, достаточно передать значение 1. Позволяет протестировать корректность построения запроса без передачи данных на сервер аналитики
Внимание! Не забывайте убирать признак теста после проверки.
Примеры вызова функции:
ga_transaction_pageview('#{order_id}', '2200', '/send', 'Получил', '[["222", "Курс1", "1200", "1"], ["223", "ДопКурс", "1000", "1"]]')
ga_transaction_pageview('123', '100', '/pay', 'Оплатил', '', '{"cd": "High Scores", "cs":"#{utm_source}", "cm":"#{utm_medium}", "cn":"#{utm_campaign}"}' )
Массив товаров имеет следующий вид - массива массивов:
'[["id_товара", "название товара", "цена товара", "количество товара"], ["id_товара", "название товара", "цена товара", "количество товара"]]'
Каждый товар должен иметь 4 параметра, общий массив в одинарных кавычках, параметры внутри в двойных.

Функция ga_transaction_event (для Universal Analytics)

Обязательные параметры выделены жирным:
ga_transaction_event ('идентификатор транзакции', 'доход от транзакции', 'категория события', 'действие события', 'метка', 'ценность события', 'массив товаров', 'другие параметры')
Пояснение к параметрам из примера:
  1. 1.
    Уникальный идентификатор транзакции
  2. 2.
    Общий доход, связанный с транзакцией
  3. 3.
    категория события - обязательный
  4. 4.
    действие события - обязательный
  5. 5.
    метка события
  6. 6.
    ценность события. Передается в целых числах, запишется в той валюте, которая указана в настройках представления
  7. 7.
    Массив товаров '[["id", "name", "цена", "количество"], ["id", "name", "цена", "количество"]]'
  8. 8.
    Словарь с дополнительными параметрами вида '{"название параметра": "значение", "название параметр2": "значение2"}'
  9. 9.
    признак теста - необязательный параметр. Может быть передано любое значение, достаточно передать значение 1. Позволяет протестировать корректность построения запроса без передачи данных на сервер аналитики
Внимание! Не забывайте убирать признак теста после проверки.
Примеры вызова функции:
ga_transaction_event('1244', '121.2', '1категория', 'действие', 'ярлык', '10', '[["11", "Товар1", "1.2", "1"], ["22", "Товар2", "120", "1"]]')
ga_transaction_event('1244', '1.2', '1категория', 'действие', '', '', '[["11", "Товар1", "1.20", "1"]]')
ga_transaction_event('1244', '121.2', '1категория', 'действие', 'ярлык', '10', '[["11", "Товар1", "1.2", "1"], ["22", "Товар2", "120", "1"]]', '{"ta": "Google Store", "cs":"#{utm_source}", "cm":"#{utm_medium}", "cn":"#{utm_campaign}"}' )
Массив товаров имеет следующий вид массива массивов:
'[["id_товара", "название товара", "цена товара", "количество товара"], ["id_товара", "название товара", "цена товара", "количество товара"]]'
Каждый товар должен иметь 4 параметра, общий массив в одинарных кавычках, параметры внутри в двойных.

Как передать параметр UTM в GA4

В документации Google нет описания передачи данного параметра. Когда будет добавлено, в функции можно будет передать UTM. Поиск в интернете подтверждает, что на данный момент нет возможности передать UTM:

Видеоурок (УСТАРЕВШАЯ ВЕРСИЯ для Universal Analytics)