Улучшенная персонализация писем и триггеры для интернет-магазинов
Товарные рекомендации нужны для персонализации рассылки и увеличению CTR.
Они вычисляются алгоритмом на основе действий и предпочтений клиента. С их помощью также настраиваются триггеры для отправки писем о брошенной корзине, появлении товаров в наличии и других.
Подробнее о товарных рекомендациях ›
Чтобы рекомендации на вашем сайте работали корректно, необходимо провести настройку в несколько этапов.
Шаг 0. Активируйте возможность управлять рекомендациями в разделе «Настраиваемые фичи» в блоке «Триггеры»
После вам станет доступен раздел управления триггерами для интернет-магазинов и товарными рекомендациями.
Список → Настройки списка → Магазинам → Триггеры для интернет-магазинов.
Шаг 1. Настройка кода
В этом разделе указаны все коды, которые нужно будет установить на сайт:
Добавьте в код своего сайта js-коды для рекомендаций. Рядом с каждым пунктом указано, на какую страницу или кнопку их установить. Чтобы посмотреть код для вставки — нажмите на кнопку «Показать»:
Ваш личный код интеграции находится в разделе «Магазинам»:
Его нужно подставить в основной код рекомендаций:
Статус рядом с каждым кодом показывает, когда было обновление по этой рекомендации. Другими словами, когда система заметила последние действие пользователя по этому скрипту (просмотр карточки товара, добавление в корзину и другие).
Шаг 2. Настройка фида и периода обновления
После в том же разделе под таблицей нужно указать ссылку на интернет магазин и ссылку на фид с товарами.
Фид нужен, чтобы мы смогли подставлять товары в вёрстку письма.
Обычно у интернет-магазинов уже есть готовый фид, если они работают на одной из CMS-систем («1С Битрикс», Insales и других).
А период обновления — это параметр, который «говорит» Mailganer, как часто нужно «заглядывать» в фид и обновлять информацию о товарах (изменение цены, характеристик, описания и наличия).
Вы также можете добавить имейл для отправки себе тестов писем. Это нужно, чтобы проверить, корректно ли настроены рекомендации, не слетает ли вёрстка и не вылезают ли другие проблемы.
Шаг 3. Проверка созданных триггеров
После всех настроек в разделе «Рекомедации» появляется готовый список триггеров, каждый из которых можно редактировать и посмотреть историю отправок:
При создании письма вы можете выбрать один из готовых шаблонов товарных рассылок или загрузить собственный, чтобы его можно было быстро отредактировать.
Все триггеры ранжированы по степени вовлеченности посетителя и предполагаемой конверсии:
1 — брошенная корзина
2 — брошенный поиск
3 — брошенный просмотр
4 — брошенная категория
Логика такая: «тёплые» клиенты, которые уже добавили что-то в корзину, с высокой вероятность закончат оформление заказа. Значит, им и нужно отправлять напоминание в первую очередь.
Самые «холодные» — те, кто даже не открыл карточку товара, а только посмотрел категорию.
Если есть сразу несколько событий для отправки триггерного письма, то отправится только то, что «важнее» (стоит выше по рангу).
Для корректной работы товарных рекомендаций необходимо учитывать переменные, «привязанные к товарам» и действия с ними. Для этого используются особые переменные и массивы товаров.
Есть два типа массива товаров, которые можно использовать в письмах с товарными рекомендациями:
s-products — фактические товары, с которыми взаимодействовал клиент = причина рекомендаций.
Например, то, что было добавлено в корзину («Брошенная корзина») или товары, который человек смотрел, но потом ушёл с сайта («Брошенный просмотр»).
r-products — товары, которые рассчитывает система для рекомендаций на основе s-products = рекомендуемые товары.
Чтобы вывести товары в вёрстке, нужен оператор цикла. Внутри цикла подставляются переменные о товаре. Ниже приводим синтаксис на примере массива с исходными товарами {% for product in s_products %}...{% endfor %}.
<html>
<body>
...
<h2>Товары в корзине</h2>
{% for product in s_products %} //начало цикла, в каждой итерации берётся следующий элемент из массива s_products
<div>
<p><a href="{{ product.url }}"><img src="{{ product.image_url }}"/></a></p>
<p>{{ product.name }}, {{ product.amount }} шт., {{ product.price }} руб.</p>
</div>
{% endfor %} //конец цикла
<h2>Рекомендуем посмотреть</h2>
{% for product in r_products %} //начало цикла, в каждой итерации берётся следующий элемент из массива r_products
<div>
<p><a href="{{ product.url }}"><img src="{{ product.image_url }}"/></a></p>
<p>{{ product.name }}, {{ product.price }} руб.</p>
</div>
{% endfor %} //конец цикла
...
</body>
</html> У товара есть 2 цены: до скидки и после. Предположим, что не у всех товаров есть цена до скидки (другими словами не на все товары есть скидка). Тогда в вёрстке нужно использовать проверку {% if product.oldprice %}
{% for product in r_products %}
...
<p>
Цена:
{% if product.oldprice %}<strike>{{ product.oldprice }} руб.</strike>{% endif %}
{{ product.price }} руб.
</p>
...
{% endfor %} Используемая ниже конструкция {% if forloop.first %} будет срабатывать для первого элемента в массиве, а конструкция {% if forloop.last %} — для последнего. Это может быть полезно, когда все товары кроме последнего разделены между собой горизонтальной полосой.
{% for product in r_products %}
<div>...</div>
{% if not forloop.last %}<hr/>{% endif %}
{% endfor %} Переменная {{ forloop.counter }} выводит текущий счётчик цикла. Например, его можно использовать для отображения в письме количества товаров в корзине.
{% for product in s_products %}
<div>...</div>
{% if forloop.last %}В корзине {{ forloop.counter }} товаров{% endif %}
{% endfor %} Другой пример, если требуется в строго ограничить количество отображаемых товаров до 6. При этом по 3 товар в каждом ряду.
<table>
<tr>
{% for product in r_products %}
{% if forloop.counter <= 3 %}
<td>...</td>
{% endif %}
{% endfor %}
</tr>
<tr>
{% for product in r_products %}
{% if forloop.counter > 3 and forloop.counter <= 6 %}
<td>...</td>
{% endif %}
{% endfor %}
<tr>
</table> Вот так выглядел бы тот же самый пример, только оптимизированный с точки зрения использования количества циклов.
<table>
<tr>
{% for product in r_products %}
{% if forloop.counter <= 3 %}
<td>...</td>
{% endif %}
{% if forloop.counter == 3 %}
</tr>
<tr>
{% endif %}
{% if forloop.counter > 3 and forloop.counter <= 6 %}
<td>...</td>
{% endif %}
{% endfor %}
<tr>
</table> Даже когда фид товаров успешно настроен, остается риск пропустить действие клиента с товаром. Иногда Adblock и другие программы блокируют на сайте сторонние скрипты, на которой работают триггеры.
Логично, что если клиент добавил товар в корзину и совершил заказ, то ему не нужно отправлять триггер «Брошенная корзина». Но если скрипты были заблокированы, то код не сработал, фид не обновился и Mailganer не увидел информацию о том, что человек уже купил товары.
В этом случае человек, уже оформивший заказ, получает письмо с «Брошенной корзиной», не понимает, что произошло и перестает доверять интернет-магазину.
Важно понимать, что это не проблема на стороне Mailganer, а ограничение технологии которое иногда блокируется браузерами. Такое бывает. Если мы не отловим брошенный просмотр — это не страшно, но вот ситуация с корзиной будет неприятной.
Поэтому мы рекомендуем передавать данные через API.
Наш API для сбора данных по заказам передаёт всю информацию о покупках в Mailganer напрямую. Так мы точно понимаем, кому из пользователей не нужно отправлять триггеры с напоминаниями.
Товарные рекомендации — это платный модуль, который покупается в дополнение к основному тарифу Mailganer. Стоимость зависит от трафика на сайте.
Помогает перевести клиентские запросы на язык, понятный команде разработки. Отслеживает баги и тестирует новые фичи. Собирает идеи по улучшению продукта — и следит, чтобы они доехали до прода.
Стать автором блога Mailganer ›
Технический специалист поддержки Mailganer