Змінні у профілі контакту та можливості Velocity

Дані користувача

Email

Омніканальність

Автоматизація

Відстеження подій та поведінки

Змінні у профілі контакту та можливості Velocity

Найпростіший і широко використовуваний приклад персоналізації - під час відправки автоматично проводиться заміна змінної %FIRSTNAME% на ім'я клієнта. Ім'я підставляється тільки в тому випадку, якщо відповідне поле заповнене в картці контакту.

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

  • прізвище одержувача;
  • місто або країна;
  • звернення до одержувача, наприклад, "шановна" або "шановний" і комбінувати його з ім'ям клієнта;
  • промокод або посилання на qr код;
  • ім'я закріпленого менеджера, адреса, емейл і контактний телефон магазину чи закладу;
  • кількість активних бонусів на картці клієнта.

Повідомлення, які містять змінні персоналізації, використовуються як для автоматичних, так і для масових ручних розсилок.

Більше варіантів персоналізації для використання в листах можна знайти в Особистому кабінеті → Налаштуання → Додаткові поля. У додаткових полях може міститися абсолютно будь-яка інформація про клієнта, яку ви передаєте в eSputnik по API.

Додаткові поля

Всі зазначені в додаткових полях змінні можна використовувати у всіх доступних каналах (email, SMS і т.д.).

Змінні в додаткових полях

Дані з будь-якого поля контакта можуть бути додані в тіло повідомлення за допомогою спеціального меню в редакторі eSputnik.

Докладніше про використання змінних профілю >

Оптимізація використання змінних із функціями Velocity

Використання змінних із профілю контакту може бути пов'язане з деякими труднощами. Наприклад, вам може знадобитися відображати різні блоки повідомлень залежно від контактних даних. Або приховати певні блоки, якщо дані відсутні. Вирішити це завдання допоможуть можливості Velocity.

Приклад використання

Персоналізація повідомлення в залежності від даних про місцезнаходження

Задача

У профілі контакту є додаткове поле PERSONAL.LOCATION. Залежно від даних у цьому полі у листі потрібно виводити різні блоки:

  • Якщо PERSONAL.LOCATION = Мальдіви — показувати блок з описом цієї локації і не показувати блок з описом Тоскани.
  • Якщо PERSONAL.LOCATION = Тоскана — показувати блок з описом цієї локації та не показувати блок з описом Мальдів.
  • Якщо PERSONAL.LOCATION ≠ Мальдіви чи Тоскана — не показувати жодного з цих блоків.

Повідомлення з динамічними змінними

Рішення

1. Натисніть на першу структуру в листі, в якій ви хочете відобразити динамічний контент (Тоскана), і відкрийте редактор коду.

Редактор коду

2. Знайдіть перший тег tr у коді структури.

3. Над тегом tr оголосіть змінні, які будуть використовуватись у листі. У нашому випадку це

<!--%PERSONAL.LOCATION%-->

4. Додайте до коду структури умовний оператор, який відповідає за відображення цієї структури. Використовуйте наступний формат:

<!--#if($data.get('parameter name')=='value1')-->

У нашому випадку оператор буде таким:

<!--#if($data.get('PERSONAL.LOCATION')=='Tuscany')-->

Умовні змінні

5. Клікніть на другу структуру шаблону, в якій потрібно відобразити динамічний контент (Мальдіви). Код цієї структури буде показано у редакторі коду.

6. Найдіть перший тег tr в коді структури.

7. Додайте умовний оператор, який відповідає за відображення цієї структури, у код структури над тегом tr. Використовуйте наступний формат:

<!--##elseif($data.get('parameter name')=='value2')-->

У нашому випадку оператор буде таким:

<!--#elseif($data.get('PERSONAL.LOCATION')=='Maldives')-->

Умовна змінна

8. Додайте <!--#end--> оператор після тега /tr, що закриває структуру.

Результат

Контакти з різними параметрами PERSONAL.LOCATION побачать такі варіанти повідомлення:

1) Користувач з параметром Тоскана:

Тоскана

2) Користувач з параметром Мальдіви:

Мальдиви

3) Користувач із порожнім параметром PERSONAL.LOCATION:

Порожній параметр PERSONAL.LOCATION

Персоналізація з Velocity-кодом

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

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

Іноді через відсутність кількох параметрів в листі втрачається цінність цілого блоку. Якщо відомостей про контакт не вистачає, то підстановка даних не відбудеться. Наприклад, в блоці, де повинен бути виведений промокод і QR-код, можуть бути пропуски:

Персональний промокод

Виходом буде приховати цілий блок повідомлення і виводити його лише в тому випадку, коли доступні всі необхідні компоненти.

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

В рамках нашого прикладу потрібно розібратися в застосуванні оператора вибору if else і операторів порівняння.

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

У нашому випадку блок буде виводиться, тільки якщо в полях контакту є і QR-код, і персональний промокод. Якщо немає хоча б одного з двох складових, то цей блок взагалі не виведеться в листі. Для цього необхідно звернутися до додаткових полей і перевірити їх значення. Виділіть потрібну структуру і перейдіть в режим редагування коду повідомлення:

Редактор коду

У прикладі потрібно перевірити додаткові поля PERSONAL.PROMOCODE і PERSONAL.QRCODE. Їх і необхідно вивести в лист в закоментовуваному вигляді.

Потім додаємо наше умову, щоб вийшло так, як показано на скріншоті:

#if($data.get('PERSONAL.PROMOCODE')!='' and $data.get('PERSONAL.QRCODE')!='')

таким чином перевіряючи, що в картці контакту ці поля заповнені.

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

Приклад коду

Приховувати блоки в разі відсутності даних - не єдине застосування оператора if else.

Розглянемо кілька прикладів взаємодії змінних персоналізації і Velocity:

  • Щоб перевірити, заповнене чи поле контакту з ім'ям.

#if($data.get('FIRSTNAME') and $data.get('FIRSTNAME')!='')

Вітаємо, $!data.get('FIRSTNAME').

#else

Вітаємо.

#end

  • Перевірити пол контакту і сформувати коректне звернення до одержувача.

Персоналізація: Вітаємо$!refBy %FIRSTNAME%
Результати підстановки в листі:
для чоловіка: Вітаємо, шановний Олексію
для жінки: Вітаємо, шановна Вікторіє
стать не зазначено: Вітаємо.

Таким чином, комбінуючи дані користувача з картки контакту і застосовуючи оператор вибору if else, можна гнучко управляти змістом відправляємого повідомлення.

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

Залишилися питання?
Спеціалісти обов'язково нададуть відповідь та допоможуть вирішити вашу проблему!
Зворотний дзвінок
Залишіть заявку – і наш спеціаліст зв'яжеться з вами в робочий час.
Відправити заявку
Консультація в чаті
Готові до ваших запитань!
Написати в чат
Електронна пошта
Напишіть в службу підтримки eSputnik.
Надіслати email