Задержка перед отправкой: отложенные пуши или автоворонка

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

Отложенный пуш

Отправляется тегом push_message.node — в него передаётся название узла, содержимое которого нужно отправить, и время отправки launch_at:

{% datetime_now as current_time %}
{# перс. пуш: через 1 мин. #}
{% push_message.node "НАЗВАНИЕ УЗЛА" launch_at=current_time|add_minutes:'1'|date:'Y-m-d H:i' %}
  • launch_at — обязательный параметр.
  • Время задаётся смещением от текущего момента (current_time) с помощью фильтров: add_minutes, add_hours, add_days.
  • Минимальная задержка — 1 минута: точнее (до секунд) платформа не поддерживает.

Нельзя просто отправить всем в одно и то же время

launch_at всегда считается смещением от момента выполнения процедуры (current_time), а не от абсолютной даты. Если пуш планируется в разное время для разных пользователей (например, каждый заходит в сценарий в свой момент), синхронизировать так, чтобы всем пришло ровно в 19:00 в день вебинара, — сложная задача: нужно вручную вычислять разницу между текущим моментом и нужной датой и подставлять её как количество минут/часов/дней. Если нужна рассылка на конкретное время всем сразу — для этого больше подходит автоворонка с шагом «в определённую дату» (см. ниже).

Пограничный случай с округлением до минуты

Так как задержка считается с точностью до минуты, если процедура отработает, например, на 59-й секунде текущей минуты, add_minutes:'1' даст время всего через секунду — пуш в этом случае уйдёт практически мгновенно.

Как отменить запланированный пуш

Отдельного тега для отмены уже запланированного пуша нет. Рабочий обходной путь:

  1. При планировании пуша проставляем клиенту тег (например, push_planned).
  2. В целевом действии, при котором пуш больше не нужен, этот тег снимаем.
  3. В самом узле, который рассылается пушем, в начале процедуры проверяем тег и останавливаем выполнение, если его уже нет:
{% if not profile.tags.push_planned %}
{% stop %}
{% endif %}

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

Автоворонка

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

  • Подписка на воронку — чат подписывается одним из способов: при переходе на определённый узел, при нажатии кнопки в определённом узле, при переходе по ссылке (в том числе с UTM-меткой), либо принудительно — функцией
    {% subscribe_to_funnel %}
    в интеграционном слое.
  • Шаг воронки — у каждого шага настраивается, когда он выполнится (триггеры), с какой задержкой и что именно произойдёт (целевое действие).
  • Триггеры шага — определяют, при каком условии шаг сработает: безусловно (сразу после родительского шага), принудительно (шаг не выполняется автоматически — переход в него нужно явно настроить из другого шага) или по триггеру (шаг срабатывает при выполнении одного из заданных условий).
  • Задержка шага — у шага можно выбрать: без задержки, с задержкой (через промежуток времени), в определённую дату и время, на следующий день, на следующий рабочий день, в ближайший день недели или в определённое число месяца.
  • Целевое действие шага — без целевого действия, целевое действие из конструктора сценариев, целевое действие из «Моего контента», принудительный переход в заданный шаг, завершение цепочки шагов, завершение автоворонки, завершение автоворонки с переходом в другую, либо старт новой автоворонки — плюс отдельная опция «Остановить выполнение соседних веток».

Отправка всем в одно и то же время — например, для вебинара

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

Создаётся воронка через конструктор: кнопка «Создать» → название и описание → способы добавления чатов → задержка старта (перехода в первый шаг).

Дальше кнопкой «Новый шаг» добавляются шаги: название и описание → триггеры шага → задержка выполнения целевого действия → само целевое действие.




Когда что использовать

КритерийОтложенный пушАвтоворонка
Задачаодно разовое отложенное сообщениепоследовательность из нескольких шагов с ветвлением
Где настраиваетсяпрямо в DTL-коде любого узлаотдельная сущность в конструкторе
Ветвление по действиям пользователянетда, через триггеры на каждом шаге
Отменанет встроенного механизма — реализуется вручную через тег + проверку в целевом узлештатные целевые действия «Завершить цепочку шагов» / «Завершить автоворонку»
Тип задержкисмещение от текущего момента (минуты/часы/дни)без задержки, промежуток времени, определённая дата и время, следующий день, следующий рабочий день, ближайший день недели, определённое число месяца
Минимальная задержка1 минутане ограничена (зависит от настройки шага)
Отправка всем в одно и то же время (например, для вебинара)сложно — задержка считается от момента срабатывания процедуры у каждого пользователя отдельнолегко — шаг с задержкой «в определённую дату» сработает у всех одновременно

Итог

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