Перейти к содержанию

Использование шаблонов Liquid

Шаблоны Liquid значительно расширяют возможности персонализации Pushwoosh, реализуя сложную логику в дополнение к обычному использованию динамического контента.

Персонализация сообщений в Pushwoosh основана на тегах (данных пользователя). Pushwoosh предлагает множество тегов по умолчанию и пользовательских тегов. С их помощью вы можете указать имя пользователя, город, историю покупок и т. д., чтобы отправить более персонализированное сообщение, например: Привет, {First_name}, спасибо за заказ {item}.

Шаблоны Liquid добавляют больше логики в динамический контент. Например, если тег подписки пользователя содержит «free», вы можете отправить ему сообщение: «Получите скидку 10%».

Изменение содержимого сообщения в соответствии с ID, поведением и предпочтениями пользователей — это наиболее эффективный способ повысить релевантность и получить более впечатляющие результаты от ваших маркетинговых кампаний.

Синтаксис

Anchor link to

Шаблоны контента, основанные на Liquid от Shopify, используют комбинацию тегов, объектов и фильтров для загрузки динамического контента. Шаблоны контента позволяют вам получать доступ к определенным переменным из шаблона и выводить их данные, не зная ничего о самих данных.

Объекты

Anchor link to

objects (объекты) определяют контент, который будет отображаться пользователю. objects должны быть заключены в двойные фигурные скобки: {{ }}

Например, при персонализации сообщения отправьте {{Name}} в его теле, чтобы добавить имена пользователей в содержимое сообщения. Имя пользователя (значение тега Name) заменит объект Liquid в сообщении, которое увидит пользователь.

Hi {{Name}}! We're glad you're back!

tags (теги) создают логику и управляют потоком для шаблонов. Разделители в виде фигурных скобок и процентов {% и %} и текст, который они окружают, не создают видимого вывода при рендеринге шаблона. Это позволяет вам назначать переменные и создавать условия или циклы, не показывая пользователю никакой логики Liquid.

Например, используя тег if, вы можете изменять язык сообщения в зависимости от того, какой язык установлен на устройстве пользователя:

{% if Language == 'fr' %}
Salut!
{% else %}
Hello!
{% endif %}

Операторы тегов

Anchor link to
ОператорОписание
==равно
!=не равно
>больше чем
<меньше чем
>=больше или равно
<=меньше или равно
orлогическое или
andлогическое и
containsпроверяет наличие подстроки в строке или массиве строк

Фильтры

Anchor link to

filters (фильтры) изменяют вывод объекта или переменной Liquid. Они используются в двойных фигурных скобках {{ }} и при присваивании переменных и разделяются символом вертикальной черты |. К одному выводу можно применить несколько фильтров, и они применяются слева направо.

{{ Name | capitalize | prepend:"Hello " }}

Использование шаблонов Liquid в сообщениях, отправляемых через API

Anchor link to

Используйте синтаксис Liquid в ваших запросах createMessage для реализации шаблонов Liquid. Шаблоны доступны для параметра «content» запроса createMessage, а также для любого другого параметра, поддерживающего динамический контент, в частности, для специфичных для платформы параметров «title», «subtitle» и «image».

Используя шаблоны контента, вы можете либо указать данные в своих API-запросах (передавая параметр «template_bindings»), либо получить данные из значений тегов, хранящихся на устройствах пользователей (не используя параметр «template_bindings»). Таким образом, вы можете создавать push-кампании на основе пользователей, содержащие чрезвычайно релевантный контент.

Чтобы определить логику шаблона с использованием тегов с пробелами в их именах, используйте следующий метод:

Пример

{% capture my_tag %}{{My Tag}}{% endcapture %}
{% if my_tag == 'value' %}
Контент для отправки в этом случае
{% else %}
Контент для отправки в противном случае
{% endif %}

Примеры использования шаблонов Liquid

Anchor link to

Здесь вы найдете несколько примеров использования шаблонов Liquid.

Многоязычные push-уведомления

Anchor link to

Шаблоны Liquid позволяют точно указать, на каком языке пользователи должны получать ваши push-уведомления. Посмотрите на простой пример API-запроса и полученного сообщения в зависимости от используемых в запросе привязок шаблона.

{% if Language == 'es' %}
¡Hola!
{% else %}
Hello!
{% endif %}

Предложение обновить подписку

Anchor link to

Поощряйте ваших клиентов обновлять подписку в зависимости от их текущего плана.

{% if Subscription == 'Basic' %}
Upgrade to Silver for getting more product features and 24/7 support.
{% elsif Subscription == 'Silver' %}
Upgrade to Gold for priority support and advanced features.
{% else %}
Please contact your manager to renew your subscription.
{% endif %}

Теги типа List

Anchor link to

Шаблоны контента очень полезны для обработки тегов типа List.

Размер переменной

Anchor link to

