Переменные в профиле контакта и возможности Velocity | Support eSputnik

Пользовательские данные

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-код, и персональный промокод. Если нет хотя бы одного из двух составляющих, то этот блок вообще не выведется в письме. Для этого необходимо обратиться к дополнительным полям и проверить их значения. Выделите нужную структуру и перейдите в режим редактирования кода письма:

HTML-редактор

В примере нужно проверить дополнительные поля PERSONAL.PROMOCODE и PERSONAL.QRCODE. Их и необходимо вывести в письмо в закомментированном виде, таким образом проверяя, что в карточке контакта эти поля заполнены.

<!--//Объявление использования дополнительных полей PERSONAL.PROMOCODE и PERSONAL.QRCODE-->
<!--%PERSONAL.PROMOCODE%-->
<!--%PERSONAL.QRCODE%-->
<!--//Проверяем, что значения проверяемых полей не равняются пустой строке-->
<!--#if($!data.get('PERSONAL.PROMOCODE')!='' and $!data.get('PERSONAL.QRCODE')!='')-->
… html код структуры
<!--#end-->

Затем добавляем наше условие, чтобы получилось так, как показано на скриншоте:

Пример кода

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

Скрывать блоки в случае отсутствия данных – не единственное применение оператора if else.

Рассмотрим несколько примеров взаимодействия переменных персонализации и Velocity:

  • Чтобы проверить, заполнено ли поле контакта с именем.

<!-- для вывода имени при помощи персонализации -->
<!--%FIRSTNAME%-->
<!--//Проверяем, что значения поле FIRSTNAME не равняются пустой строке-->
#if($data.get('FIRSTNAME') and $data.get('FIRSTNAME')!='')
<!--//Если поле не пустое, выводим: Здравствуйте, Имя-->
Здравствуйте, $!data.get('FIRSTNAME').
#else
<!--//Если поле не содержит данных, выводим только: Здравствуйте. -->
Здравствуйте.
#end
  • Осуществляем проверку принадлежности email адреса к домену @gmail.com и отображает соответствующий контент в письме.

<!--%EMAIL%-->
<!--#if($!data.get('EMAIL').contains('@gmail.com'))-->
<!--//html код для получателей, у кого почта в доменной зоне gmail.com-->
<!--#else-->
<!-//html код для остальных получателей-->
<!--#end-->
  • Проверить пол контакта и сформировать корректное обращение к получателю.
<!-- //Объявляем использование поля, где указан пол контакта  -->
<!-- %PERSONAL.GENDER% -->
<!-- //Проверяем, не пустое ли поле  -->
<!--#if($data.get('PERSONAL.GENDER').equals(''))-->
<!--//Если пол не указан, не используем обращение-->
<!--#set($refBy='. ')-->
<!--//Проверяем, если получатель мужчина-->
<!--#elseif($data.get('PERSONAL.GENDER').equalsIgnoreCase('м'))-->
<!--//Подставляем: уважаемый-->
<!--#set($refBy=', уважаемый')-->
<!-- //Проверяем, если получатель женщина-->
<!--#elseif($data.get('PERSONAL.GENDER').equalsIgnoreCase('ж'))-->
<!--//Подставляем: уважаемая-->
<!--#set($refBy=', уважаемая')-->
<!--#end-->

В письме будет так:

Персонализация: Здравствуйте$!refBy %FIRSTNAME%
Результаты подстановки в письме:
для мужчины: Здравствуйте, уважаемый Алексей
для женщины: Здравствуйте, уважаемая Виктория
пол не указан: Здравствуйте.

 

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

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

Остались вопросы?
Специалисты обязательно ответят и помогут решить вашу проблему!
Обратный звонок
Оставьте заявку – и наш специалист свяжется с вами в рабочее время.
Отправить заявку
Консультация в чате
Готовы к вашим вопросам!
Написать в чат
Электронная почта
Напишите в службу поддержки eSputnik.
Отправить email