Перейти к основному содержимому

Элементы (шаги) сценария

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

Любой сценарий должен содержать как минимум 2 элемента, связанных друг с другом. Стартовый элемент — это всегда триггер (по умолчанию — API вызов).

Управление элементами

Добавление элемента

Чтобы добавить элемент в сценарий, нажмите кнопку "+ Элемент" на панели инструментов. В открывшемся списке нажмите на необходимый элемент или перетащите его на рабочее пространство, удерживая правую кнопку мыши.

Настройка элемента

Для каждого элемента сценария задаются настройки. Чтобы открыть окно настроек, дважды кликните на нужный элемент. Для сохранения настроек нажмите "Применить".

Добавление связи между элементами

Переход профиля из одного элемента сценария в другой задается с помощью связей. Чтобы связать один элемент с другим, протяните связь между элементами:

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

Удаление элемента

Чтобы удалить элемент или связь между элементами, выделите объект, кликнув на него, а затем нажмите на иконку корзины или Delete/Backspace. Доступно удаление нескольких элементов, включая связи между ними.

Если вы удалили элемент из сценария, вы можете восстановить его. Для этого в правом нижнем углу нажмите кнопку "Корзина". Появится список со всеми удаленными элементами. Выберите элемент, который хотите вернуть в сценарий. После восстановления элемент сохранит прежние настройки.

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

Клонирование элемента

Чтобы клонировать элемент, выделите его и левой кнопкой мыши нажмите или используйте комбинацию клавиш Ctrl + C. Также можно клонировать несколько элементов, включая связи между ними.

подсказка

Для выделения нескольких элементов сценария активируйте инструмент "Указатель". Затем зажмите правую кнопку мыши и выделите область с нужными объектами или зажмите клавишу Crtl и, удерживая ее, последовательно выберите нужные объекты правой кнопкой мыши.

Панель инструментов

Инструменты для управления элементами

— активировать инструмент "Указатель". Используется для управления элементами сценария: перемещение, соединение, выделение и т.д.

— активировать инструмент "Рука" (Space + drag). Используется для перемещения по рабочему пространству сценария.

— отменить последнее действие (Ctrl + Z).

— повторить последнее действие (Ctrl + Shift + Z).

— клонировать элемент (Ctrl + C).

— удалить элемент или связь между элементами (Backspace/Delete).

— отобразить ID каждого элемента вместо названия.

Инструменты для настройки сценария

— показать информацию о сценарии (описание, теги и группы для сценария).

— показать настройки сценария (режим повторного входа профиля в сценарий и др.).

— активировать сценарий.

— деактивировать сценарий.

— просмотреть аналитику сценария в отчете по каналам.

Инструменты для управления рабочим пространством

— увеличить масштаб рабочего пространства (Ctrl +).

— уменьшить масштаб рабочего пространства (Ctrl -).

— применить выравнивание. Элементы выравниваются относительно друг друга внутри рабочего пространства.

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

Список элементов

Все элементы сценария поделены на четыре категории:

  • Триггеры — элементы, определяющие способ захвата профиля в сценарий.
  • Операторы — элементы, влияющие на движение профиля по сценарию.
  • Каналы — элементы, с помощью которых профилю отправляется сообщение.
  • Действия — элементы, запускающие определенное действие в платформе в момент вхождения профиля.

Триггеры

Триггер — это стартовый элемент сценария. Он определяет способ попадания профиля в сценарий. Доступно 2 способа:

  • Захват события — профиль попадает в сценарий после наступления определенного события.
  • Захват сегмента по расписанию — группа профилей, соответствующая определенным условиям, попадает в сценарий по заданному расписанию.

подсказка

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

Операторы

Пауза

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

Подробнее

Доступны следующие варианты:

Пауза относительно предыдущего действия

Чтобы ожидать определённое время после захвата профиля клиента сценарием или после выполнения предыдущего действия, выберите вариант "Ожидать дни, часы или минуты":

Пересчитать время ожидания

При изменении элемента "Пауза" в уже активном сценарии платформа автоматически пересчитает время ожидания тех, кто уже есть в этом элементе сценария. Например, изначально вы установили паузу длительностью 10 дней, а затем увеличили время ожидания до 20 дней. В таком случае профиль, который захвачен в сценарий после внесения изменений, будет ожидать 20 дней. Что касается профиля, который уже находился в этом элементе 8 дней до внесения изменений, время его ожидания составит еще 12 дней, а не 20.

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

Пауза до наступления определённого времени

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

  • Ожидать определенного времени — указывается точное время перехода профиля на следующий элемент.

  • Ожидать дату и время — указывается точное время и дата перехода на следующий элемент.

  • Ожидать дня недели и времени — настраивается точное время и один или несколько дней недели.

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

Пауза до наступления определённого периода времени

Вариант "Ожидать периода времени" устанавливает часы активности следующего элемента сценария. Например, если вы хотите, чтобы определённая кампания запускалась с 9 утра до 9 вечера:

Вариант "Ожидать дня недели и периода времени" устанавливает дни и часы активности следующего элемента сценария. Например, если необходимо, чтобы определённая кампания запускалась только по субботам и воскресеньям с 10 до 12.

Ожидание даты и времени из профиля

Эти настройки позволят поставить сценарий на паузу до наступления даты или времени, которые указаны в одном из полей профиля:

  • Ожидать дату из профиля — профиль перейдет на следующий элемент, когда наступит дата, указанная в выбранном поле, и время, указанное в настройках элемента "Пауза".

  • Ожидать время из профиля (независимо от даты) — профиль перейдет на следующий элемент, когда наступит время, указанное в выбранном поле. Дата может не совпадать с текущей.

  • Ожидать дату и время из профиля — профиль перейдет на следующий элемент, когда наступит даты и время, указанные в выбранном поле.

Выберите поле в базе с нужными данными. Это может быть дата рождения (_bdate), дата регистрации в системе (_regdate) или любое кастомное поле с типом "Дата" (например, дата запланированного события).

Далее настройте работу сценария в случае, если у профиля не заполнено выбранное поле:

  • Игнорировать паузу — профиль сразу перейдет на следующий элемент, не дожидаясь наступления определенного времени.

  • Прервать выполнение сценария для профиля — профиль выйдет из сценария.

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

Лучшее время отправки

Устанавливает перед следующим элементом сценария паузу, рассчитанную на основе данных ML-сервиса. Профиль не перейдёт на следующий элемент, пока не наступит оптимальное время для отправки ему сообщения.

Оптимальный вариант работы — добавить после элемента "Ожидание лучшего времени доставки" элемент из категории "Каналы". В таком случае кампания отправит профилю сообщение в наиболее удобное для него время.

Подробнее
к сведению

Расчёт лучшего времени происходит через алгоритмы машинного обучения. ML-сервис определяет лучший час, когда вероятность открытия сообщения профилем самая высокая, а также подбирает массив с несколькими хорошими часами отправки.

Элемент доступен, если захват профилей в сценарий происходит из базы, для которой включено машинное обучение.

Профиль перейдет на следующий элемент, когда наступит его лучший час отправки.

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

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

Условие

Реализует логический выбор следующего шага сценария для профилей клиентов. Условие выбора определяется правилами Сегментации. При выполнении условия профиль клиента продолжит двигаться по сценарию вправо. Если условие не выполнено, профиль переместится по сценарию вниз, и для него может быть настроена альтернативная последовательность действий. Элемент может также ожидать выполнения условия в течение определённого времени.

подсказка

Если связать несколько элементов "Условие" по вертикали, можно создать несколько альтернативных цепочек в одной — в зависимости от результатов проверок.

Подробнее

Основные настройки

Введите название элемента для отображения в сценарии.

подсказка

Если необходимо динамически проверять выполнение условия, включите опцию "Ожидать условие в течение заданного времени". Так проверка будет происходить несколько раз. Если время ожидания фиксированное, не включайте эту опцию, а вместо этого добавьте перед условием элемент "Пауза".

Правила выполнения условия

Условие составляется правилами и группами правил, аналогичными правилам Сегментации. Подписчики могут распределяться по личным данным, данным подписок, истории действий:

JSON фильтр

В случае вызова сценария через API можно передать специальное поле content, с неопределенной структурой в формате JSON (её определяете вы). Эти данные можно использовать для вставки в сообщения, возврата в Action Hook или для построения условий в сценарии. Например, когда пользователь совершает какое-то действие, веб-сайт (или приложение) активирует сценарий и передает туда все данные, связанные с действием. Элемент "JSON фильтр" определяет дальнейшие действия для профиля на основе проверки этих данных.

Подробнее

JSON-фильтр работает так же, как и обычное условие. Можно неоднократно использовать этот элемент для построения сложных схем.

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

Пример поля "content" в API запросе:

{
"content": {
"customer_id": "12345",
"total_purchases": 5,
"last_purchase_amount": 250,
"average_purchase_amount": 100,
"preferred_category": "electronics",
"loyalty_points": 300,
"membership_status": "premium",
"discount_coupons_used": 2,
"active_coupon": "win0513"
}
}
ОператорПримерОписание
|| ИЛИ(preferred_category = "electronics") || (preferred_category = "computers")Условие выполнится, если клиент интересуется категориями "Электроника" или "Компьютеры".
&& И(total_purchases >= 5) && (average_purchase_amount >= 100)Условие выполнится, если клиент совершил 5 или более покупок и средний чек превышает 100.
= Равноmembership_status = 'premium'Условие выполнится, если у клиента premium-статус.
!= Не равноmembership_status != 'standard'Условие выполнится, если у клиента не standard-статус.
> Больше чемlast_purchase_amount > (2 * average_purchase_amount)Условие выполнится, если у клиента сумма последней покупки превышает в два раза среднюю сумму покупок.
>= Больше или равноlast_purchase_amount >= 250Условие выполнится, если сумма последней покупки равна или превышает 250.
< Меньше чемloyalty_points < 500Условие выполнится, если количество бонусных баллов меньше 500.
<= Меньше или равноloyalty_points <= 500Условие выполнится, если количество бонусных баллов 500 или меньше.
~= Регулярное выражениеactive_coupon ~= '^win'Условие выполнится, если промокод начинается с "win".

Обратите внимание, ключ JSON-объекта указывается без кавычек (например, membership_status="premium").

Перейти в сценарий

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

Подробнее

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

Узел распределения

Создаёт несколько элементов, разделяющих варианты развития сценария для профилей клиентов независимо от каких-либо условий. Доступно распределение перебором и статическое распределение.

Подробнее

Основные настройки

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

Распределение перебором

Распределение клиентов по группам будет организовано в порядке очереди попадания в сценарий.

Статическое распределение

Один и тот же подписчик всегда будет попадать в одну и ту же группу каждый раз, когда оказывается в сценарии.

Каналы

Элементы этой категории запускают триггерную кампанию через определенный канал. Новая кампания создаётся непосредственно в редакторе элемента.

подсказка

Элемент "Размещение" позволяет запустить кампанию-размещение в сценарии. Настройка такой кампании описана в этой статье.

Подробнее

Основные настройки

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

Настройки кампании

На первой вкладке настроек выберите канал коммуникации: каждая кампания может отправляться только по одному каналу.

На этой же вкладке вы можете импортировать в элемент существующую кампанию. Это может быть как отдельная кампания, так и кампания, входящая в другие сценарии:

Подписчики

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

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

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

Контент

На третьей вкладке выберите Шаблон сообщения, который хотите отправить подписчикам. Есть возможность выбрать сразу несколько шаблонов (до 16 шаблонов в одной кампании). В таком случаи они будут отправляться в случайном порядке. Как и при создании кампании, вы можете открыть предпросмотр нужного шаблона и перейти к его редактированию, если это необходимо:

После выбора контента нажмите кнопку "Готово". Настройки кампании отобразятся на одной вкладке, и вы сможете внести необходимые изменения в любой момент по нажатию на кнопку редактирования:

Ограничения рассылки

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

Smart настройки

В умных настройках вы можете дополнительно настроить кампанию:

  • SUBID статистики
  • Выбор виртуального сендера
  • Кастомные домены для отслеживания событий (помимо настроенного в ресурсе)
  • Список адресов для скрытой копии к отправляемым письмам
  • Другие опции в зависимости от конфигурации платформы

Действия

Обновить профиль

Обновляет данные выбранных полей профиля подписчика или удаляет значения в этих полях.

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

Подробнее

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

ДействиеТип поляОписание
Установить значениеВсеВручную указывается новое значение поля. Для полей типа Список (Enum) значение меняется на одно из заданных в списке, например, выбранный пакет услуг. Для полей типа Boolean значение меняется на Да или Нет.
Удалить значениеВсеУдаляет значение из выбранного поля.
Взять значение из поляВсеЗначение берется из поля apicontent. Используется вместе с элементом "Вызов API", который способен сохранить результат запроса в объект apicontent.
Увеличить наЦелое числоаУвеличивает или уменьшает значение. Для уменьшения значения нужно ввести отрицательное число.
Добавить элементТегиЗаписать в поле еще один тег.
Удалить элементТегиУдалить из поля один из существующих тегов.

С помощью этого элемента вы также можете изменить глобальный статус профиля. Если вы разрешите небезопасные изменения статусов, то элемент будет обновлять профили со статусами, отличными от "Подписан".

Импорт в базу данных

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

Подробнее

Введите название элемента сценария и выберите базу профилей, в которую необходимо скопировать профиль клиента. Если вы хотите обновить данные профиля, который уже есть в целевой базе — активируйте опцию "Обновлять поля подписчика, если он уже существует". Если в исходной базе есть дополнительные поля, их данные можно записать в поля подходящего типа целевой базы. Для этого настройте соответствие полей.

Вы также можете перенести историю профилю из исходной базы в целевую. Для этого воспользуйтесь опцией "Копировать историю профиля" и выберите период, данные за который хотите перенести. История профиля включает действия в кампаниях (отправки, открытия, клики и др.), события подписок, импорта, пикселей, назначение промокодов и участие в статических сегментах.

Вызов API

Послать GET или POST запрос в другую систему. В запрос можно добавлять параметры со статическими данными или взятыми из подписчика. Используется в целях интеграции с другими системами.

Подробнее

Введите название элемента.

При необходимости измените тип авторизации на OAuth2. Так вы сможете передавать данные профилей во внешние сервисы, которые используют протокол OAuth 2.0 в качестве метода авторизации. Чтобы использовать этот способ авторизации, необходимо предварительно связать внешний сервис с платформой Altcraft через подключение, а затем выбрать его при настройке элемента:

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

подсказка

При выборе в параметре запроса "Указать своё" можно использовать переменные, связанные с профилем. Например, промокоды программ лояльности. Если к профилю не привязан промокод от выбранной программы лояльности, в запросе придёт пустая строка "code": "". Формат вставки:

{loyalty.<'Имя шаблона' из настроек программы лояльности>.promocode}

В URL запроса также используются переменные. Нажмите кнопку </> или введите значение вручную. Пример использования промокода в адресе запроса:

http://www.example.org/api/?Promocode={loyalty.black_friday.promocode}

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

Успешным считается запрос, который соответствует заданному в элементе условию:

  • Status 200 — сервер возвращает HTTP код ответа 200.

  • Plain — ответ от сервера должен попасть в указанный Regex.

  • Parsed — используется, если сервер возвращает JSON или XML объект. Необходимо указать путь к имени поля и ожидаемое значение. Значение может быть пустым.

После вызова API вы можете сохранить полученный ответ (например, JSON объект) в переменную {apicontent} и использовать эти данные на следующих шагах сценария. Для этого активируйте опцию "Сохранить http-ответ в поле {apicontent}".

Введите имя поля, в которое будет записан объект. Это имя будет использоваться при подстановке переменной в шаблон сообщения. Например, если задать имя поля — field_name, то в шаблоне обращение к JSON-объекту будет выглядить следующим образом: {apicontent.field_name}.

Обновление статистического сегмента

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

В настройках элемента выберите добавление или удаление и доступный статический сегмент:

Подписки

Подписывает клиента на определённый ресурс или обновляет данные существующей подписки. В качестве источника подписок могут использоваться данные профиля или данные подписок на другой ресурс.

Подробнее

Введите название элемента. Подписку можно добавить, если клиент ещё не подписан на ресурс, или изменить её статус. Например, при подтверждении подписки или при использовании кастомных сценариев отписки.

Выберите ресурс подписок из выпадающего меню и доступные каналы связи. Измените статус подписки при необходимости. В качестве источника подписки при добавлении выберите данные полей профиля Email и Телефоны или данные подписок на другой ресурс.

подсказка

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

Промокод

Назначает профилю клиента промокод от выбранной программы лояльности. Промокод может быть затем отправлен клиенту с помощью одного из элементов в категории "Каналы" или использован для расчёта персональных предложений.

Подробнее

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

предупреждение

Если профиль уже имеет промокод этой программы лояльности, сценарий продолжит выполняться.

Если промокод не может быть назначен по одной из причин ниже, сценарий закончится на этом элементе:

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

Регистрация цели

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

Подробнее

Введите название элемента и пиксель, к которому будет привязана цель. Регистрация одинаковых целей на разные пиксели может быть использована в партнёрских программах или для A/B тестирования интерфейса вашего сайта или других ресурсов.

Ниже выберите существующие цели или добавьте новые. Укажите стоимость, которую необходимо передать для целей.

подсказка

Значение для всех целей будет записано одно. Если необходимо передать несколько целей с разными значениями, добавьте несколько таких элементов - один за другим, с разными целями.

Cтоп-список

Добавляет определённые контактные данные клиента (email адрес и номер телефона) в стоп-список платформы. Коммуникация с клиентом по этим данным будет заблокирована. Или наоборот, удаляет контактные данные из стоп-списка, восстанавливая возможность коммуникации с клиентом.

Подробнее

Введите название элемента для отображения в сценарии. Далее необходимо выбрать, контактные данные каких подписок необходимо заблокировать или восстановить. Выберите канал коммуникации и приоритет подписок для изменения:

Выберите ресурс и статусы подписок, контактные данные которых необходимо добавить в стоп-список или удалить из стоп-списка. Внизу формы выберите стоп-список для добавления или удаления: