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

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

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

Любой сценарий должен содержать как минимум 2 элемента: стартовый элемент и элемент, связанный с ним.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

подсказка

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Триггеры

Триггер — это элемент, который запускает сценарий. Можно настроить один или несколько триггеров. Максимальное количество триггеров в одном сценарии — 10. Один тип триггера нельзя использовать несколько раз в одном сценарии.

Захват профилей по умолчанию

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

Подробнее

Данный элемент обеспечивает захват профилей при следующих действиях:

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

Выполнение действия

Активируется, когда подписчик совершает нужное действие в сообщении. Описание доступных действий можно найти в этой статье.

Подробнее

В выпадающем списке выберите действие в одном из каналов отправки, а также укажите шаблон, в котором хотите отслеживать это действие:

Обновление через форму

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

Подробнее

В выпадающем окне укажите форму, к которой будет привязан триггер:

Добавление/изменение подписки

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

Подробнее

  • Подписка на новый ресурс — условие сработает только для первой подписки на указанный в кампании ресурс. При добавлении других подписок на тот же ресурс сценарий не активируется.

  • Подписка на новый канал в ресурсе — добавлена подписка на новый (для профиля) канал в ресурсе. То есть, была подписка на email рассылки, добавилась ещё и на SMS или Push.

  • Новый контакт в канале — активирует триггер при каждом появлении новой подписки. Первая подписка на канал также считается "новым контактом в канале".

  • Статус изменён на (выбрать статусы) — запустится при изменении статуса подписки на выбранные из выпадающего меню.

  • Первые три пункта выбраны — триггер сработает при каждой новой подписке.

  • Все галочки сняты — ничего не происходит.

примечание

На подписки, которые добавлены со статусом, отличным от "Подписан", триггер не активируется.

Сегмент по расписанию

Группа профилей, соответствующая определенным условиям, попадает в сценарий по заданному расписанию.

Подробнее

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

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

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

подсказка

Настройка расписания подробно описана в отдельной статье.

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

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

подсказка

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

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

Изменение в статическом сегменте

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

Подробнее

В выпадающем окне выберите действие (вход или выход из статического сегмента) и сегмент, который хотите отслеживать:

Изменение связи

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

Подробнее

Чтобы настроить триггер, укажите:

  • связь,
  • тип события, привязанного к ней,
  • направление связи,
  • свойство связи,
  • значение свойства.

API импорт

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

Подробнее

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

При выборе способа "Любой импорт" этот триггер становится недоступен.

Любой импорт

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

Подробнее

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

При выборе способа "Любой импорт" остальные триггеры на импорт становятся недоступными.

Импорт вручную

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

Подробнее

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

При выборе способа "Любой импорт" этот триггер становится недоступен.

Импорт через попап

Триггер сработает, если в базе будет создан новый профиль в результате того, что пользователь заполнил и отправил форму в pop-up окне.

Подробнее

Выберите попап, заполнение которого необходимо отслеживать. Pop-up окно можно создать в разделе Веб-слойПопапы, а настроить импорт профилей в базу можно в pop-up редакторе в разделе "Действия".

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

При выборе способа "Любой импорт" этот триггер становится недоступен.

Активация пикселя

Профиль попадает в сценарий, когда активируется пиксель.

Подробнее

В выпадающем окне выберите пиксель и его цель:

Импорт через форму

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

Подробнее

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

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

При выборе способа "Любой импорт" этот триггер становится недоступен.

Заполнение формы

Триггер сработает только в случае, если форма была заполнена по переходу из письма.

Подробнее

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

подсказка

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

Изменение значения поля

Триггер активируется, когда заданное поле профиля принимает нужное значение.

Подробнее

Выберите поле профиля, условие и ожидаемое значение:

Условия различаются в зависимости от типа поля:

УсловиеТип поляОписание
измененовсеЛюбое изменение в поле профиля
равновсе, кроме теги, объект, массив объектовНовое значение равно ожидаемому
не равновсе, кроме теги, объект, массив объектовНовое значение не равно ожидаемому
не пустоевсе, кроме тегиПоле получило любое не пустое значение
пустоевсе, кроме тегиВсе значения удалены для поля профиля
добавлен любой тег из спискатегиСписок определяется в триггере
удалён любой тег из спискатегиСписок определяется в триггере
свойство изменилосьобъектУказывается путь к ключу объекта. Если значение ключа изменится, сработает триггер.
свойство равнообъектУказывается путь к ключу объекта и ожидаемое значение. Если значение этого ключа примет ожидаемое значение, сработает триггер.
свойство не равнообъектУказывается путь к ключу объекта и ожидаемое значение. Если значение этого ключа не примет ожидаемое значение, сработает триггер.
свойство элемента изменилосьмассив объектовУказывается путь к элементу массива. Если свойство этого элемента изменится, сработает триггер.

При выборе пути к свойству элемента вы также выбираете тип данных, к которому приводить сравниваемое значение. Доступно сравнение таких типов данных, как string, int, float, и bool. Сравнение сложных типов данных (объект, массив) невозможно. В примере ниже вы не сможете отследить изменения в свойствах элементов key_1 and key_4.
[
{
   "key_1": [1,2,3,4,5],
   "key_2": 2
},
{
   "key_3":"value",
   "key_4": [1,2,3,4,5]
}
]
Обратите внимание, выпадающий список содержит доступные пути к свойству поля, но индекс любого элемента по умолчанию равен 0 — $[0].key_3. Чтобы задать путь к нужному элементу, введите индекс вручную в формате jsonpath — $[1].key_3.
свойство элемента равномассив объектовУказывается путь к элементу массива и ожидаемое значение. Если свойство этого элемента примет ожидаемое значение, сработает триггер.
свойство элемента не равномассив объектовУказывается путь к элементу массива и ожидаемое значение. Если свойство этого элемента не примет ожидаемое значение, сработает триггер.
добавлен элементмассив объектовВ массив добавляется новый элемент.
удален элементмассив объектовИз массива удаляется элемент.
предупреждение

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

Операторы

Пауза

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

Подробнее

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

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

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

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

При изменении элемента "Пауза" в уже активном сценарии платформа автоматически пересчитает время ожидания тех, кто уже есть в этом элементе сценария. Например, изначально вы установили паузу длительностью 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",
"promo": null
}
}

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

ОператорПримерОписание
|| ИЛИ(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".
!~= Обратное регулярное выражениеactive_coupon !~= '^win'Условие выполнится, если промокод НЕ начинается с "win".
+ Сложение(loyalty_points + bonus_points) < 200'Оператор арифметического сложения.
- Вычитание(loyalty_points - penalty_points) > 100'Оператор арифметического вычитания.
* Умножение(bonus_points * years) > 360Оператор арифметического умножения.
/ Деление(total_purchase / 365) > 5Оператор арифметического деления.
% Деление по модулю(total_sum % 15) = 5Оператор вычисления остатка от деления.
^ Возведение в степень(promotion_points ^ 3) > 360'Оператор возведения числа в степень.
is defined Проверка существования поляpromo is definedУсловие выполнится, если поле "promo" существует, вне зависимости от того, указано для него значение или нет.
isnot defined Проверка отсутствия поляpromo isnot definedУсловие выполнится, если поле "promo" отсутствует в коде.
is null Проверка пустого значения поляpromo is nullУсловие выполнится, если у поля "promo" нет значения (его значение равно null).
isnot null Проверка значения поляpromo isnot nullУсловие выполнится, если поле "promo" имеет какое-либо значение (равно чему угодно, кроме null).
contains Проверка, содержится ли значение справа в поле слеваСтрока: "hello" contains "he"
Массив: [1, 2, 3] contains 2
Условие выполнится, если поле "hello" содержит значение "he".
in Проверка, содержится ли значение слева в поле или массиве справаСтрока: "he" in "hello"
Массив: 2 in [1, 2, 3]
Условие выполнится, если значение 2 содержится в массиве [1, 2, 3].
notin Проверка, НЕ содержит ли строка или массив значение поля слева"bye" notin "hello"Условие выполнится, если поле "hello" НЕ содержит значение "bye".

Для обращения к вложенному полю объекта используйте следующий синтаксис: object.field.

Для обращения к элементам массива по индексу используйте следующий синтакис: array.[0].field.

Примеры использования:

// Объект:

{
"content": {
"customer_id": "12345",
"total_purchases": 5,
"promo_campaign": {
"tickets": 115
},
"tickets_info": [
{
"ticket_id": "T001",
"price": 50,
"date": "2024-08-30"
},
{
"ticket_id": "T002",
"price": 75,
"date": "2024-08-31"
}
]
}
}

// Обращение к вложенному полю объекта:

promo_campaign.tickets >= 100

// Обращение к первому элементу массива:

tickets_info.[0].ticket_id

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

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

Подробнее

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

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

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

Подробнее

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

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

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

Распределение профилей происходит в момент попадания в элемент сценария в соответствии с указаными пропорциями. В его основе лежит механизм Smooth Weighted round-robin balancing.

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

При использовании статического распределения профиль всегда будет попадать в один и тот же процент распределения, который нельзя изменить. Статическое распределение не рекомендуется использовать для небольшого количества профилей (до 10 000).

Каналы

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

подсказка

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

Подробнее

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

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

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

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

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

Подписчики

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

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

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

Контент

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

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

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

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

Smart настройки

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

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

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

Если при отправке кампании возникла ошибка, профиль продолжит идти по сценарию.

Действия

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

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

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

Подробнее

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

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

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

к сведению

При обращении к порядковому номеру элемента массива из apicontent необходимо использовать знак %. Счет в таких массивах начинается с нуля. Например, мы имеем следующий объект с массивом:


{
"results": [
{
"objectId": "12asd34",
"name": "Организация 1"
}
]
}

Для того чтобы получить название первой организации, нам нужно использовать следующий запрос — res.results.%0.name, в котором res является полем для хранения ответа из элемента "Вызов API".

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

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

Подробнее

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

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

Вызов API

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

Подробнее

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

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

Выберите тип запроса к внешней системе. В поле URL введите адрес сервиса, принимающего данные:

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

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

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

Тело запроса состоит из параметров. Для того чтобы добавить параметр, нажмите соответствующую кнопку и источник значения (так же, как при добавлении заголовка).

подсказка

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

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

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

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

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

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

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

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

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

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

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

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

Подписки

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

Подробнее

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

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

подсказка

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

Промокод

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

Подробнее

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

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

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

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

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

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

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

Подробнее

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

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

подсказка

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

Cтоп-список

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

Подробнее

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

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