Интеграция отправляет события кабинета в Яндекс.Метрику как офлайн-конверсии. Новый диалог, входящее сообщение, запись на услугу, выполненная цепочка или оплата становятся целями в отчётах Метрики, и реклама оценивается по реальным обращениям, а не по кликам.
Подключение требует номер счётчика и OAuth-токен с правами Метрики.
#Что синхронизируется
| Событие кабинета | Код события (идентификатор цели) |
|---|---|
| Новый диалог | dialog.created |
| Обновление диалога (закрытие, статус) | dialog.updated |
| Входящее сообщение | message.inbound |
| Запись на услугу | calendar.event_created |
| Цепочка выполнена | chain.execution_completed |
| Успешная оплата | payment.succeeded |
Конверсия уходит с идентификатором посетителя UserId (ID диалога или события) и временем события. Для оплаты добавляются сумма и валюта.
#Что нужно на стороне Метрики
- Счётчик Метрики, где у вас есть право редактирования.
- OAuth-токен с правом «Метрика: получение статистики, чтение и изменение параметров счётчиков».
- Включённая загрузка офлайн-конверсий в настройках счётчика.
- Цели типа «JavaScript-событие» с идентификаторами из таблицы выше.
#Как подключить
#Получить OAuth-токен
- Откройте oauth.yandex.ru и создайте приложение с правами Яндекс.Метрики.
- Получите токен для своего аккаунта (ссылка вида
oauth.yandex.ru/authorize?response_type=token&client_id=…). - Скопируйте токен: он начинается с
y0_.
#Подготовить счётчик
- В Метрике откройте «Настройки → Загрузка данных» и включите «Офлайн-конверсии».
- В разделе «Цели» создайте цель «JavaScript-событие» для каждого нужного события. Идентификатор цели должен совпадать с кодом события, например
dialog.created.
#Подключить в tuk-tuk.online
- Откройте раздел Интеграции, выберите Яндекс.Метрику и нажмите «Подключить».
- Введите номер счётчика (число из адреса
metrika.yandex.ru/dashboard?id=…) и OAuth-токен. - Нажмите «Подключить»: платформа проверит доступ к счётчику методом
GET /management/v1/counter/{id}. - В окне интеграции отметьте события, которые нужно отправлять. Список сохраняется сразу.
#Проверить, что работает
- Нажмите «Проверить» в блоке «Состояние подключения»: платформа подтвердит доступ к счётчику и перечислит события, для которых в счётчике нет цели «JavaScript-событие».
- Создайте тестовый диалог (напишите боту с другого номера): конверсия
dialog.createdпоявится в отчёте «Конверсии» в течение нескольких часов.
#Что происходит после подключения
| Действие | Вызов Метрики |
|---|---|
| Проверка счётчика | GET https://api-metrika.yandex.net/management/v1/counter/{id} |
| Проверка целей | GET https://api-metrika.yandex.net/management/v1/counter/{id}/goals |
| Отправка конверсии | POST https://api-metrika.yandex.net/management/v1/counter/{id}/offline_conversions/upload?client_id_type=USER_ID, тело multipart/form-data с файлом file |
Файл конверсии: CSV в формате Метрики.
UserId,Target,DateTime
dlg-8f3a…,dialog.created,1788602400DateTime передаётся как Unix-время в секундах; для оплаты добавляются колонки Price и Currency.
#Ограничения
- На каждое событие уходит отдельная загрузка; Метрика показывает данные в отчётах в течение 2–3 часов.
- Конверсия засчитается только при совпадении
Targetс идентификатором цели «JavaScript-событие»; цели по URL не подходят. - Время конверсии всегда «сейчас»: события из прошлого не досылаются.
- Отправка не блокирует работу кабинета: при сбое Метрики событие пропускается и пишется в лог.
#Частые проблемы
| Проблема | Что делать |
|---|---|
| «Неверный OAuth-токен или нет доступа к счётчику» | Выпустите токен под аккаунтом с правом редактирования счётчика и правами Метрики |
| «Счётчик … не найден» | Сверьте номер счётчика с адресом страницы Метрики |
| Конверсии не появляются в отчётах | Проверьте цель «JavaScript-событие» с точным идентификатором и включённую загрузку офлайн-конверсий; нажмите «Проверить» в окне интеграции |
| Не выбрано ни одного события | Отметьте события в окне интеграции: без этого конверсии не отправляются |
