Параметры для механики «Брошенная категория»
После просмотра категорий клиенту можно отправить:
- продукты из просмотренных категорий;
- список просмотренных категорий;
- продуктовые рекомендации к ним.
Рассмотрим примеры задач и решения для каждой из них.
Вывести продукты из просмотренных категорий
Задача
В сценарии по брошенной сессии клиентам отправляются продукты из просмотренных категорий. Нужно составить верстку рассылки, чтобы с помощью параметров шаблонизатора выводить клиентам подходящие продукты.
Как собрать параметр
Чтобы обратиться в письме к данным из сессии используйте соответствующий базовый параметр:
Для просмотров категорий в сессии добавьте параметр ProductCategoryViews
и отберите уникальные категории функцией GetUnique()
:
Параметр Products
отберет продукты из просмотренных категорий:
Дальше выберите параметр или функцию в зависимости от того, какие продукты из просмотренных категорий нужно отобрать:
FilterBySegment(...)
— из определенного сегмента.
Можно дополнительно отобрать случайные, уникальные для каждой группы и доступные в регионе получателя продукты.AvailableForRecipient
— доступные в регионе получателя.
Можно дополнительно отобрать случайные и уникальные для каждой группы продукты.SinglePerGroup
— уникальные для каждой группы.
Можно дополнительно отобрать случайные продукты.Random
— в случайном порядке.Take(N)
— без фильтрации и сортировки.
Коллекция для вывода продуктов из просмотренных в сессии категорий, входящих в сегмент «Известные в наличии»:
Для обращения к каждому элементу (категории) собранной коллекции используйте цикл for...end for.
Пример верстки
Выведем в рассылке URL, картинку, название, описание и цену продукта:
@{for prod in Session.ProductCategoryViews.GetUnique(4).Products.FilterBySegment("IzvestnyeVNalichii").Take(4)}
<a href="${prod.Url}"><img src="${prod.PictureUrl}"></a>
${prod.Name}
${truncate(prod.Description, 50)}
${FormatDecimal(prod.Price, "N0")} ₽
<a href="${prod.Url}">Купить</a>
@{end for}
То же в виде товарной сетки:
@{for row in tableRows(Session.ProductCategoryViews.GetUnique(4).Products.FilterBySegment("IzvestnyeVNalichii").Take(4), 2)}
@{for cell in row.Cells}
@{if cell.value != null}
<a href="${cell.value.Url}"><img src="${cell.value.PictureUrl}"></a>
${cell.value.Name}
${truncate(cell.value.Description, 50)}
${FormatDecimal(cell.value.Price, "N0")} ₽
<a href="${cell.value.Url}">Купить</a>
@{end if}
@{end for}
@{end for}
Пользователь получит в письме:
Вывести просмотренные категории
Задача
В сценарии по брошенной сессии клиентам отправляется список просмотренных категорий. Нужно составить верстку рассылки, чтобы с помощью параметров шаблонизатора выводить клиентам подходящие категории.
Как собрать параметр
Чтобы обратиться в письме к данным из сессии используйте соответствующий базовый параметр:
Для просмотров категорий в сессии добавьте параметр ProductCategoryViews
и отберите уникальные категории функцией GetUnique()
:
Параметр Categories
отберет коллекцию с просмотренными категориями:
Для обращения к каждому элементу (категории) собранной коллекции используйте цикл for...end for.
Параметры для вывода данных по каждой категории:
IDs
— идентификатор категории во внешней системе.Name
— название категории.Recommendations
— рекомендации к категории. Подробнее.
Использовать дополнительно функцию Take
не нужно, так как количество категорий уже задано в функции GetUnique()
.
Пример верстки
Выведем в рассылке названия просмотренных категорий:
Вас заинтересовали категории:
@{for cat in Session.ProductCategoryViews.GetUnique(10).Categories}
${cat.Name}
@{end for}
Результат:
Вас заинтересовали категории: Аксессуары Верхняя одежда
Чтобы вывести их через запятую:
Вас заинтересовали категории:
@{set all = ""}
@{for cat in Session.ProductCategoryViews.GetUnique(10).Categories}
@{if all != ""}
@{set all = all & ", "}
@{end if}
@{set all = all & cat.Name}
@{end for}
${all}
Результат:
Вас заинтересовали категории: Аксессуары, Верхняя одежда
Вывести рекомендации к просмотренным категориям
Задача
В сценарии по брошенной сессии клиентам отправляются рекомендации с популярными товарами из просмотренных категорий. Нужно составить верстку рассылки, чтобы с помощью параметров шаблонизатора выводить клиентам подходящие продукты.
Как собрать параметр
Чтобы обратиться в письме к данным из сессии используйте соответствующий базовый параметр:
Для просмотров категорий в сессии добавьте параметр ProductCategoryViews
и отберите уникальные категории функцией GetUnique()
:
Параметр Categories
отберет коллекцию с просмотренными в сессии категориями:
Для обращения к каждому элементу (категории) собранной коллекции используйте цикл for...end for.
Использовать дополнительно функцию Take
не нужно, так как количество категорий уже задано в функции GetUnique()
.
Для получения коллекции с продуктовыми рекомендациями к категориям добавьте параметр Recommendations
и выберите подходящие рекомендации (доступен алгоритм типа «Популярные продукты по категориям»). Можно ограничить количество продуктов функцией Take
:
Для обращения к каждому элементу (рекомендованному продукту) собранной коллекции используйте цикл for...end for.
То есть для вывода рекомендаций нужно использовать два цикла for...end for
.
Пример верстки
Выведем в рассылке URL, картинку, название и цену рекомендаций:
Популярные товары в категории @{for item in Session.ProductCategoryViews.GetUnique(1).Categories}${item.Name}
@{for reco in item.Recommendations.RecoCategory.Take(4)}
<a href="${reco.Url}"><img src="${reco.PictureUrl}"></a>
${reco.Name}
${FormatDecimal(reco.Price, "N0")} ₽
<a href="${reco.Url}">Купить</a>
@{end for}
@{end for}
То же в виде товарной сетки:
Популярные товары в категории
@{for item in Session.ProductCategoryViews.GetUnique(1).Categories}${item.Name}
@{for row in tableRows(item.Recommendations.RecoCategory.Take(4), 2)}
@{for reco in row.Cells}
@{if reco.value != null}
<a href="${reco.Value.Url}"><img src="${reco.Value.PictureUrl}"></a>
${reco.Value.Name}
${FormatDecimal(reco.Value.Price, "N0")} ₽
<a href="${reco.Value.Url}">Купить</a>
@{end if}
@{end for}
@{end for}
@{end for}
Пользователь получит в письме: