Как сделать аналитику для телеграм бота. Два пути: простой и очень простой

У нас есть телеграмм бот, агрегатор фриланс проектов. И была потребность иметь аналитические данные в удобном виде.

Меня зовут Дима я веб-программист и это моя первая статья на vc.

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

1. Сервис lookerstudio.google.com - простой вариант

2. Платформа graspil.com - очень простой вариант

Вариант раз — Lokerstudio

Как сделать аналитику для телеграм бота. Два пути: простой и очень простой

Меня уже давно выручает этот сервис в подобных вопросах. Он не самый простой и им гораздо удобней пользоваться когда аббревиатура SQL - это не просто буквы…

Преимущество Lokerstudio, в том, что можно использовать данные из разных источников и получить уникальные отчеты.

Я не буду сильно расписывать куда конкретно нажимать, если есть вопросы пишите в личку или комментарии. Может быть напишу отдельный пост об этом.

К делу

Первое, нам нужно понять есть ли у нас какие-то данные в БД. Например, я использовал библиотеку longman/telegram-bot и там можно включить сохранение данных. Если данных нет, то переходите к пункту про сервис graspil.

Создадим источник данных и это будет наша БД, в моем случае это MySQL. Вам понадобиться логин и пароль для удаленного доступа к базе данных.

Создайте отдельного пользователя с правами только на чтение, чуть больше секьюрности не помешает

Список пользователей

Подключаем таблицу с пользователями, выбираем какие поля отображать и вот мы видим всех кто у нас есть

Тут я еще подключил таблицу с UTM данными, чтобы видеть кто, откуда пришел.
Тут я еще подключил таблицу с UTM данными, чтобы видеть кто, откуда пришел.

Источники трафика

У меня есть таблицы: с данными UTM меток и таблицой транзакций.Создаем два источника данных. Соеденяем их получаем два вот таких графика.

Левый это сколько пользователей пришло с конкретного ресурса/канала и сколько из них ушло. Правый график это сумма конверсий по каналам.
Левый это сколько пользователей пришло с конкретного ресурса/канала и сколько из них ушло. Правый график это сумма конверсий по каналам.

Клики

Бот рассылает проекты с разных бирж фриланса и мы трекаем переходы по ссылкам. Ниже два графика которые показывает кол-во кликов.

Справа - это общий график, а слева - это данные из гугл аналитики, график показывает сколько было переходов из webapp-а.
Справа - это общий график, а слева - это данные из гугл аналитики, график показывает сколько было переходов из webapp-а.

По аналогии у нас есть графики c прочими специфическими данными. Достаточно скудно, но это то что удалось выжать без дополнительной доработки бота.

Вариант два — graspil.com

Уже всем понятно что это пиар моего сервиса. Я был удивлен когда я не нашел адекватной аналитики для ботов. Есть сервисы куда можно отправлять свои события, но, это нужно придумать какие события выгружать и как их выгружать, лично я слишком ленив для этого…

Хотелось решения аля гугл аналитика или яндекс метрика. Подключил за 2 минуты и забыл. И в одно прекрасное утро я проснулся с идеей как все это реализовать…

Что предостовляет сервис?

На данный момент у нас есть:

  • Информация о пришедших, ушедших, вернувшихся пользователях
  • Отказы, сессии
  • UTM отчет — показывается данные в разрезе источника трафика
  • Скоро появиться: конверсии, MAU, WAU, DAU, воронки, сегментация…
  • …всех карт раскрывать не буду
Сводка на главной страницы
Сводка на главной страницы

Как подключиться?

Есть 2 способа подключения. Если бот работает через webhook, скорей всего можно обойтись и без программиста, либо это будет не сложней чем установить гугл аналитику.

1. Проксирование запросов от телеграм сервера нашей платформой. Нужно лиш изменить пару урл адресов.

2. API. Для тех кто не хочет доверяться какому-то проксирующему серверу, может подключиться всего одним https запросом. Ваш бот после получения данных от телеграм должен отправить их на наш сервер.

Так же есть возможность подключить конструкторы ботов, пока что мы решаем эти вопросы индивидуально, просто напишите в поддержку.

Что с конфеденциальностью?

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

Но, все же через нашу платформу проходят много данных и должен возникнуть справедливый вопрос. Как мы их обрабатываем и храним?

1. Мы знаем что лучший способ сохранить конфиденциальность данных это … не хранить их. Мы храним только самый минимум, “мета данные” для статистики.

2. Мы не торгуем данными, если честно я даже не знаю куда их можно продать, мы планируем зарабатывать на предоставлении дополнительных платных услуг, на худой конец сервис просто станет платным.

3. Некоторые данные шифруются, например иногда нам необходим токен бота, он храниться в зашифрованном виде в секретном месте. А если он нам не нужен мы предпочтем вообще его не хранить.

Вы всегда можете запросить удаления или экспорт всех ваших данных, сейчас у нет такой кнопки в личном кабинете, но можно отправить запрос в службу поддержки.

Сколько стоит?

Я не знаю :( Нет, серьезно. Есть бесплатный тариф, с базовыми функциями и отчетами. И планируется платный тариф с расширенными возможностями, но конкретных цифр пока нет, думаю в районе 10$ (шутки про доллар по 100р. не будет…)

P. S. Вчера я поддался на массовый гипноз и тоже создал свой ТГ канал, (еще даже подписчиков не накручивал :) ) почему бы за одно не опубликовать тут эту ссылочку https://t.me/beekbof

66
5 комментариев

"Некоторые данные шифруются, например иногда нам необходим токен бота, он храниться в зашифрованном виде в секретном месте." - если вам токен необходим, то вам нужно его расшифровывать перед использованием, а если вы знаете как его расшифровать, то его хранение в зашифрованном виде не имеет как бы смысла-то даже 🤷‍♂️

Создать на 100% безопасную систему не возможно, но можно стремиться к этим 100 процентам.

К примеру, мы достаточно часто видим новости о сливах разных баз. Если слить базу с зашифрованными данными и не иметь ключа то толку с нее не будет.

Чем больше работы для злоумышленника тем больше безопасности, взломать 1 сервер не равно взломать 3 сервера.

В статье я хотел дать понять, что нам не все равно и мы занимаемся этим вопросом. По мере роста проекта, вопросам безопасности будет уделяться больше внимания.

PS. Токен не обязательное условия для работы нашей платформы, сейчас он нужен лишь для удобства настройки, можно все настроить без токена

2

Хай, что-то у тебя не то с регой, не выдаёт мне код на email

Ответил в личке