Первые шаги
Пользовательские данные
- Обзор адаптивного email-редактора
- Создание оформления для письма
- Создание сквозных модулей
- Настройка адаптивности
- Настройка Smart-элементов
- Оформление промовкладки для Gmail
- Добавление Ролловера
- Добавление анкорных ссылок
- Библиотека модулей
- Добавление таблицы в письмо
- Работа с блоком "Баннер"
- Добавление пользовательских шрифтов
- Создание кнопки CTA
- Работа с блоком "Картинка"
- Работа с блоком “Таймер"
- Использование ИИ в email-редакторе
Омниканальность
- SDK для мобильных приложений
- Управление ключами доступа к мобильному SDK
- Подключение мобильного приложения
- Создание и загрузка ключа Firebase
- Создание мобильных push-сообщений
- Настройка аналитики доставляемости и кликов
- Планирование мобильных push-уведомлений
- Настройка универсальных ссылок (deeplinks & Universal links)
- Отправка тестовых сообщений из отладки запросов
- Настройка виджетов для сайта
- Вызов виджета
- Настройка геоданных для правил вызова виджетов
- Сохранение данных из виджетов в поля контактов
- Защита от раздражения
- Действия после заполнения формы
- Замена системного сценария Double Opt-In
- Расширение для тестирования форм в Google Chrome
- Создание pop-up-форм с помощью Google Tag Manager или WordPress
- Отправка событий из форм подписки в Google Analytics
- A/B-тестирование виджетов
Автоматизация
- Двойное подтверждение подписки
- Приветственная серия
- Приветственная серия с сегментацией по категориям
- Запуск сценария после импорта контактов
- Регулярный сценарий для группы
- Поздравление с днем рождения
- Привязка сценария к кнопке
- Использование переменных из заказа в сценарии
- Сбор отзывов о заказе
- Реактивация клиентов и подписчиков
- Отправка рассылки непрочитавшим
- Настройка дополнительных рассылок
Персонализация
- Подстановка промокода из файла
- Подстановка промокода с использованием API
- Принципы генерации промокодов с помощью PHP/JAVA
- Подстановка промокода с помощью персонализации
- Загрузка промокодов для использования в сценарии
- Генерация промокодов в сценарии
- Отправка промокода с помощью препроцессора
- HTTP-запрос для передачи промокода из сообщения в карточку контакта
Аналитика
- Отчёт по email-рассылке
- Отчет по SMS-рассылке
- Отчет по рассылке Web Push
- Отчет по Viber-рассылке
- Отчет по рассылке Mob Push
- Отчет по рассылке App Inbox
- Отчет по взаимодействию с виджетами
- Отчет по триггерной рассылке
- Отчет по AMP-рассылке
- Отчет по мультиязычной рассылке
- Настройка передачи UTM-меток
- Визуализация дохода
- Отслеживание эффективности рассылок в Google Analytics
Мультиязычность
Отслеживание событий и поведения
- Отслеживание активности на сайте при помощи Generate event
- Валидация параметров события
- Отслеживание активности клиентов в мобильных приложениях
- События для запуска триггерных рассылок
- Разветвление сценария в зависимости от параметров события
- Подстановка данных из событий в сообщения
- Вебхуки для отслеживания активности
Товарные рекомендации
API
Смена системы
Документы
Интеграция
Группа блоков "Общие"
Группа блоков “Общие” содержит базовые блоки, которые являются обязательными или участвуют в большинстве сценариев, их шесть:
Блок “Начало”
Обязательный блок, без которого сценарий не запустится. При создании нового сценария он появляется автоматически. Если вы его случайно удалили, то установите заново: кликните на иконку блока слева или перетяните из панели в редактор. Блок “Начало” в сценарии может быть только один.
Если нужна дополнительная проверка для контакта перед запуском сценария, например, не входит ли он уже в нужную группу или сделал определенное действие на сайте, активируйте специальный переключатель справа. После включения укажите условия досрочного завершения сценария для контакта.
Сценарий может не запуститься для контакта в трёх случаях:
-
если на него запускалось определенное событие (например, подписался ранее на курс и уже получил обучающую цепочку);
-
он уже состоит в определенной группе (например, необходимо охватить рассылкой новичков и не запускать на активных покупателей);
-
он уже сделал заказ (например, за 7 дней до начала рассылки).
Нужное условие выбирается радиокнопкой. После включения выберите один из видов завершения сценария:
- сценарий по событию;
- сценарий по вхождению в группу;
- сценарий по заказу.
Завершить сценарий по событию
В выпадающем списке “Выход по событию” выбирается событие, которое послужит основанием для завершения сценария. Сценарий останавливается, если событие происходит в течение выбранного периода до начала сценария или в любое время после его запуска. С помощью настройки “Период” можно задать время до старта сценария, в течение которого нужно учитывать случившееся событие. По умолчанию блок проверяет события с момента активации сценария.
Поиск событий производится по ключу – уникальному параметру, который есть у каждого события (его указывают в поле “Ключ события” при создании события, чаще всего в этом параметре передается емейл или ID контакта). Переменная называется ${eventKey} – это универсальное название переменной для ключа события – и по умолчанию прописана в блоке. При запуске сценария проверяется выбранное событие: если событие было найдено, то сценарий на этом заканчивается.
Просмотреть ключ уникальности – раздел Триггеры → История событий.
Важно
Ключ события (email, ID контакта и т.д.) должен совпадать в событии, которое запустило сценарий, и событии, которое должно завершить сценарий.
Завершить сценарий по вхождению в группу
С помощью выпадающего списка в поле “Группа” нужно выбрать группу и, если в результате проверки система нашла, что контакт входит в нее, то сценарий для него не запустится. Человек может быть идентифицирован системой при указании одного из параметров:
- номера телефона;
- email;
- ID контакта в eSputnik.
Завершить сценарий по заказу
Сценарий останавливается, если контакт совершил заказ в течение выбранного периода времени до начала сценария или в любое время после его запуска.
С помощью настройки “Период” нужно выбрать необходимое количество дней до начала проверки сценария. Клиент может быть идентифицирован системой при указании одного из параметров:
-
номера телефона;
-
email;
-
ID контакта в eSputnik.
В первую очередь поиск контакта будет выполнен по ID контакта, если он не указан то по externalCustomerId, если он есть в параметрах события.
Блок “Конец”
Блок “Конец” – второй обязательный элемент, без которого сценарий не сработает. Может быть использован несколько раз. Блок означает окончание сценария. Все пути (ветки) сценария обязательно должны заканчиваться блоком “Конец”.
Блок “Таймер”
Блок используется, чтобы отсрочить на заданное время следующее действие или отправку сообщения. Это, по сути, пауза, после которой сценарий продолжится. Ставится перед блоком, где нужна задержка:
Пример: после подтверждения подписки стартует сценарий с welcome-серией. Человек переходит по ссылке “Подтвердить подписку” → система отправляет первое письмо из цепочки → после этого выдерживает паузу в 1 день и отправляет второе письмо. На этом сценарий заканчивается.
Для настройки блока “Таймер” справа задаются 2 параметра:
- Время ожидания
- Ждать до
Вы можете выбрать одно условие или сразу оба, но для работы блока необходимо указать минимум один параметр.
Параметр “Время ожидания”
Здесь устанавливается, сколько необходимо подождать до следующего шага сценария. Из списка можно выбрать, в чем будет измеряться пауза: минутах, часах, днях, месяцах. В поле нужно вписать их количество.
Важно!
Если вы выбираете время ожидания 1/2/3 дня, это значит, что сценарий пойдет дальше через 24/48/72 часа соответственно с момента срабатывания сценария. Если клиент подписался на вашу рассылку в 07:00, то первое письмо он получит в 07:00 следующего дня.
Параметр “Ждать до”
В этом пункте выбирается день недели и время, когда должна произойти отправка. Этот вариант подходит для запуска регулярных автоматических рассылок. Если день недели не принципиален, можно выбрать в списке значение “Любой”.
Важно!
Если сегодня вторник, а вы выбрали отправить в понедельник, письмо будет отправлено в следующий понедельник, то есть практически через неделю. Если сегодня понедельник, клиент получит письмо сегодня.
Настройки времени отправки работают по такой же логике. Если вы выставили время отправки на 8:45, а сценарий запустился в 15:00, то клиент получит письмо в 8:45 на следующий день (если не указан конкретный день недели).
Обратите внимание на общую логику работы блока “Таймер”. Например, вы скомбинировали параметры так:
- Время ожидания – 1 день;
- Ждать до понедельника;
- Часы и минуты – 8:45.
Сценарий запустился в воскресенье в 15:00. Система ждет 1 день (24 часа). Наступает понедельник. Время окончания работы параметра “Время ожидания – 1 день” в нашем примере – 15:00 в понедельник.
Далее система проверяет день недели в параметре “Ждать до”. У нас выбран понедельник, сегодня понедельник – пока все хорошо. После следует проверка времени отправки. Условиями задано 8:45, а сейчас 15:00. Условия не сработали. Это значит, что клиент получит письмо не в этот понедельник, а только в следующий в 8:45.
Выставляйте параметры внимательно!
Рассылки в точно заданное время
Блок “Запуск по времени”
Блок используется для отправки сообщения:
- за N дней/часов/минут до даты и времени, которые вы передаете в событии,
- с указанием времени запуска (из события или указанного вручную),
- по дате (из параметра события или указанной непосредственно в блоке).
В параметре “За” указываем, за сколько до события нужно отправить сообщение: за 1 час, 3 дня, 10 минут и т. п.
В параметре “Перед датой” доступна возможность вытянуть необходимую дату из переданного события, ниже вставляем то же название, каким этот параметр прописан в самом событии. Например: ${date}.
Важно! Нужно точно передать время и дату. Допускаются два формата:
1) по времени UTC: 2011-12-03T10:15:30;
2) по времени UTC с корректировкой по таймзоне: 2011-12-03T10:15:30+02:00.
+02:00 в данном случае – это корректировка времени для событий в Украине, так как время в Киеве на 2 часа опережает время по UTC зимой.
Блок “Задача”
Цель этого блока – решить одну из задач:
-
Создать контакт;
-
Обновить контакт;
-
Получить контакт;
-
Подтвердить контакт;
-
Отправить обязательный (транзакционный) email;
-
Отправить транзакционное Viber сообщение;
-
Отправить транзакционное SMS сообщение;
-
Получить заказ;
-
Создать промокод;
-
Запустить событие;
-
Получить промокод.
Выбрать нужную задачу можно из выпадающего списка или через поиск.
Создать контакт
Задача используется для создания контакта в системе. Если профиль с таким email-адресом уже есть, он будет обновлен. Если нет, будет создан новый контакт.
Важно
Используйте задание для специфических задач, когда данные передаются API методом Generate event v2 и лишь часть данных нужно записать при создании контакта. Например, вы передали событие методом Generate event v2 для контакта, которого нет в системе. С помощью этого блока вы сможете создать контакт. Для всех остальных методов этот блок не нужен.
У задачи есть 3 параметра:
-
Email – обязательное поле для задачи, если нужно создать контакт по email. По умолчанию там уже прописана переменная ${email}. Если у вас в событии другое название переменной, надо вписать в поле именно его.
-
Phone – обязательное поле для задачи, если нужно создать контакт по по номеру телефона. По умолчанию там уже прописана переменная ${phoneNumber}. Если у вас в событии другое название переменной, надо вписать в поле именно его.
- JSON – в этом поле прописывается строка или ставится переменная, содержащая строку в формате JSON, с данными для заполнения полей контакта (телефон, имя, фамилия, город, дополнительные поля). Если его не прописать, то запишется лишь емейл. При необходимости зафиксировать имя, фамилию, дату рождения и т.д., поле нужно заполнить обязательно.
В поле JSON вы можете указать переменную contactJson. В таком случае на REST API будет выполнена валидация значений этого параметра. При передаче параметров контакта с ошибками, в сообщении об ошибке будут указаны параметры, содержащие ошибку, а также допустимые значения.
Пример данных для поля json:
{"firstname":"...","lastname":"...","sms":"...","town":"...","profileInputs":[{"profileInputId":10001,"value":"..."}]}
Где:
-
profileInputs – массив дополнительных полей;
-
profileInputId – ID дополнительного поля;
-
value – значение дополнительного поля;
-
confirmed – статус email-адреса контакта (подтвержден/не подтвержден).
Важно
Если вы хотите создать контакт неподтвержденным, то в тело запроса нужно добавить параметр "confirmed":false.
В этом случае поле json будет иметь такую структуру:
{"firstname":"...","lastname":"...","sms":"...","town":"...","timeZone":"Etc/GMT+03","languageCode":"uk","profileInputs":[{"profileInputId":10001,"value":"..."}],"confirmed":false}
Если нужно создать контакт с некоторым значением поля типа дата, тогда используйте формат вида: "YYYY-MM-DD":
{"profileInputs": [{"profileInputId":10001,"value":"2023/11/06"}]}
Если нужно создать контакт с некоторым значением поля типа дата со временем, тогда используйте формат вида: "YYYY-MM-DDThh:mm":
{"profileInputs": [{"profileInputId":10001,"value":"2023/11/06 16:42"}]}
Обновить контакт
Задача используется для обновления информации о контакте в системе, работает по принципу задачи “Создать контакт”. Единственная разница: если контакт уже есть в системе, то он обновится, а если нет – система его не продублирует, а просто пропустит.
Задача актуальна, когда нужно обновить данные контакта из события, переданного API методом Generate event v2, или если надо в сценарии задавать фиксированное значение дополнительного поля.
У задачи есть 4 параметра:
-
ContactId – если вы хотите обновить контакт не по email, а по его ID в системе, то необходимо прописать название переменной, в которой содержится ID контакта. По умолчанию в системе она называется ${ContactId}.
-
Email – обязательное поле для задачи. По умолчанию там уже прописана переменная ${email}. Если у вас в событии другое название переменной, необходимо вписать в поле именно это название. В наших системных событиях переменная называется EmailAddress. Системные события – это те, что генерируются внутри самой системы (клик по кнопке в письме, запуск регулярного сценария на группу, форма подписки, реактивация с помощью RFM-анализа). Для них в поле надо вписать ${EmailAddress}.
-
Phone – номер телефона контакта.
-
JSON – в этом поле прописывается строка или ставится переменная, содержащая строку в формате JSON, с данными для заполнения полей контакта (телефон, имя, фамилия, город, дополнительные поля). Формат данных такой же, как и для задачи “Создать контакт”, но параметр confirmed игнорируется.
Получить контакт
Цель задачи – получить данные о контакте и передать их в письмо или для блока “Условие”. Например, мы хотим каждый раз запускать отправку письма-уведомления с контактными данными, когда в базе появляется новый подписчик. Второй вариант – мы хотим после регистрации прислать клиенту его регистрационные данные.
Задача работает следующим образом:
-
В системе создается (регистрируется) событие, которое содержит данные о контакте;
-
Блок вытягивает все имеющиеся данные по контакту, которые хранятся в базе;
-
Полученные данные передаются в письмо.
У задачи четыре параметра:
-
ContactId – ID контакта в системе eSputnik.
-
EmailAddress – email-адрес контакта.
-
Phone – номер телефона контакта.
-
MobPushToken – мобильный токен контакта.
Параметры EmailAddress, ContactId, Phone и MobPushToken используются для выбора способа идентификации контакта. Одно из этих полей должно быть обязательно заполнено соответствующими данными.
Например, если вы хотите идентифицировать человека не по email, а по его ID в системе, прописываете название переменной, в которой содержится ID контакта. По умолчанию в системе она называется ${ContactId}.
В письме можно использовать такие переменные:
-
$!data.get('firstName') – имя;
-
$!data.get('lastName') – фамилия;
-
$!data.get('email') – email-адрес;
-
$!data.get('sms') – номер телефона;
-
$!data.get('contactKey') – ключ контакта;
-
$!data.get('id') – ID контакта в системе;
-
$!data.get('createdDate') – дата создания;
-
$!data.get('updatedDate') – дата последнего изменения контакта;
-
$!data.get('confirmed') – статус email-адреса контакта (true – подтвержден, false – не подтвержден);
- $!data.get('fields').get('12345') – дополнительные поля. Вместо “12345” нужно подставить ID дополнительного поля.
Подтвердить контакт
Цель задачи – подтвердить email-адрес подписчика и сделать его активным в системе, чтобы ему приходили письма.
Например: когда человек заполняет форму подписки, контакт попадает в eSputnik с неподтвержденным email и ему на почту приходит уведомление с просьбой подтвердить подписку. Пока он не перейдет по ссылке подтверждения, контакт не будет получать рассылки. Когда человек подтверждает подписку, запускается сценарий, срабатывает задача “Подтвердить контакт” и он становится в системе активным.
У задачи 2 параметра:
-
EmailAddress – в этом поле по умолчанию используется переменная ${EmailAddress}, поэтому вы можете оставить это поле пустым. Вы меняете ее, только если создаете свою переменную, в которой содержится email.
-
Contactid – если вы хотите подтвердить контакт не по email, а по его ID в системе, то необходимо прописать название переменной, в которой содержится ID контакта. По умолчанию в системе она называется ${ContactId}.
Мы рекомендуем в этом блоке оставлять настройки по умолчанию. В очень редких случаях логика вашего сценария может потребовать внесения изменений. В таком случае обратитесь за консультацией в support@esputnik.com.
Важно
При поиске контактов для задач “Создать контакт”, “Обновить контакт”, “Получить контакт”, “Подтвердить контакт” применяется следующее правило:
- ID контакта имеет наивысший приоритет среди всех параметров.
- Если задан externalCustomerId, поиск контакта будет выполняться по externalCustomerId.
- Если externalCustomerId не задан, поиск контакта будет выполняться по email адресу или по номеру телефона.
Чтобы увидеть правила поиска, наведите курсор к знаку вопроса на панели настроек:
Отправить обязательный (транзакционный) email
Цель задачи – отправить письмо контакту, несмотря на его статус в системе. То есть вы сможете отправить письмо на любой email (подтвержденный, неподтвержденный, отписавшийся, с пометкой “жаловался на спам”), кроме контактов из черного списка.
Важно
Используйте эту задачу только для важнейших триггерных сообщений. Задача игнорирует статус контакта, поэтому возможны жалобы на спам, которые в дальнейшем скажутся на репутации отправителя. Данная задача нужна только для отправки новому (еще неподтвержденному) подписчику письма с кнопкой подтверждения подписки, оповещений о заказе, смене тарифного плана. Во всех остальных случаях для отправки писем используйте блок “Email” из раздела Группа блоков “Действия”.
У задачи пять параметров:
-
Email контакта – поле для ввода параметра из события, в котором передается email-адрес получателя. По умолчанию в это поле ставится стандартный параметр из системных событий eSputnik – ${EmailAddress}. При использовании задачи “Отправить обязательный (транзакционный) email” в поле email указывается название переменной из события.
-
Сообщение – обязательное поле. Выберите заранее созданное письмо, которое должно отправиться.
-
ID контакта – идентификатор контакта в системе eSputnik. Может использоваться для идентификации получателя вместо email-адреса.
-
LanguageParam – ID языка или параметр события содержащий его. Он нужен для создания мультиязычных сообщений. Оставьте поле пустым, если вы не используете мультиязычность или если язык контактов указан в их карточках.
-
jsonParam – произвольные данные в формате JSON, которые передаются в письмо. Если в параметре события вы передаете строку с такими данными, то в поле JSON надо вставить название этого параметра.
Например, вы передаете данные о заказе и необходимо в письме вывести список заказанных товаров. В этом случае в событии вы передаете данные о товарах в виде строки:
{
"name": "items",
"value": "{"array":[{"name":"Сухая детская молочная смесь HiPP Combiotic 2, 750 г","price":"341.00","url":"https://site.com/catalog/suhaya-detskaya-molochnaya-smes-hipp-combiotic-2-750-g","imageUrl":"https://site.com/uploads/product/big/20161122/20161122_7zvb.jpg"},{"name":"Молочная органическая овсяная каша с яблоком HiPP \"Спокойной ночи\", 250 г","price":"78.00","url":"https://site.com/catalog/molochnaya-organicheskaya-ovsyanaya-kasha-s-yablokom-hipp-spokojnoj-nochi-250-g","imageUrl":"https://site.com/uploads/product/big/23112013/2125.jpg"}]}"
}
В нашем примере параметр называется items. Соответственно, в поле JSON прописываем ${items}.
Отправить транзакционное Viber сообщение
Цель задачи – отправить Viber сообщение контакту, несмотря на его статус в системе.
У задачи шесть параметров:
-
Сообщение – обязательное поле. Выберите заранее созданное письмо, которое должно отправиться.
-
Телефон – номер телефона контакта.
-
Время жизни сообщения, сек – через указанное время сообщение будет удалено с телефона.
-
ID контакта – идентификатор контакта в системе eSputnik. Может использоваться для идентификации получателя вместо email-адреса.
-
LanguageParam – ID языка или параметр события содержащий его. Он нужен для создания мультиязычных сообщений. Оставьте поле пустым, если вы не используете мультиязычность или если язык контактов указан в их карточках.
- jsonParam – произвольные данные в формате JSON, которые передаются в письмо. Если в параметре события вы передаете строку с такими данными, то в поле JSON надо вставить название этого параметра.
Отправить транзакционное SMS сообщение
Цель задачи – отправить SMS сообщение контакту, несмотря на его статус в системе.
У задачи пять параметров:
-
Сообщение – обязательное поле. Выберите заранее созданное письмо, которое должно отправиться.
-
Телефон – номер телефона контакта.
-
contactId – идентификатор контакта в системе eSputnik. Может использоваться для идентификации получателя вместо email-адреса.
-
LanguageParam – ID языка или параметр события содержащий его. Он нужен для создания мультиязычных сообщений. Оставьте поле пустым, если вы не используете мультиязычность или если язык контактов указан в их карточках.
-
jsonParam – произвольные данные в формате JSON, которые передаются в письмо. Если в параметре события вы передаете строку с такими данными, то в поле JSON надо вставить название этого параметра.
Важно
При поиске контактов для задач “Отправить обязательный (транзакционный) email”, “Отправить транзакционное Viber сообщение”, “Отправить транзакционное SMS сообщение” применяется следующее правило:
- ID контакта имеет наивысший приоритет среди всех параметров.
- Указанные в поле блока email контакта, номер телефона или токен используются для отправки.
- Если указан externalCustomerId, отправка производится контакту, которому он принадлежит; среди тех, которые были найдены по email адресу, номеру телефона или токену.
- Если externalCustomerId не указан, отправка производится контакту, найденому по email адресу, номеру телефона или токену.
- Если контакт не найден, для отправки будет создан новый контакт.
Получить заказ
Задача обеспечивает извлечение данных из заказа и передачу этих данных в письмо. Вы можете использовать эту задачу, например, в сценариях уведомления клиента о статусе заказа, его доставке.
Задача применяется только в сценариях, в которых события передаются API методом Add orders.
Чтобы настроить параметр задачи «Получить заказ»:
Кликните на выпадающем списке «Получить заказ по» и выберите один из вариантов:
-
ID заказа. Выбирайте этот вариант когда хотите получить данные заказа по ID, сформированному нашей системой.
-
Внешний ID заказа. Выбирайте этот вариант когда хотите получить данные заказа по ID, который вы передаете в нашу систему.
Не обязательно заполнять поле ID заказа/Внешний ID заказа. Задача автоматически извлекает все параметры из события о заказе.
Задача работает следующим образом:
-
Система получает данные о заказе.
-
Блок "Задача" извлекает все данные, которые передаются вместе с заказом, и полученные данные передаются в письмо, где они прописаны в виде переменных.
Подробнее о блоке задач читайте в статье Автоматизация работы с заказами.
Создать промокод
Цель задачи – создать (сгенерировать) промокод и передать его в письмо, которое идет следующим в цепочке. Если вы выбрали метод формирования промокодов через сценарий, промокод сгенерирует система eSputnik и передаст данные в письмо. Параметры будут зашифрованы по вашему ключу алгоритмом, а при вводе такого промокода на сайте его расшифрует обратный алгоритм. Подробнее.
У задачи 4 параметра:
-
days – указывается количество дней до окончания действия промокода. Система их добавит к текущему числу и полученную дату окончания действия зашифрует в промокод.
-
type – тип промокода. У вас может быть 32 типа промокодов, которые вы задаете сами. Например: промокод за подписку – присвоен type 0, ко дню рождения – type 1, реактивация – type 3 и т.д. В переменной указывается число от 0 до 31, которое соответствует нужному типу.
-
discount – размер скидки. Используется для генерации промокода, когда скидка дается в процентах от суммы заказа. Это всегда двузначное число, поэтому скидки до 10% нужно дополнить нулем впереди. Например, указать 05 для подстановки в письмо 5% дисконта.
-
key – ключ шифрования. Можно не менять и оставить по умолчанию.
Важно
Все параметры обязательны для заполнения.
За этим блоком в сценарии ставится блок отправки сообщения (Email, SMS, Viber и др.). В письме на месте промокода надо использовать переменную $!data.get('promocode').
Запустить событие
Цель задачи – запустить какое-либо событие из сценария. Например, чтобы из одного сценария инициировать старт другого. Для использования задачи предварительно нужно создать тип события, которое мы планируем запустить.
У задачи есть 3 параметра:
-
eventTypeId – обязательное поле. В нем необходимо выбрать тип запускаемого события.
-
keyValue – ключ события, которое мы хотим запустить. Например, здесь может быть переменная, содержащая email. Если поле не заполнено, будет использоваться ключ из события, которое запустило текущий сценарий.
- params – массив параметров, которые мы хотим передать в запускаемое событие. Если поле не заполнено, будут переданы параметры из события, запустившего текущий сценарий.
Формат параметров такой:
[{"name":"paramName","value":"значение параметра"}]
Получить промокод
Задача подставляет очередной промокод из базы в письмо. Подробнее о загружаемых промокодах.
У задачи 3 параметра (все обязательные):
-
days – количество дней от текущей даты, в течение которых промокод еще должен быть действующим;
-
type – заданный вами для сегментации тип промокода;
-
discount – размер скидки от 01 до 99.
По ним система будет отбирать промокоды из загруженной базы. Принцип работы рассмотрим на примере. В параметрах укажем следующие данные: days – 10, type – newyear, discount – 25.
Это значит, что сценарий вытянет из базы промокод со скидкой 25%, который находится в группе newyear, и срок действия которого не меньше 10 дней. Если данному критерию соответствуют несколько промокодов, система сама выберет один из них.
За блоком "Получить промокод" в сценарии ставится блок отправки сообщения (Email, Viber, Push или SMS). В письме на место, где должен быть промокод, надо вписать переменную $!data.get('promocode').
Блок “Условие”
Цель блока – проверить, соблюдаются определенные условия сценария или нет. В зависимости от этого дальнейший ход сценария разделяется на две отдельные ветки: “Да” или “Нет”.
Блок имеет один вход (блок “Начало”) и 2 выхода (“Конец”): для ветки “Да” и для ветки “Нет”.
У блока “Условие” есть 7 задач:
- Проверить событие;
- Переменная соответствует регулярному выражению;
- Контакт подтвержден;
- Контакт существует;
- Пользователь залогинился (служебная задача, в практических целях не используется);
- Проверить параметр по значению даты/времени;
- Проверить поле контакта на соответствие параметру из события.
По умолчанию стоит задача “Проверить событие”, другую задачу можно выбрать из выпадающего списка или через поиск.
Проверить событие
Цель – проверить, состоялось нужное событие или нет. Поиск событий производится по ключам.
У задачи есть 3 параметра:
- key – какой ключ события искать. Например, в качестве ключей проверяемых событий используется email-адрес. Таким образом, в этом поле должен быть параметр, содержащий email-адрес. Это параметр из события, запустившего текущий сценарий. Если он называется EmailAddress, то в поле надо написать ${EmailAddress}.
- type – тип события, который нужно проверить. Обязательное поле, без заполнения которого сценарий не будет работать.
- Период — в этом поле можно задать время до старта сценария, в течение которого нужно учитывать случившееся событие. По умолчанию блок проверяет события с момента активации сценария.
Переменная соответствует регулярному выражению
Цель задачи – проверить определенную переменную из события или полученные другими блоками данные и в зависимости от этого скорректировать дальнейший ход сценария.
Например, мы можем проверить, кто наш пользователь: мужчина или женщина, и отправить им разные сообщения.
У задачи есть 2 параметра:
- name – название переменной, которую необходимо проверить. Это может быть параметр из события. Заметьте, что в данное поле название параметра записывается без ${}. Если же мы проверяем данные, полученные другими блоками сценария(например, блок “Получить контакт”), то надо вписать в поле системную переменную smartMessageJson.
- pattern – регулярное выражение, на соответствие с которым проверяем данные. Например: хотим проверить, что параметр address из события содержит текст “Киев”. В этом случае в pattern прописываем .*Киев.*
Пример работы и полной настройки такого блока.
Контакт подтвержден
Цель задачи – проверить, подтвержден ли емейл контакта, и в зависимости от этого скорректировать дальнейший ход сценария.
Например, человек зарегистрировался на сайте или подписался на вашу рассылку. Вы хотите отправить ему приветственное письмо.
В этом случае:
- Контакт появляется в базе eSputnik, но находится в статусе неподтвержденного;
- Человеку отправляется письмо с просьбой подтвердить регистрацию;
- Задача проверяет подтвердил человек регистрацию или нет;
- Если подтвердил, сценарий идет по ветке “Да” и отправляется приветственное письмо;
- Если еще не подтвердил регистрацию, сценарий идет по ветке “Нет”.
У задачи есть 2 параметра:
- EmailAddress – email-адрес контакта.
- ContactId – ID контакта в системе.
По умолчанию система проверят, подтвержден контакт или нет, по email: там уже прописана служебная переменная EmailAddress, и если в событии переменная, содержащая email, так и прописана, можно ничего не менять. Если переменная в событии называется по-другому, тогда нужно добавить в формате ${название переменной из события}. Например, ${MailAddress}.
Если вы хотите, чтобы идентификация проходила по ID контакта, необходимо в поле ContactId вписать переменную ${ContactId}.
В любом случае должен быть указан один из параметров.
Контакт существует
Цель задачи – проверить, существует контакт или нет, и в зависимости от этого скорректировать дальнейший ход сценария. Работает аналогично задаче “Контакт подтвержден”.
У данной задачи есть 2 параметра, как и в задаче “Контакт подтвержден”:
- EmailAddress – email-адрес контакта.
- ContactId – ID контакта в системе.
По умолчанию система проверяет, существует контакт или нет, по email. Если вы хотите, чтобы идентификация была по ID контакта, необходимо в поле ContactId вписать переменную ${ContactId}.
Проверить параметр по значению даты/времени
Цель задачи – проверить дату из параметра события.
При создании сценария учитывается часовой пояс пользователя, время будет сохранено в UTC.
Например, проверяем дату со временем 2020-07-30 13:00. Часовой пояс пользователя – (GMT +3) Europe/Kiev, соответственно, в событии будет передано “2020-07-30T13:00+03:00”.
Важно!
Обращайте внимание на часовой пояс и учитывайте переход на зимнее/летнее время
- Название параметра – необходимо указать значение параметра, которое передается в событии. Нужный формат передачи даты – ISO 8601.
- Дата, где необходимо выбрать из выпадающего списка конкретную дату или диапазон дат.
- Выбор конкретной даты.
Название параметра
Поле "Название параметра" принимает название параметра в системе.
- Введите название параметра в виде переменной или строки. Например, ${userId} или 123abc.
Выбор параметров даты и/или времени
Для выбора настройки даты и/или времени:
1. Кликните на стрелке выпадающего списка и выберите один из параметров:
- Дата
- Дата со временем
- Диапазон дат
- Диапазон времени
- Диапазон дат со временем
- Дата входит в период до
- Дата входит в период после
- Дата со временем больше текущего на
2. Установите нужные параметры даты и времени для выбранного варианта, как описано ниже.
Настройка параметра "Дата"
При выборе определенной даты, блок "Условие" проверяет, совпадает ли дата события с выбранной датой для этого параметра.
Чтобы выбрать дату:
- Кликните на значке календаря и выберите нужную дату.
Полезный совет
Кликните на стрелке, которая указывает влево или вправо, чтобы изменить месяц, или кликните на центральной верхней части календаря, чтобы перейти к выбору месяца или года.
Настройка параметров «Дата со временем»
При выборе варианта «Дата со временем», блок «Условие» проверяет, совпадает ли дата события с выбранной датой и временем для этого параметра.
Чтобы выбрать дату со временем:
- Кликните на значке календаря и выберите дату в окне выбора даты.
- В открывшемся окне выбора времени, выберите нужный час.
- В появившемся окне выбора минут, выберите точное время. Значения времени в этом окне находятся в пределах 1 часа с диапазоном 5 минут.
Настройка параметров "Диапазон дат"
При выборе параметра "Диапазон дат", блок "Условие" проверяет, входит ли дата события в выбранный диапазон дат для этого параметра.
Для выбора диапазона дат:
- Кликните на значке календаря верхнего поля даты и выберите начальную дату диапазона.
- Кликните на значке календаря нижнего поля даты и выберите конечную дату диапазона.
Настройка "Диапазона времени"
При выборе "Диапазона времени" блок "Условие" проверяет, совпадает ли диапазон времени события с выбранным диапазоном времени для этого параметра.
Для выбора диапазона времени:
- Кликните на значке календаря верхнего поля выбора времени и выберите начальное время в открывшемся окне.
- Кликните на значке календаря нижнего поля выбора времени и выберите конечное время в открывшемся окне.
Полезный совет
- Чтобы выбрать текущее время, нажмите кнопку "Сегодня" внизу открывшегося окна выбора.
- Чтобы выбрать другую дату, щелкните стрелки влево или вправо в верхней части открывшегося окна выбора времени.
Настройка параметров "Диапазон дат со временем"
При выборе «Диапазона дат со временем» блок «Условие» проверяет, соответствуют ли диапазон даты и времени события выбранному диапазону даты и времени для этого параметра.
Для выбора настройки диапазона даты/времени:
- Кликните на верхнем значке календаря и выберите требуемую начальную дату в окне выбора даты.
- В открывшемся окне выбора времени, выберите нужный час.
- В открывшемся окне выбора минут выберите точное время. Значения времени в этом окне находятся в пределах 1 часа с шагом 5 минут.
- Кликните на нижнем значке календаря и выберите конечную дату, час и минуты, также, как и для начальной даты со временем.
Полезный совет
- Чтобы выбрать предыдущий или следующий месяц, кликните на стрелке, указывающей соответственно влево или вправо в верхней части окна выбора.
- Чтобы перейти к выбору месяца или года, кликните на центральной верхней части окна и выберите месяц или год.
- Чтобы выбрать текущую дату и время, щелкните "Сегодня" в нижней части окна выбора.
Настройка параметров "Дата входит в период до"
Когда вы выбираете "Дата входит в период до", блок "Условие" проверяет, входит ли дата события, полученная в качестве параметра, в диапазон дат до выбранной даты.
Чтобы выбрать параметры "Дата входит в период до":
- Кликните на значке календаря рядом с полем даты и выберите дату.
Важно
Выбранная дата не учитывается в периоде.
Настройка параметров "Дата входит в период после"
Когда вы выбираете опцию "Дата входит в период после", блок "Условие" проверяет, находится ли дата события, полученная в качестве параметра, в диапазоне дат после выбранной даты.
Чтобы выбрать дату для периода, следующего после текущей даты:
- Щелкните на значке календаря рядом с полем даты и выберите дату.
Важно
Выбранная дата не учитывается в периоде.
Настройка параметра "Дата со временем больше текущего на"
При выборе параметра "Дата со временем больше текущего на", блок "Условие" проверяет, превышают ли дата и время события, полученные в качестве параметра, текущую дату и время на N минут/часов/дней.
Пример:
Вы организуете вебинар с датой и временем начала 2022-10-10 16:00.
Вы настроили отправку 3 сообщений участникам, прошедшим регистрацию: за 30, 10 и 5 минут до начала вебинара.
Дата и время регистрации участника - 2022-10-10 15:52 (текущая дата и время).
Блок "Условие" осуществляет сравнение текущего времени со временем из параметра события. В результате сравнения:
- Отправка первого сообщения отменяется, поскольку условие отправки сообщения (за 30 минут) не выполняется.
- Отправка второго сообщения отменяется, поскольку условие отправки сообщения (за 10 минут) не выполняется.
- Третье сообщение будет отправлено по расписанию, поскольку условие отправки сообщения (за 5 минут) выполняется.
Чтобы настроить условие "Дата и время больше текущего на":
• Введите значение в поле даты/времени и выберите его формат из выпадающего списка: минуты, часы или дни.
Проверить поле контакта на соответствие параметру из события
Задача позволяет проверить соответствие поля контакта переданному значению в параметре события. Например, вы хотите проверить, соответствует ли город подписчика значению города, переданному в событии. Если нет – можно далее поставить блок обновления контакта.
У задачи есть 5 параметров:
- Contact ID – идентификатор контакта в системе eSputnik.
- Phone – номер телефона контакта.
- Contact’s email – email-адрес контакта.
- Contact’s field – поле из карточки контакта, соответствие которого нужно проверить. Можно выбрать из выпадающего списка или с помощью поиска в строке. Сравнению подлежат поля следующих типов: текстовое поле, текстовая область, число, дробное число, выпадающий список.
- Event parameter – параметр события, на соответствие с которым проверяем поле контакта. Значение можно указать как переменную ${parameterName} (название параметра в событии, например, ${city}) – в данном случае сравнивается поле контакта, указанное в Contact’s field, со значением из указанного параметра в событии. Также можно задать строку в формате 123abc (например, Киев) – тогда происходит сравнение поля контакта с конкретным значением, указанным в параметре (то есть равняется ли Contact’s field 123abc?). Если при сравнении операция должна быть чувствительна к регистру, установите соответствующий флажок под эти полем.
Первые три параметра используются для выбора способа идентификации контакта. Для корректной работы задачи необходимо заполнить одно из этих полей соответствующими данными. Например, если нужно идентифицировать человека по ID в системе, нужно прописать переменную ${ContactId}. Поля можно оставить пустыми, если перед блоком “Проверить поле контакта на соответствие параметру из события” стоит блок “Получить контакт”. В таком случае определение контакта будет происходить по идентификатору, указанному в его настройках.
Протестируйте на реальных рассылках