
Пришел @sgnm_ad, говорит, "хочу лендинг, открывающий Telegram аппку или бота, отправляющий достижение цели в Я.Метрику".
Первым делом, настраиваем цели в метрике.
Далее собираем html страничку: две кнопки с разными ссылками и счетчик Я.Метрики. Логика простая, при клике на кнопку забираем ClientID у метрики, подкидываем в ссылку, переадресовываем пользователя. Есть разница в построении ссылки для Telegram:
- MiniApp:
https://t.me/[botname]/[appname]?startapp=clientID-[ClientID] - Bot:
https://t.me/[botname]?start=clientID-[ClientID]
Готовая MiniApp'ка есть под рукой, передаем значение Telegram.WebApp.initData на сервер. Бота собираем на коленке, используя nodejs. Регистрируем слушателя messages, т.к. при открытии ссылки из браузера Telegram отправляет команду /start. Интересная особенность: при запуске бота, Telegram скрывает для пользователя значение параметра start.
Получаем значение ClientID из соответствующего параметра start/startapp на сервере. Хорошо, серверное приложение теперь знает, что есть какой-то ClientID, что с ним делать?
Правильно, отправить в метрику достижение цели, используя ClientID. Есть несколько способов, мы выбрали Measurement Protocol, он работает как обычный API. Все что нам нужно:
- Токен метрики
- ID счетчика
- Название цели
- Полученный ClientID
Формируем тело запроса, отправляем - успех, в метрике видим всю необходимую информацию. UTM метки при переходе на лендинг так же сохраняются в метрике.
Для чего это все нужно, и кому это может быть полезно?
- Тем, кто использует или планирует использовать автоворонки в Telegram и продвигать их через Яндекс.Директ: возможность оптимизировать рекламные кампании на любой шаг воронки
- Тем, чей продукт основан на чат-боте или веб-приложении в Telegram: масштабирование за счет трафика из Яндекс.Директ с оптимизацией рекламных кампаний на конечный результат
- Тем, кто использует чат-ботов как способ авторизации в личном кабинете: возможность смотреть аналитику в Яндекс.Метрике