Група блоків Умови

Більшість блоків у групі Умови перевіряють, чи виконав контакт задану умову, і розділяють сценарій на дві гілки: Так або Ні. Подальший шлях контакту залежить від результату перевірки. Винятки — Розгалуження та Розбити: перший дає змогу налаштувати кілька альтернативних гілок, другий випадково розподіляє контакти між гілками для спліт-тестування.


📘

Важливо

До блоку Старт не можна приєднувати блоки:

  • Відправив?
  • Доставлено?
  • Прочитав?
  • Перейшов?

Розгалуження

Блок Розгалуження дає змогу налаштувати кілька альтернативних шляхів виконання сценарію замість ланцюжка з великої кількості блоків Умова. Система перевіряє гілки згори вниз і спрямовує контакт у першу гілку, правила якої виконуються.

Більш детальна інформація >

Перевірити значення

Умова дає змогу перевірити:

  • значення в параметрах контексту події: наприклад, тип промокода;
  • значення в полях контакту: наприклад, місто підписника.
  1. Натисніть кнопку Виберіть правило.
  2. Вкажіть параметр події та його значення або виберіть поле контакту зі списку.

Для кожного окремого правила доступні кнопки Дублювати правило та Видалити правило. Використовуйте їх, щоб створити копію правила з усіма його налаштуваннями або видалити лише вибране правило.

📘

Зверніть увагу

  • Назву параметра обрамляти спеціальними символами ${} не потрібно.
  • У параметрах подій можна передавати значення як у числовому, так і в строковому форматі.
📘

Зверніть увагу

Якщо параметр явно передано зі значенням null, система вважає його заповненим значенням null, а не порожнім — тож оператори is empty і is set не працюватимуть для нього так, як очікується. Щоб параметр коректно розпізнавався як порожній, не передавайте його в запиті взагалі, а не надсилайте як null.

  1. Виберіть один із доступних операторів перевірки залежно від параметра події або типу поля.
Список операторів перевірки для параметра події або поля контакту
ОператорПараметр подіїЧислове полеТекстове полеВипадаючий список
дорівнює
не дорівнює
вірно
невірно
вказано
не вказано
збігається
містить
не містить
починається з
не починається з
закінчується на
не закінчується на
один з
не один з
між
більше ніж
більше ніж або дорівнює
менше ніж
менше ніж або дорівнює

За потреби можна додати кілька перевірок з умовами ТА/АБО — кількість таких перевірок не обмежена. Це допомагає уникнути створення окремих умовних груп у сценарії.

Докладніше про:

Розбити

Блок використовується для спліт-тестування повідомлень. Він розбиває сценарій на кілька гілок (до 10) і випадково розподіляє контакти між ними. За замовчуванням створюється 2 гілки, імовірність потрапляння в кожну з них становить 50/50.

Наприклад, ви можете створити сценарій для тестування ефективності каналів комунікації або двох варіантів повідомлення в одному каналі, встановивши для них однаковий відсоток спрацьовування.

На рисунку вище показано сценарій для тестування каналів Email та SMS. За цією схемою одна половина підписників отримає email-повідомлення, а інша — SMS-повідомлення. Подальший аналіз статистики за розсилками для цих каналів допоможе визначити, який із них спрацював краще.

Відправлено?

Блок Відправлено? використовується для того, щоб перевірити факт надсилання повідомлення або ланцюжка повідомлень, розміщених у сценарії перед цим блоком.

У прикладі вище першим у сценарії надсилається мобільний push з експериментальним алгоритмом рекомендацій. Якщо даних для формування таких рекомендацій немає, повідомлення не надсилається.

У мобільних push-повідомлень, крім статусу Доставлено, є статус В процесі. Між надсиланням і доставкою може минути певний час, тому перевірка Доставлено в цьому випадку не підходить.

Якщо перевірка покаже, що перший push не було надіслано, сценарій надішле другий — з універсальним алгоритмом рекомендацій.

