Статья была полезной?
Одно из преимуществ модуля «Воронки» — это гибкая работа с базой пользователей через Telegram. В этой статье мы расскажем про первоначальные настройки: как правильно настроить Telegram-бота, какие есть различия в способах подключения ботов, как запускать бота в воронке и другие аспекты работы через Telegram.
Интеграция Telegram-бота с воронками
Обратите внимание
В воронках можно использовать только Telegram-ботов, подключенных через GetCourse или напрямую к модулю «Воронки».
Ниже рассмотрим, какие способы подключения доступны, а также чем они отличаются и можно ли изменить способ для конкретного бота.
Способы подключения Telegram-бота и их отличия
В модуле «Воронки» вы можете использовать:
- Ботов, подключенных к аккаунту через стандартный функционал.
- Новых ботов, подключенных напрямую к модулю «Воронки».
Важно
Не используйте в модуле «Воронки» Telegram-ботов, которые контролируют доступ пользователей к группам и каналам. Это может привести к их некорректной работе.
В зависимости от того, какой бот используется — подключенный к аккаунту или подключенный напрямую к модулю «Воронки», — их работа в модуле будет отличаться.
Взаимодействие с пользователем в воронке
Бот под управлением GetCourse:
- Действия запускаются только по предварительно зарегистрированному пользователю, который привязал к своему профилю такого бота.
Бот под управлением воронок:
- Может запускаться по пользователям, у которых нет профиля в вашем аккаунте на GetCourse.
- Позволяет пользователю сразу запустить воронку по команде /start или ключевому слову. В этом случае взаимодействие будет осуществляться через агента «Чат». Пользователя в аккаунте можно будет зарегистрировать позже.

Скорость срабатывания реакций в воронке
Бот под управлением GetCourse:
- Реакции могут срабатывать с задержкой, так как бот задействован в стандартном функционале аккаунта (отправка рассылок, работа процессов и т. д.).
Бот под управлением воронок:
- Работает напрямую, благодаря чему реагирует практически моментально.
Использование вне модуля «Воронки»
Бот под управлением GetCourse:
- Привязывается к пользователю, а значит, можно использовать вне модуля «Воронки», например, в процессах, рассылках и т. д.
Бот под управлением воронок:
- Используется только для рассылок внутри модуля «Воронки».
Обработка входящих сообщений
Бот под управлением GetCourse:
- Все сообщения пользователей, а также нажатия на кнопки попадают в раздел «Входящие».
Бот под управлением воронок:
- Сообщения не попадают в раздел «Входящие». С пользователями можно общаться в формате мессенджера в разделе «Apps» — «Боты» — «Чаты».

Способ привязки бота к пользователю
Бот под управлением GetCourse:
- Используется короткая ссылка.
Бот под управлением воронок:
- Ссылка для привязки находится в разделе «Apps» — «Боты» в настройках бота, пункт «Ссылка для привязки чата к пользователю».
Важно
В обоих случаях для привязки пользователь должен переходить по ссылке авторизованным в аккаунте на GetCourse.

Как подключить бот напрямую к модулю «Воронки»
Подключение через стандартный функционал GetCourse описали в инструкции «Как подключить Telegram-бот к аккаунту».
Для подключения напрямую к модулю «Воронки»:
- Установите приложение «Боты» в разделе «Apps» — «Каталог», если еще не сделали это ранее.

- После установки вы сразу попадете на страницу с настройками. Если вы уже устанавливали приложение ранее, перейдите в раздел «Apps» — «Боты».

- На вкладке «Настройки» нажмите на «+» в разделе «Транспорты» и выберите «Telegram Bot».

- Создайте Telegram-бота в BotFather по инструкции. В итоге вы должны скопировать токен созданного бота (шаг 4 инструкции).
- Вставьте токен в поле «Ключ бота» и нажмите «Проверить ключ бота».

- Нажмите «Использовать этого бота».

Обратите внимание
Если вы хотите подключить не нового бота, а созданного ранее, проверьте, под чьим управлением он находится.
Сделать это можно при добавлении бота или, если бот уже есть в списке доступных транспортов, в его настройках с помощью кнопки «Проверить» под строкой «Адрес веб-хука».

У бота может быть четыре варианта ответа при проверке ключа:
- Поле загорелось желтым цветом, адрес веб-хука не установлен — такой бот нигде не используется и его можно подключить.
- Поле загорелось зеленым цветом, в адресе веб-хука имеются параметры chtm/app/sender — бот уже находится под управлением модуля «Воронки».


- Поле осталось серым, в адресе веб-хука имеются параметры chtm/app/sender, ниже появилось желтое поле «Установленный адрес веб-хука» с адресом вашего аккаунта — бот находится под управлением GetCourse и его можно использовать в воронках или передать под управление модуля «Воронки» [перейти к инструкции ▼].
- Поле загорелось желтым цветом, в адресе веб-хука нет параметров chtm/app/sender и прописан адрес сторонней системы — такой бот используется сторонней системой и его нельзя использовать для работы с воронками.


Как перепривязать бота из аккаунта GetCourse в модуль «Воронки» и наоборот
При необходимости вы можете перепривязать подключенный к модулю «Воронки» бот к аккаунту GetCourse и наоборот. При этом сохранятся подписчики бота и связи чатов с пользователями.
Важно
Не удаляйте бота при перепривязке! При удалении связи с пользователями НЕ сохранятся.
Чтобы перепривязать бота из модуля «Воронки» в аккаунт GetCourse:
- Зайдите в настройки этого бота в разделе «Apps» — «Боты».
- Нажмите «Убрать внешнее управление».
Бот перейдет под управление аккаунта GetCourse.

Обратите внимание
После перепривязки бота из модуля «Воронки» в аккаунт GetCourse:
- связь чата с пользователем в GetCourse останется;
- чат с пользователем в разделе «Apps» — «Боты» — «Чаты» сохранится;
- рассылку из GetCourse через этого бота пользователю отправить не получится, пока пользователь не привяжет бот к профилю.
Чтобы перепривязать бота из аккаунта GetCourse в модуль «Воронки»:
- Добавьте бота в список транспортов в разделе «Apps» — «Боты».
- Укажите его токен.
- Отметьте опцию «Заменить адрес веб-хука для обработки событий».

Также вы можете для уже существующего бота, который был добавлен в аккаунте, в настройках нажать «Установить» под полем с адресом веб-хука. Появится предупреждение о подтверждении и бот перейдет под управление модулем «Воронки».
После этого вы не сможете отправлять рассылки через этот бот в разделе «Сообщения» — «Рассылки». Взаимодействие с чатами пользователей будет возможно в разделе «Apps» — «Боты» — «Чаты».

Варианты запуска бота в модуле «Воронки»
Если вы еще не добавляли бота в воронку, то перед запуском вам необходимо это сделать:
- Нажмите на шестеренку рядом с названием воронки.
- Выберите бота в выпадающем списке.
- Нажмите «Связать бота со сценой».

- Далее подтвердите действие.
- Сохраните изменения.
Теперь вы можете использовать бота в воронке.


Для отслеживания запуска бота используйте в воронке ноду «Команда бота». Первый запуск бота всегда будет происходить с входящим от пользователя сообщением, начинающимся с (или равным) /start. В зависимости от задачи этот параметр может меняться.

Ниже рассмотрим несколько способов запуска бота в воронках:
- С помощью ссылки для привязки чата к пользователю — можно будет выбрать, запускать воронку по любому, кто запустил бота, или выборочно по участникам определенной воронки.
- Через лендинг с сохранением рекламных источников.
- По прямой ссылке — можно использовать для продвижения через посевы.
- Один бот для запуска в разных воронках.
Запуск бота с помощью ссылки для привязки чата к пользователю
Простой вариант без каких-либо дополнительных настроек в воронке: пользователь сможет запустить бот, следующее за этим событие в воронке также запустится по этому пользователю. Работает по всем пользователям, запускающим бот, но дополнительно можно настроить срабатывание следующего за запуском бота события только по пользователям конкретной воронки.
Для этого варианта запуска бота должны быть соблюдены условия:
- Пользователь должен быть авторизован в вашем аккаунте на момент запуска бота, чтобы произошла привязка бота к пользователю.
- Пользователь должен запустить бот по ссылке для привязки чата к пользователю. Скопировать ее вы можете в разделе «Apps» — «Боты», на вкладке «Настройки» нужного бота.


В воронке вам достаточно добавить ноду «Команда бота» и оставить стандартную настройку «Запустить, если сообщение пользователя — содержит любое из ключевых слов — /start». Это нужно, т. к. вместе с командой /start в сообщении от пользователя в систему поступит специальный код, который отвечает за связку пользователя с чатом. Поэтому воронке необходимо соответствие только по ключевому слову.

Такая настройка ноды будет учитывать любые запуски бота. Следующее за запуском бота событие будет отрабатывать по всем пользователям.
Если важно ограничить запуск следующего события только для участников текущей воронки, нужно:
- Присвоить переменную пользователю на одном из предыдущих этапов воронки (до запуска бота), чтобы можно было определить, что текущий пользователь относится к этой воронке. Для этого:
- добавьте перед нодой «Команда бота» любое событие, у которого в параметрах есть агент «user», например, «Добавлен в группу»;

- перейдите в настройки реактивности события (на вкладке воронки «Запуск»);
- выберите «При запуске блока — Установить переменные» и пропишите любую понятную переменную, например, funnel1: user.funnel1 = true.


- Добавить проверку этой переменной на переходе из ноды «Команда бота», чтобы следующие события воронки запускались только по пользователям с нужной переменной, т. е. по пользователям из данной воронки. Для этого:
- дважды нажмите на стрелку-переход,
- выберите «установить условие»,


- пропишите значение переменной и нажмите «Применить».

После такой настройки следующие действия выполнятся только в случае, если у пользователя будет соответствующая переменная.
Запуск бота через лендинг с сохранением рекламных источников
Этот способ подойдет для ситуаций, когда нужно сохранить рекламные метки, с которыми пользователь пришел на лендинг, и передать их дальше при переходе к боту. Для этого:
- В настройках ноды «Команда бота» перейдите по ссылке «Как сделать ссылку в Telegram-бота?».

- Найдите блок с нужным ботом и скопируйте строку «Для указания действия (click) в кнопке на странице».

- В настройках кнопки лендинга используйте вызов JavaScript и добавьте в него скопированное значение. Ниже пример для кнопки на лендинге GetCourse

Обратите внимание
Если ваш сайт на стороннем сервисе, то создать и настроить кнопку вам нужно, используя инструменты стороннего сервиса. При нажатии на кнопку должен сработать вызов JavaScript с добавленным значением, рассмотренным выше.
Если вам необходимо решение для сайта на Tilda, напишите нам → в техподдержку.
Также вместо кнопки вы можете разместить на лендинге ссылку для запуска бота в текстовом формате. В этом случае в качестве адреса укажите значение из строки «Для указания адреса (url) в ссылке на странице».

При таком запуске в первом сообщении пользователя после /start будет передаваться специальный параметр для определения сессии пользователя.
Для аналитики проведите к ноде «Команда бота» ноду «Источники трафика» — все рекламные метки протянутся автоматически.

Обратите внимание
Если в такой схеме используется бот под управлением GetCourse, то необходимо отметить чекбокс «Создавать пользователя без email, если его нет в системе» в настройках этого бота.
При использовании бота под управлением воронок пользователь в такой схеме создаваться не будет. В разделе отладки воронки на вкладке «Запуск» такой переход будет отнесен к анонимному пользователю.

Запуск бота по прямой ссылке
Такой способ подойдет, когда не нужно учитывать источник запуска.
Для настройки:
- Используйте прямую ссылку на бота вида https://t.me/
USERNAME_ВАШЕГО_БОТА. В настройках ноды «Команда бота» выберите «Запускать, если сообщение пользователя» — «точно совпадает с любым из вариантов».

При необходимости вы можете разметить ссылку на бота, чтобы отслеживать разные источники запуска. Это может быть полезно, например, для продвижения через посевы. Для этого:
- Перейдите в раздел «Apps» — «Боты» — «Ссылки-метрики».
- Нажмите на кнопку «Добавить новую ссылку-метрику».

- Заполните название и метки для ссылки и нажмите «Добавить новую ссылку».
- Нажмите «Скопировать URL». Эту ссылку вам нужно будет использовать для продвижения.


- В настройках ноды «Команда бота» используйте вариант «Запускать, если сообщение пользователя» — «содержит любое из ключевых слов».

После таких настроек в событии, попавшем в ноду «Команда бота», будет содержаться информация о utm-метках и стартовом параметре в поле event.utm. Это значит, что вы сможете сохранить utm-метки в переменную и использовать их дальше в логике воронки, например, проверять их наличие на переходах или использовать в действиях.

Один бот для запуска в разных воронках
Вы можете запускать разные воронки с помощью одного бота, управляя параметром /start — просто задайте свой вариант параметра для каждой воронки. Есть два способа изменения стартового параметра:
- Укажите его в ссылке-метрике — рассматривали эту настройку [в разделе выше ▲].
- Или сформируйте ссылку вида https://t.me/USERNAME_ВАШЕГО_БОТА?start=myparam1, где «myparam1» — значение параметра, которое вам нужно прописать.
Далее в настройках ноды «Команда бота» используйте чекбокс «Включить фильтр по стартовому параметру» и добавьте свой стартовый параметр (вручную либо из ссылок-метрик). С такими настройками нода «Команда бота» будет запущена, только если в событии был указанный стартовый параметр.

Проверка разрешений чата
В своем Telegram пользователь может установить настройки конфиденциальности и запретить отправлять себе некоторый контент.
В воронках у вас есть возможность проверить, разрешено ли отправлять пользователю:
- голосовые сообщения и видеозаметки,
- обычные сообщения.
Используйте для этого ноду «Проверить разрешения чата».
Важно
На данный момент нода работает только с Telegram-чатами. Проверка разрешения для VK-чата при использовании этой ноды выполняться не будет, а в отладке в этом случае появится сообщение с ошибкой.

В ней есть две настройки:
- «Выберите тип разрешения» — можно проверить разрешение на отправку сообщений (то есть не заблокирован ли бот) или на отправку голосовых и видеозаметок.
- «Сохранить результат в переменную объекта с типом» — можно выбрать тип переменной и ее название. В переменную будет записано значение true (если разрешение есть) либо false (если разрешения нет). Значение переменной можно проверять далее в воронке на переходах и нодах, таким образом проверяя наличие или отсутствие нужных разрешений у пользователя.

Как запросить контакт пользователя через Telegram
Telegram позволяет запросить у пользователя привязанный номер телефона. Это гарантирует, что номер настоящий и принадлежит этому пользователю.
Для получения контакта таким образом вам нужно:
- Настроить ноду «Отправить сообщение».
- Настроить ноду «Событие чата Telegram».
- Обработать событие получения контакта от пользователя.
Настройка ноды «Отправить сообщение»
Чтобы запросить контакт:
- Добавьте ноду «Отправить сообщение» и перейдите в ее настройки.
- Напишите текст сообщения.
- Нажмите «Добавить вариант ответа» и напишите текст для него.
- Нажмите кнопку «Настройки» и выберите пункт «Запросить контакт».


Обратите внимание
Эта функция поддерживается только в Telegram и только для кнопок, отправленных как клавиатура. НЕ отмечайте опцию «Отправить кнопки с текстом сообщения», иначе запрос контакта не сработает.

При таких настройках нода отправит пользователю сообщение с кнопкой. При нажатии на кнопку он увидит окно с подтверждением отправки контакта.


Настройка ноды «Событие чата Telegram»
Для сохранения данных:
- Добавьте ноду «Событие чата Telegram».
- Соедините ее с нодой «Отправить сообщение», настроенной ранее.
- Укажите тип события «Получен контакт».


Обратите внимание
Telegram отправляет событие с контактом не только в этом случае. Если пользователь отправит боту контакт как вложение, то Telegram также пришлет событие с данными контакта. При этом таким способом можно отправить чужой контакт.
Если вам важно получить контакт именно текущего пользователя, то вы можете установить чекбокс «Не принимать контакты других пользователей».

Обработка события
Данные о полученном контакте можно обработать стандартными средствами воронки: сохранить в переменную, проверять в условиях, отправить в тексте сообщения и т. д.
Событие «Получен контакт» позволяет получить следующие свойства пользователя:
- event.contact.phone_number — номер телефона,
- event.contact.first_name — имя отправленного контакта,
- event.contact.last_name — фамилия отправленного контакта (при наличии),
- event.contact.user_id — id из Telegram пользователя (при наличии),
- event.contact.vcard — дополнительные данные о контакте в виде vCard (при наличии).
Вы можете сохранить нужные свойства в переменные. Для этого:
- Перейдите в настройки реактивности ноды «Событие чата Telegram» (на вкладке воронки «Запуск»).
- Отметьте чекбокс «Установить переменные».
- Сохраните нужные свойства в переменные, например,
user.phone = event.contact.phone_number
user.telegramId = event.contact.user_id,
или весь объект целиком, например,
user.tgContact = event.contact.


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


Вы также можете проверять, прислал ли пользователь свой контакт или чужой. В зависимости от результата можно построить разные реакции и, например, отправлять пользователю разные сообщения. Для этого:
- Подготовьте две разные реакции: на получение верного контакта и получение чужого (например, разные сообщения).
- Нажмите на переход из ноды «Получен контакт» к сообщению об успешном получении контакта.

- Выберите «Запустить, если» — «все условия выполнены», в «Значения переменных» пропишите соответствие идентификатора текущего пользователя присланному контакту event.contact.user_id == event.chat.originId.
- Нажмите «Применить».

- Аналогично настройте переход к сообщению о получении чужого контакта.


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