Skip to main content
Переменная это метка, которую бот заменяет на данные конкретного подписчика прямо в момент отправки. Пишете в тексте {{ first_name }}, а подписчик видит своё имя. Один и тот же блок или рассылка приходит каждому персонально, вручную ничего подставлять не нужно. Синтаксис у BotFlow это двойные фигурные скобки: {{ имя_переменной }}. Пробелы внутри скобок необязательны, {{ first_name }} и {{first_name}} работают одинаково. Если вы переходите с Salebot, где переменные писались как #{ }, в BotFlow та же идея записывается через {{ }}.
Подстановка работает везде, где вы пишете текст подписчику: в тексте и кнопках блоков Конструктора, в условиях блоков и стрелок, в сообщениях оператора в Мессенджере и в тексте Рассылок.

Как это выглядит

Допустим, в стартовом блоке написано:
Подписчику с именем Анна придёт «Привет, Анна! Рады видеть вас снова.». Если имя у подписчика не заполнено, скобки просто исчезнут: «Привет, ! Рады видеть вас снова.». Бот никогда не отправляет буквальный текст {{ first_name }}, незаполненная переменная превращается в пустую строку.

Системные переменные

Эти переменные встроены и доступны всегда, заводить их не нужно. Они собираются из профиля подписчика в Telegram и из данных его подписки.

Параметр запуска {{ tag }}

{{ tag }} это значение, с которым подписчик запустил бота. Когда человек открывает ссылку t.me/ваш_бот?start=123, бот запоминает 123, и его можно подставить через {{ tag }}. Значение фиксируется один раз, при первом входе в бота, и дальше не меняется. Если бота запустили по обычной ссылке без параметра, {{ tag }} пустой. Это удобно, чтобы развести сценарии по источнику. В Конструкторе {{ tag }} часто ставят в условие стартового блока: блок срабатывает на /start;123, и подписчики с разным параметром в ссылке попадают в разные ветки воронки.
Если параметр в ссылке это клик из Трекера, он уходит в атрибуцию клика, и {{ tag }} в таком случае может остаться пустым. Для меток рекламных кампаний используйте {{ click_id }} и переменные события из таблицы ниже.

Переменные событий трекера

Если подписчик пришёл по ссылке кампании и по нему приходят постбеки, в текст можно подставлять данные конверсии. Это фиксированный набор полей, они заполняются после того, как по подписчику придёт постбек, и берутся из его последнего события трекера. Значения обновляются по мере поступления постбеков по основным событиям: регистрация (Reg), первый депозит (FTD), повторный депозит (RD) и вывод (Withdraw).
Событийные переменные заполнены только у подписчиков, по которым уже прошёл постбек. Набор полей выше фиксированный: произвольный параметр постбека отдельной переменной не становится. Откуда берутся события и как настроить постбеки, читайте в разделе Трекер. Про {{ click_id }} в ссылках и кнопках есть примеры в Конструкторе.

Свои переменные

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

Где управляются

Свои переменные живут в разделе бота Переменные, он находится в группе меню Настройка (там же, где Конструктор и ИИ-оператор). Раздел доступен ролям от менеджера и выше.

Откройте раздел «Переменные»

В меню бота выберите группу «Настройка», затем «Переменные». Наверху страницы есть подсказка «Подстановка через {{ name }} в сообщениях, условиях и рассылках».

Нажмите «Переменная»

Кнопка в правом верхнем углу открывает окно создания. Впишите Имя: только латиница, цифры и подчёркивание, начинать с цифры нельзя. Например promo_code или support_link.

Задайте значение

В поле Значение по умолчанию впишите то, что бот будет подставлять. Для глобальной переменной это и есть её значение на всего бота.

Оставьте «Глобальная»

Галочка Глобальная означает одно значение на всего бота. Оставьте её отмеченной.

Вставьте в текст

В списке клик по токену {{ name }} копирует его в буфер. Вставьте его в текст блока, кнопку, условие или рассылку.
Удаление переменной необратимо: её значение будет потеряно, а токен перестанет подставляться. Сначала убедитесь, что он больше нигде не используется в блоках и рассылках.

Какое значение победит

Если одно имя встречается в нескольких местах, бот подставляет его по строгому приоритету:
  1. Системная переменная. Встроенные имена вроде first_name и tag всегда идут первыми.
  2. Своя переменная. Значение, заданное в разделе «Переменные».
  3. Событие трекера. click_id и event.* подставляются, если имя не занято выше.
Имена переменных нельзя переводить или придумывать. Работают только имена из таблиц выше и те, что вы сами завели в разделе «Переменные». {{ first_name }} сработает, {{ имя }} вернёт пустую строку. Придуманные токены вроде {{ phone }} или {{ chat_id }} тоже дадут пустоту, потому что таких переменных не существует. Меняйте только имя внутри скобок, сами скобки {{ }} оставляйте как есть.

Что дальше

Конструктор воронок

Где подставлять переменные в текст, кнопки и условия блоков.

Рассылки

Персональные массовые сообщения по тегам и сегментам подписчиков.

Мессенджер

Как оператор пишет подписчику, подстановка работает и здесь.

Трекер

Кампании и постбеки, которые наполняют click_id и event.*.