Блок Таймер потрібен, щоб система встигла перевірити факт надсилання повідомлення. Рекомендований час у налаштуваннях таймера — 2 хвилини.

📘

Примітка

Блоки Відправив?, Доставлено?, Прочитав?, Перейшов? перевіряють повідомлення в межах одного сценарію та не враховують, чи була виконана аналогічна дія з повідомленням в іншому сценарії.

Це стосується й окремої запланованої розсилки: сценарій та розсилка — це незалежні запуски. Розсилка не скасовується автоматично через те, що контакт одночасно проходить сценарій. Не розраховуйте на дедуплікацію чи пріоритет лише тому, що ID повідомлення однаковий, — контакт може отримати обидва повідомлення.

Обмежити це може лише окремо налаштоване керування частотою розсилок / рівень занепокоєння (доступне для каналів Email і Mobile Push).

Блоки мають два альтернативні параметри перевірки. Описана нижче логіка застосовується однаково до кожного з цих блоків — відповідно до статусу, який перевіряє конкретний блок.

  • Тільки останнє повідомлення. Перевіряється лише останнє повідомлення перед блоком. Якщо повідомлення має потрібний статус, сценарій продовжується гілкою Так. Якщо такого статусу немає, сценарій переходить гілкою Ні.
Умова перевірки статусу тільки останнього повідомлення
  • Всі повідомлення. Перевіряються всі повідомлення в сценарії перед блоком. Якщо потрібний статус має хоча б одне повідомлення, сценарій продовжується гілкою Так. Якщо такого статусу немає в жодного повідомлення, сценарій переходить гілкою Ні.
Умова перевірки статусу всіх повідомлень у сценарії
📘

Важливо

Перед блоками Відправив?, Доставлено?, Прочитав? і Перейшов? рекомендовано додати блок Таймер. Якщо цього не зробити, для більшості підписників сценарій може піти гілкою Ні.

Це пов'язано з тим, що система миттєво перевіряє виконання умови. Користувач не може миттєво відреагувати на розсилку, тому на момент перевірки достовірних даних для переходу гілкою Так ще немає.

Доставлено?

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

Тим, хто отримав повідомлення, через день буде надіслано другий email, а решту підписників буде додано до групи Невалідні email. Так блок допомагає оцінити доцільність використання email як каналу комунікації та зменшити відсоток помилок у подальших розсилках.

Прочитав?

Цей блок перевіряє, чи прочитав користувач повідомлення, і залежно від результату (Так/Ні) розділяє сценарій на дві гілки. Якщо користувач не прочитав email протягом певного часу, можна протестувати іншу тему повідомлення, надіслати Viber-повідомлення або SMS із таким самим змістом. Це підвищить шанси отримати бажану дію.

Перейшов?

За допомогою цього блоку можна перевірити, чи переходив користувач за посиланням із повідомлення, і налаштувати альтернативні дії залежно від результату. Блок ураховує перехід за будь-яким посиланням у повідомленні, окрім посилання на сторінку відписки. Вибрати для перевірки конкретне посилання не можна.

На зображенні показано приклад сценарію з такою перевіркою. Тим, хто перейшов за посиланням і потенційно зацікавився пропозицією, надсилається наступний лист зі спеціальною знижкою або докладнішим описом переваг товару чи бренду. Для тих, хто не перейшов за посиланням у листі, сценарій завершується. Для цієї групи можна підготувати інші аргументи або додаткові інструменти комунікації.

Очікування оновлення статусу

За замовчуванням блоки Відправлено?, Доставлено?, Прочитав? і Перейшов? перевіряють статус один раз у момент, коли контакт доходить до них. Увімкніть перемикач Очікувати оновлення статусу, щоб блок утримував контакт до появи потрібного статусу:

  • щойно статус з'явиться, контакт одразу перейде гілкою Так;
  • якщо статус не з'явиться протягом заданого часу, контакт перейде гілкою Ні.

У полі Максимальний час очікування вкажіть, скільки блок має чекати на статус. Час очікування відлічується з моменту, коли контакт доходить до блока. Максимально доступний період — 30 днів (720 годин).

📘

Зверніть увагу

Для разової перевірки статусу після мобільного push рекомендовано блок Таймер на 5 хвилин. Проте кращий варіант — саме опція Очікувати оновлення статусу: контакт переходить гілкою Так одразу, щойно з'явиться статус, або гілкою Ні після завершення таймауту.

Для критичного сценарію встановлюйте час очікування відповідно до вашої бізнес-логіки: 5 хвилин не є гарантією доставлення.

Входить до групи?

Завдання цього блоку — визначити, чи входять підписники до певної групи. Залежно від результату сценарій продовжиться однією з двох гілок.

Блок має один базовий обов'язковий параметр — Група. У цьому полі виберіть групу, для якої потрібно перевірити входження контакту.

У прикладі вище підписникам із групи Валідні Email надсилається email-повідомлення, а тим, хто не входить до цієї групи, — SMS.

Також блок має розширені параметри, докладно описані в окремій статті.

📘

Зверніть увагу

Окремого умовного блоку для перевірки статусу відписки контакту немає. Щоб перевірити, чи відписаний контакт, побудуйте сегмент за допомогою фільтра статусу відписки та використайте його як групу в умові Входить до групи?.

Поточний день/час

Блок допомагає перевірити, чи відповідає момент спрацювання поточної гілки сценарію певній даті, дню тижня або часу доби. Залежно від цього коригується подальший перебіг сценарію.

Для перевірки можна вибрати один із таких параметрів:

  • у певні дні тижня (Пн-Нд);
  • у певну дату;
  • у певний час;
  • у певний час певної дати/дня тижня.

Встановлення певної дати виключає можливість вибору дня тижня. Задати значення дати або дня тижня та часу можна як разом, так і окремо. За замовчуванням опція перевірки часу неактивна.

Якщо час вибрано без вказівки дня, заданий період часу перевірятиметься щодня.

Якщо вибрано день і час, час перевірятиметься у вказаний день.

Час перевіряється за часовим поясом контакту. Це допомагає уникнути неточностей, пов'язаних із переходом на зимовий або літній час.

Задані граничні значення входять у перевірку. Якщо встановлено час 08:00–12:00 і на момент перевірки буде 12:00, сценарій піде гілкою Так.

Активація опції Використовувати часовий пояс контакту дає змогу надсилати повідомлення в певний час з урахуванням часового поясу контакту.

Опція Використовувати часовий пояс контакту в умові Поточний день/час

Розглянемо роботу блоку. Наприклад, 5 квітня 2023 року о 19:00 у вас проходить вебінар, зареєструватися на який можна до самого початку трансляції. Потрібно надіслати різні версії email-повідомлень залежно від поточної дати та часу:

  • Email 1. За день до заходу — Чекаємо на вебінарі 5 квітня о 19:00;
  • Email 2. У день заходу до 17:00 — Вже сьогодні! До зустрічі о 19:00;
  • Email 3. У день заходу після 17:00 — Старт зовсім скоро! Не пропустіть початок о 19:00.

Сценарій із такими умовами працюватиме так:

  • сценарій дійде до блоку Поточний день/час і перевірить дату: чи зараз 05.04.2023;
  • якщо дата не відповідає вказаній у параметрі, сценарій піде гілкою Ні — буде надіслано Email 1;
  • якщо сьогодні 05.04.2023, сценарій піде гілкою Так і перевірить час доби;
  • якщо зараз не пізніше 17:00, буде надіслано Email 2;
  • якщо поточний час не відповідає заданому, тобто зараз пізніше ніж 17:00, буде надіслано Email 3.
Сценарій розсилки трьох варіантів email за датою та часом до вебінару 5 квітня

Також за допомогою цих умов можна обмежити надсилання розсилки:

  • У певні дні.
Обмеження надсилання розсилки за днями тижня
  • У певний час.
Обмеження надсилання розсилки за часом доби
  • У певний час певних днів.
