«Ожидание»: как настроить ожидание в сценарии
В сценариях можно отложить выполнение следующих шагов с помощью блока «Ожидание».
Варианты ожидания:
— Фиксированное — N минут/часов/суток;
— Динамическое
— Временной интервал
Фиксированное
Можно задать количество минут, часов или суток.
Также можно указать часы и дни недели выхода из блока.
Ждем 7 дней после доставки и в период с 10:00 до 20:00 запрашиваем отзыв на заказ.
Временной интервал
Ожидание не нужно, но выход из блока должен быть в определенные часы или дни недели.
Ограничиваем отправку брошенной корзины, чтобы не отправлять ее ночью.
Динамическое
Динамическое ожидание берет за основу данные в дополнительном поле клиента или другой доступной сущности с типом «Дата» и «Дата и время».
У поля типа «Дата» не указывается время, поэтому оно по умолчанию — полночь.
Можно настроить завершение ожидания:
- сразу при наступлении времени из поля;
- за N минут/часов/суток до него;
- через N минут/часов/суток после него.
Также можно указать часы и дни недели выхода из блока.
Какие даты в каких событиях доступны
Во всех сценариях можно настроить ожидание по полю клиента.
События, которые запускают сценарии, имеют также свои данные.
Например, дополнительные поля по заказу или продукту.
Выбор события дает возможность настроить ожидание по дополнительным полям переданных в нем сущностей с помощью специальных контекстов.
Ниже — список возможных контекстов с событиями, в которых они доступны.
- из поля клиента (во всех сценариях)
- из поля заказа (Заказ добавлен или изменен, Статус заказа изменен)
- из поля действия (Заказ добавлен или изменен, Статус заказа изменен, Просмотренный продукт изменился, Выдано действие, Выдано действие связанное с продуктом, Изменение email, Изменение мобильного телефона, Баланс клиента стал отрицательным, Бонусные баллы стали доступны, Изменения заданного баланса, Статус карты изменен, Замена дисконтной карты)
- из поля продукта (Клиент приобрел продукт, Продукт в списке продуктов изменился, Список продуктов изменился, Просмотренный продукт изменился, Предпочитаемый продукт изменился, Выдано действие связанное с продуктом)
- из поля позиции (Клиент приобрел продукт)
- истечение срока годности продукта (Клиент приобрел продукт, Продукт в списке продуктов изменился, Список продуктов изменился, Просмотренный продукт изменился, Предпочитаемый продукт изменился, Выдано действие связанное с продуктом)
- сгорания баллов (Баланс клиента стал отрицательным, Бонусные баллы стали доступны, Изменения заданного баланса)
- из поля информации о дисконтной карте (Статус карты изменен)
Примеры использования динамического ожидания
Срабатывание до даты
Задача: напомнить клиенту о скором начале вебинара.
Решение:
Вебинары сохраняем как продукты, дату и время начала передаем в дополнительное поле. Сценарий запускаем по записи с помощью события 'Выдано действие связанное с продуктом' с нужным шаблоном. Ожидание ставим по данным продукта:
Примеры использования:
- Сценарий-напоминание о начале занятия или лекции
- Сценарий «Продукт из заказа скоро закончится»
- Сценарий «Ваши баллы скоро сгорят»
Срабатывание с наступлением даты
Задача: напомнить клиенту забрать заказ из пункта самовывоза в последний день хранения.
Решение:
Передаем дату хранения заказа дополнительным полем. После доставки и отправки начального сообщения, если клиент всё ещё не забрал посылку, напоминаем о ней в последний день:
Срабатывание после даты
Задача: запросить у клиента отзыв после поездки в тур.
Решение:
Передаем дату возвращения из тура как дополнительное поле по заказу. После его оплаты ждем 3 дня от даты возвращения, чтобы запросить обратную связь:
Примеры использования:
Как ожидание влияет на прохождение
Контекст времени прохождения определяется по блокам:
- событие (считается именно время события, а не когда оно попало на проект)
- расписание
- группа шагов (выполнение шагов определяет текущие дату и время прохождения)
- ожидание (переносит дату и время прохождения на заложенный отрезок)
Важно различать понятия самого ожидания и ограничения по выходу из блока.
Фиксированное и динамическое ожидание — это часть логики механики. На этот период прохождение сценария останавливается.
После его завершения прохождение возобновляется.
Ограничение выхода лишь откладывает выполнение следующего блока до разрешенных часов, но контекст времени для прохождения считается именно по завершению ожидания.
Почему это важно?
Остановка и запуск прохождения влияют на настройки сценария, связанные со временем: актуальность группы шагов и плавающие даты в фильтрах.
Рассмотрим на примерах.
Период актуальности
Актуальность — время, в течение которого имеет смысл выполнять шаги.
Она считается от попадания в сценарий (блок события или расписания) или от выхода из прошлой группы шагов.
Фиксированное и динамическое ожидание останавливают прохождение.
Ограничение по часам откладывает выполнение блока, но прохождение, а вместе с ним и отсчет для актуальности, возобновляются.
Например, в welcome-цепочке шаг со вторым письмом выполняется с ограничением по времени; актуальность групп шагов — сутки:
Клиент зарегистрировался 1 августа в 22:00 и сразу получает первую рассылку, а следующую — утром 5 августа:
При этом:
- Прохождение останавливается с 1 августа 22:01 до 4 августа 22:01;
- Выполнение следующего блока откладывается до утра, но прохождение и подсчет актуальности возобновляются;
- Перед выполнением группы шагов проверяется, не прошло ли с предыдущих шагов больше времени, чем задано в актуальности: прошло 12 часов актуальности (4 августа 22:01 — 5 августа 10:01) → рассылка отправляется.
Фильтры с плавающими датами
В фильтрах с плавающими датами («текущий день», «до 2 часов назад» и т.д.) важно, в какой момент они построены.
Фиксированное и динамическое ожидание переносят прохождение и время применения фильтра на заданное время.
Ограничение по часам откладывает выполнение следующего блока, но при этом контекст времени, в том числе для фильтров, остается по моменту возобновления прохождения.
Рассмотрим на примере сценария:
Клиент попал в сценарий 6 августа в 23:00; прохождение останавливается по фиксированному ожиданию с 6 августа 23:00 до 13 августа 23:00. Дальше прохождение возобновляется и фильтры используют именно этот момент как точку отсчета, даже если выполнение следующего блока откладывается до разрешенных часов (до 14 августа 10:00).
Как это влияет на фильтры:
-
календарные («календарный день/неделя/месяц/год», «годовщина») — считают текущим днем время возобновления прохождения — 13 августа:
Проверяется, что не было заказов 13 августа, даже уже наступило 14 августа. -
интервальные от даты («дата и время наступит/наступила») — отсчитывают от момента возобновления прохождения — от 13 августа 23:00:
Проверяется, что не было заказов за период от 12 августа 23:00 до 13 августа 23:00 -
интервальные по текущему времени («период от текущей даты») — отсчитывает в прошлое от момента возобновления прохождения — от 13 августа 23:00:
Проверяется, что не было заказов за период от 12 августа 23:00 до 13 августа 23:00- если не ограничивать по ближайшей временно́й границе, будет учитываться отрезок до момента применения фильтра:
Проверяется, что не было заказов за период от 12 августа 23:00 до 14 августа 10:00
- если не ограничивать по ближайшей временно́й границе, будет учитываться отрезок до момента применения фильтра: