Комплексні сценарії

У цьому сценарії ми розберемо більш складніший сценарій “кинутої корзини” із декількома каналами комунікацій, і декількома нагадуваннями на електронну адресу. Цей сценарій виглядає наступним чином:

complex_scenarios_1

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

complex_scenarios_1.2

  • Event attribute name - e.commerce.action - відстежує події з корзиною.
  • Compersion value - add - відповідає за додавання товару у корзину.

Після цього у нас є очікування (у 90 хвилин на верхній гілці, і 15 хвилин на нижній гілці), щоб не турбувати клієнта одразу ж в момент коли він лише додав товар в корзину.

complex_scenarios_1.3

Після очікування робимо перевірку Conditional Split на те, чи були ще якісь події на сайті, або ж покупка товару. Ця перевірка відбувається по двох умова website_event та order_item_event і виглядають вони наступним чином:

complex_scenarios_1.4

complex_scenarios_1.5

Якщо будь яких додаткових дій на сайті не було, а також не було завершено покупку, через очікування у 15 хв (сама нижня гілка сценарію), ми відправляємо клієнту Web Push безпосередньо на самому сайті:

complex_scenarios_1.6

Оскільки у нас плануються ще додаткові канали комунікації (viber та email), то дане Web Push сповіщення має обмеження на лише 1 показ один раз на 8 днів, щоб не турбувати надмірними сповіщеннями.

Верхня гілка має 2 Condition Split перевірки, у першій перевіряється додаткові дії та купівля (приклад налаштувань було представлено вище), а інша перевірка на наявність вказаної електронної адреси, адже саме в залежності від цього залежить наш наступний канал звязку:

complex_scenarios_1.7

Якщо у конкретного клієнта (Client вкладка) наявний атрибут email_cleaned, то ми відправляємо повідомлення на електронну пошту. Якщо ж атрибуту email_cleaned немає, це означає, що клієнт свою пошту не вказував, і відповідно ми відправляємо йому повідомлення у Viber.

Якщо у клієнта вказана його електронна адреса, у нас повторюються тричі відправки з очікуванням у одну добу (1440 хвилин) між кожною відправкою. Перед кожною відправкою у нас аналогічна перевірка на наявність дій на сайті та завершення покупки (що була представлена вище).

complex_scenarios_1.8

У цьому прикладі ми розібрали більш складніший варіант сценарію, у якому використовуються декілька каналів зв'язку (web push, viber, email) а також декілька напрямків подій, що залежать від наявності вказаної електронної адреси тощо.

Розглянемо варіант сценарію, в якому тригер реагує на День Народження клієнта, спрацьовує завчасно (за 7 днів) і повідомляє клієнту у 2 різних канали комунікації (viber та email), що в честь дня народження клієнт може скористатись знижкою при купівлі товару. Сценарій виглядає наступним чином:

complex_scenarios_2

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

Налаштування SQL запиту виглядають так:

complex_scenarios_2.1

У SQL запиті - ми додаємо тригеру необхідну нам логіку, а в налаштуваннях спрацювання (колонка з права), ми встановлюємо, що тригер буде спрацьовувати кожного дня тижня об 13:00 за місцевим часом.

Після виявлення клієнта із днем народженням, за 7 днів до настання ми відправляємо клієнту сповіщення про знижку у Viber та Email.

complex_scenarios_2.2

Після відправки Viber комунікації, логіка даної гілки завершується, але після відправки Email комунікації, у нас є ще додаткове, очікування, перевірки на здійснення покупки, і повторні нагадування клієнту про знижку.

complex_scenarios_2.3

Після відправлення першої Email комунікації у нас є очікування у 4320 хвилини (72 години, або ж 3 дні), після чого запускається перевірки на те, чи зробив даний клієнт покупку за цей час. Перевірка (Conditional Split) виглядає наступним чином:

complex_scenarios_2.4

Логіка перевірки наступна:

  • Для кожного клієнта індивідуально (вкладка Client) ми перевіряємо подію оформлення замовлення order_item_event

  • Завершене замовлення на всіх етапах (заповнення даних, успішна оплата) ми можемо відслідкувати через атрибут order_status і безпосередньо статус “completed”, що означає повністю завершене замовлення.

  • Через оператор порівняння “>= 1” ми перевіряємо чи було хоча би одне (або більше) успішне замовлення і якщо так - то сценарій на цьому завершується і клієнт скористався знижкою. Але якщо такого замовлення не було, то клієнту відправляється наступна Email комунікація із нагадуванням про знижку.

Після другої комунікації логіка повторюється, і у нас знову спрацьовує таймер очікування у 4320 хв (72 год або ж 3 дні), ще одна перевірка з аналогічними налаштуваннями що перевіряє чи було у клієнта хоча би одне успішне замовлення, і якщо такого не було, клієнту відправляється остання Email комунікація.

В загальному, за 7 днів до Дня Народження ми починаємо комунікацію з клієнтом, і пропонуємо йому знижку. За цей тиждень клієнт отримує комунікації як на Viber (один раз під час спрацювання тригеру), так і на Email (три рази протягом тижня до безпосереднього Дня Народження), тому за рахунок декількох каналів комунікації клієнт точно зможе дізнатись про доступну йому знижку.