Обмеження надсилання розсилки за часом у певні дні тижня
  • У певний час певного дня.
Обмеження надсилання розсилки за часом у певний день тижня

Змінна відповідає регулярному виразу

Мета умови — перевірити певну змінну з події або отримані іншими блоками дані й відповідно до цього скоригувати подальший перебіг сценарію.

Наприклад, можна перевірити, ким є користувач: чоловіком чи жінкою, і надіслати різні повідомлення.

Умова має два параметри:

  • Назва — назва змінної, яку треба перевірити. Це може бути параметр із події. Якщо ж ми перевіряємо дані, отримані іншими блоками сценарію (наприклад, блок Отримати контакт), то слід вписати в поле системну змінну smartMessageJson.
  • Патерн — регулярний вираз, за яким перевіряються дані. Наприклад, потрібно перевірити, чи параметр address із події містить текст Київ. У цьому випадку в полі Патерн вкажіть Київ.

Приклад роботи та повного налаштування такого блоку.

Перевірити подію

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

Умова має три параметри:

  • Ключ унікальності — ключ події, що перевіряється. Наприклад, таким ключем може бути email-адреса. У цьому полі потрібно вказати параметр із події, яка запустила поточний сценарій. Якщо параметр має назву emailAddress, вкажіть ${emailAddress}.
  • Подія — тип події, яку треба перевірити. Обов'язкове поле, без заповнення якого сценарій не працюватиме.
  • Період — у цьому полі можна задати час до старту сценарію, протягом якого потрібно враховувати подію, що сталася. За замовчуванням блок перевіряє події після активації сценарію.
📘

Шаблон нагадування: Якщо подія не сталася протягом N годин

Щоб надіслати нагадування лише тоді, коли конкретна подія не відбулася протягом визначеного часу (наприклад, контакт не завершив покупку протягом 24 годин після додавання товару в кошик), поєднайте блок Таймер із блоком Перевірити подію:

  1. Додайте блок Таймер, налаштований на потрібний період очікування (наприклад, 24 години).
  2. Додайте блок Перевірити подію, вкажіть у полі Подія ту подію, на яку чекаєте (наприклад, OrderCreated), і встановіть Період, що відповідає таймеру (наприклад, 24 години).
  3. Підключіть повідомлення-нагадування до відгалуження Ні — воно спрацює лише для тих контактів, у яких подію не знайдено протягом цього періоду.
📘

Зверніть увагу

Немає можливості перевірити подію «прочитання/відкриття листа» за допомогою блоку Перевірити подію — відкриття email не передається в eSputnik як подія, яку можна перевірити цим блоком. Найближчий доступний варіант — подія переходу за посиланням (клік), яку перевіряє блок Перейшов?, але вона є принципово іншою дією, ніж відкриття листа, тож поводитиметься інакше.

Контакт підтверджений

Мета умови — перевірити, чи підтверджений email контакту, і залежно від цього скоригувати подальший перебіг сценарію.

Наприклад, людина зареєструвалася на сайті або підписалася на вашу розсилку. Ви бажаєте надіслати їй привітальний лист.

У цьому випадку:

  1. Контакт з'являється в базі eSputnik, але має статус непідтвердженого.
  2. Людині надсилається лист із проханням підтвердити реєстрацію.
  3. Умова перевіряє, підтвердила людина реєстрацію чи ні.
  4. Якщо людина підтвердила реєстрацію, сценарій переходить гілкою Так і надсилається привітальний лист.
  5. Якщо реєстрацію ще не підтверджено, сценарій переходить гілкою Ні.

Умова має два параметри:

  • Email — email-адреса контакту.
  • ID контакту — ID контакту в системі.

За замовчуванням система перевіряє статус підтвердження за email. У полі Email вкажіть назву змінної або email-адресу, наприклад ${emailAddress} або [email protected].

Щоб ідентифікувати контакт за ID, вкажіть у полі ID контакту змінну ${contactId}.

Для умови Контакт підтверджений у будь-якому випадку має бути вказаний один із параметрів.

Перевірити, що поле контакту відповідає параметру події

Умова дає змогу перевірити, чи відповідає поле контакту переданому значенню параметра події. Наприклад, можна перевірити, чи збігається місто підписника зі значенням міста, переданим у події. Якщо ні, далі можна додати блок оновлення контакту.

Умова має два базові параметри:

  • Поле контакту — поле з картки контакту, відповідність якого потрібно перевірити. Його можна вибрати зі списку або знайти через пошук у рядку. Для порівняння доступні такі типи полів: текстове поле, текстова область, число, дробове число, випадаючий список.
  • Параметр — параметр події, з яким порівнюється поле контакту. Значення можна вказати як змінну ${parameter} (назва параметра в події, наприклад ${city}). У цьому випадку поле, вибране в Полі контакту, порівнюється зі значенням зазначеного параметра події. Також можна вказати конкретний рядок, наприклад Київ, — тоді поле контакту порівнюється з цим значенням.

Також умова має розширені параметри.

Докладніше про розширені параметри блоків сценаріїв >

Якщо порівняння має бути чутливим до регістру, встановіть відповідний прапорець під цим полем.

Контакт існує

Мета умови — перевірити, чи існує контакт, і відповідно до цього скоригувати подальший перебіг сценарію. Блок працює аналогічно до умови Контакт підтверджений.

У цієї умови є три параметри:

  • Email — email-адреса контакту.
  • Номер телефону — номер телефону контакту.
  • ID контакту — ID контакту в системі.

За замовчуванням система перевіряє наявність контакту за email. Щоб ідентифікувати контакт за ID, вкажіть у полі ID контакту змінну ${contactId}. Для ідентифікації за номером телефону вкажіть у полі Номер телефону змінну ${phoneNumber}.

Перевірити поля списку чекбоксів

Мета умови — перевірити наявність порожніх або конкретних чекбоксів у картці контакту.

У списку чекбоксів відображаються чекбокси, створені в розділі Додаткові поля.

Доступні такі опції перевірки:

  • Перевірити наявність порожніх полів у списку чекбоксів
  • Перевірити наявність конкретних полів списку чекбоксів
  • Перевірити наявність одного з конкретних полів списку чекбоксів

Перевірити параметр за датою/часом

Мета умови — перевірити дату з параметра події.

Під час створення сценарію враховується часовий пояс користувача, а час зберігається в UTC.

Наприклад, потрібно перевірити дату й час 2020-07-30 13:00. Часовий пояс користувача — (GMT+3) Europe/Kyiv, тому в подію буде передано 2020-07-30T13:00+03:00.

📘

Важливо

Звертайте увагу на часовий пояс та враховуйте перехід на зимовий/літній час.

Умова має такі параметри:

  • Параметр — обов'язкове поле. За замовчуванням у нього підставляється ${parameter}. Значення параметра має передаватися у форматі дати ISO 8601.
  • Дата — поле, де потрібно вибрати зі списку конкретну дату, дату з часом або діапазон дат із часом.

Вибір параметрів дати та/або часу

Щоб вибрати налаштування дати та/або часу:

  1. Клікніть поле Дата та виберіть зі списку один із параметрів:
  • Дата;
  • Дата з часом;
  • Діапазон дат;
  • Діапазон часу;
  • Діапазон дат з часом;
  • Дата входить до періоду до;
  • Дата входить до періоду після;
  • Дата з часом більше поточного на.
Розкритий список параметрів дати та часу в умові Перевірити параметр за датою/часом
  1. Налаштуйте потрібні параметри дати й часу для вибраного параметра, як описано нижче.

Налаштування параметрів Дата

Коли ви вибираєте Дата, блок Умова перевіряє, чи збігається дата події з вибраною датою для цього параметра.

Натисніть значок календаря та виберіть потрібну дату.

Вибір дати за допомогою значка календаря в умові
📘

Корисна порада