Один из возможных вариантов использования — доставка разного контента в зависимости от количества значений, содержащихся в теге. Например, вы можете предоставлять разные скидки клиентам с разным поведением. Допустим, у клиента есть несколько товаров в списке желаний — поощряйте его к покупке с наиболее подходящей скидкой в зависимости от того, сколько товаров он собирается купить!

{% if WishList.size >= 3 %}
Get 20% off your next purchase!
{% elsif WishList.size == 2 %}
Get a 10% discount on your next purchase!
{% else %}
Hey, take a look at new outwears!
{% endif %}

Переменная содержит

Anchor link to

Еще один случай, который вам может понадобиться, — это работа со значениями тегов типа List и доставка наиболее релевантного контента в зависимости от того, какие значения содержит тег.

{% if WishList contains 'Skinny Low Ankle Jeans' %}
Get 20% off products in your wishlist!
{% else %}
Hey, take a look at the brand new Skinny Low Ankle Jeans!
{% endif %}

Множественное число

Anchor link to

Используя шаблоны контента, вы можете настраивать содержимое сообщения в соответствии с поведением пользователей. Например, вы можете изменять текст сообщения, чтобы он содержал слова во множественном числе, если тег типа List содержит более одного значения.

Get 20% off item
{% if WishList.size > 1 %}
s in your WishList!
{% else %}
in your Wishlist!
{% endif %}

Часовой пояс

Anchor link to

Шаблон для часовых поясов преобразует дату и время в соответствии с указанным часовым поясом.

{{ MyDate | timezone: MyTimezone | date: \"%Y-%m-%d %H:%M\" }}

Связанный контент

Anchor link to

Связанный контент — это функция в шаблонах Liquid, которая позволяет динамически извлекать и использовать данные из внешнего источника, например, веб-сервиса, непосредственно в ваших email-сообщениях или push-уведомлениях. Эта функция обеспечивает персонализацию в реальном времени, извлекая JSON-данные по указанному URL и сохраняя их в переменную, которую можно использовать в вашем контенте.

Ключевые сценарии использования

Anchor link to
  • Рекомендации продуктов: Отображение персонализированных списков продуктов, адаптированных для каждого пользователя.

  • Промокоды: Вставка уникальных промокодов, сгенерированных бэкенд-сервисом.

Предварительные требования

Anchor link to
  • Для использования связанного контента у вас должен быть собственный бэкенд-сервис, который генерирует и предоставляет необходимые данные (например, промокоды, рекомендации продуктов) на основе User ID, HWID или пользовательских тегов. Pushwoosh затем извлекает эти данные перед отправкой сообщения.

Пошаговое руководство по внедрению

Anchor link to

Шаг 1. Настройте бэкенд-сервис

Anchor link to

Бэкенд-сервис должен:

  • Принимать запрос, содержащий параметры, специфичные для пользователя (например, userId). Связанный контент поддерживает UserID, HWID или любые пользовательские теги, которые вы настроили в своем проекте.
  • Возвращать JSON-ответ с необходимыми данными. Этот контент затем можно динамически вставлять в сообщения.

Шаг 2. Создайте пресет со связанным контентом в Pushwoosh

Anchor link to
  1. В редакторе push-уведомлений или редакторе email-сообщений вставьте синтаксис связанного контента в поле сообщения.

Пример

{% connected_content http://your-backend-url.com?userId={{ ${userid} }} :save result %}

Разбор синтаксиса

connected_contentИзвлекает JSON-данные с указанного URL бэкенда.
http://your-backend-url.comЭндпоинт бэкенда, который возвращает необходимые данные в формате JSON.
userId={{ ${userid} }}Динамический параметр запроса, который передает ID пользователя на бэкенд.
:save resultСохраняет полученный JSON-ответ в переменной result для использования в шаблонах Liquid

Вставка синтаксиса связанного контента

Аутентификация (необязательно)

Если ваш бэкенд-сервис требует аутентификации, вы можете включить API-ключ или токен в запрос связанного контента для обеспечения безопасного доступа.

{% connected_content http://your-backend-url.com?userId={{ ${userid} }}&auth=YOUR_API_KEY :save result %}

Использование тегов в связанном контенте

Чтобы включить пользовательские теги, вставьте их в качестве параметров запроса в запрос связанного контента ({{ tag_name }}).

{% connected_content http://your-backend-url.com?userId={{ ${userid} }}{{ Language }} :save result %}
  1. Далее добавьте текст сообщения, включающий полученные данные, например так:
Hey, {{userid}}, grab your personal promo code - {{result.code}}

Добавление текста сообщения с полученными данными

  1. После завершения работы с содержимым сообщения и настройки параметров пресета сохраните его для повторного использования в кампаниях.

Шаг 3. Отправьте сообщение, используя настроенный пресет

Anchor link to

Отправьте сообщение с этим пресетом, используя форму разового push-уведомления, форму email-сообщения или Customer Journey.