Клікніть стрілку ліворуч або праворуч, щоб змінити місяць, або клікніть назву місяця з роком, щоб перейти до вибору місяця чи року.

Налаштування параметрів Дата з часом

Коли ви вибираєте Дата з часом, блок Умова перевіряє, чи збігається дата події з вибраними датою та часом для цього параметра.

Щоб вибрати дату з часом:

  1. Клікніть значок календаря та виберіть потрібну дату у вікні вибору дати.
  2. У вікні вибору годин і хвилин виберіть потрібні значення.
Вибір дати та часу для параметра умови

Налаштування параметрів Діапазон дат

Коли ви вибираєте Діапазон дат, блок Умова перевіряє, чи збігається дата події з вибраним діапазоном дат для цього параметра.

Щоб вибрати діапазон дат:

  1. Клікніть дату зліва та виберіть початкову дату діапазону.
  2. Клікніть дату справа та виберіть кінцеву дату діапазону.
Вибір початкової та кінцевої дати діапазону для параметра умови

Налаштування параметрів Діапазону часу

Коли ви вибираєте параметр Діапазон часу, блок Умова перевіряє, чи збігається час події з вибраним діапазоном часу для цього параметра.

Щоб вибрати діапазон часу:

  1. Клікніть час зліва та виберіть початковий час у вікні вибору часу.
  2. Клікніть час справа та виберіть час завершення у вікні вибору часу.
Вибір початкового та кінцевого часу діапазону для параметра умови

Налаштування параметрів Діапазон дат з часом

Коли ви вибираєте Діапазон дат з часом, блок Умова перевіряє, чи входять дата й час події у вибраний діапазон для цього параметра.

Щоб вибрати діапазон дати/часу:

  1. Клікніть дату з часом зліва та виберіть початкову дату та час у вікні вибору.
  2. Клікніть дату з часом справа та виберіть дату та час завершення у вікні вибору.
Вибір діапазону дат із часом для параметра умови

Налаштування параметрів Дата входить до періоду до

Коли ви вибираєте Дата входить до періоду до, блок Умова перевіряє, чи знаходиться дата події, отримана як параметр, у діапазоні дат до вибраної дати.

Щоб вибрати параметри для Дата входить до періоду до, клікніть піктограму календаря поруч із полем дати та оберіть дату.

Вибір дати для параметра Дата входить до періоду до

Налаштування параметрів Дата входить до періоду після

Коли ви вибираєте Дата входить до періоду після, блок Умова перевіряє, чи знаходиться дата події, отримана як параметр, у діапазоні дат після вибраної дати.

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

Вибір дати для параметра Дата входить до періоду після
📘

Важливо

Обрана дата для параметрів Дата входить до періоду до та Дата входить до періоду після не входить до періоду.

Налаштування параметра Дата з часом більше поточного на

Коли ви вибираєте Дата з часом більше поточного на, блок Умова перевіряє, чи дата та час події, отримані як параметр, перевищують поточну дату та час на N хвилин/годин/днів.

Приклад:

Ви організуєте вебінар, який починається 2022-10-10 о 16:00.

Ви налаштували надсилання 3 повідомлень зареєстрованим учасникам: за 30, 10 і 5 хвилин до початку вебінару.

Дата й час реєстрації учасника — 2022-10-10 15:52 (поточна дата та час).

Блок Умова порівнює поточний час із часом із параметра події. У результаті:

  1. Надсилання першого повідомлення скасовується, оскільки умова надсилання за 30 хвилин не виконується.
  2. Надсилання другого повідомлення скасовується, оскільки умова надсилання за 10 хвилин не виконується.
  3. Третє повідомлення буде надіслано за розкладом, оскільки умова надсилання за 5 хвилин виконується.

Щоб налаштувати умову Дата та час більше поточного на, введіть значення в поле дати/часу й виберіть його формат зі списку: хвилини, години або дні.

Введення значення та вибір формату (хвилини, години, дні) для параметра Дата з часом більше поточного на


Did this page help you?