- 1 Minute to read
- Print
- DarkLight
Personalization with eCommerce Tables and Related Data
- 1 Minute to read
- Print
- DarkLight
General Information
You can personalize messages in Mapp Engage using eCommerce data. Depending on your setup and preferences, Mapp Engage can pull data from the Product Catalog or Related Data for email personalization. Below, you will find personalization functions and examples for both solutions.
Personalization with the Product Catalog
The Product Catalog allows you to personalize messages based on data saved in the eCommerce tables: Wishlist, Abandoned Cart, and Abandoned Browse, and in combination with eCommerce Triggers: Back to stock, Low stock, and Price drop.
Standard Personalization
Product
To use specific product data, use the ecx
function.
<%${ecx:productCatalog('{productSKU}','{attributeName}')}%>
Example:
<%${ecx:productCatalog('111-222-333','productTitle')}%>
Abandoned Cart
<%ForEach var='item' items="${user.abandonedCartProducts}" %>
AC name: <%${item['productName']}%> <br>
AC productSKU: <%${item['productSKU']}%> <br>
<%/ForEach%>
Abandoned Browse
<%ForEach var='item' items="${user.abandonedBrowseProducts}" %>
AB name: <%${item['productName']}%> <br>
AB productSKU: <%${item['productSKU']}%> <br>
<%/ForEach%>
Wishlist
<%ForEach var='item' items="${user.wishlistProducts}" %>
WL name: <%${item['productName']}%> <br>
WL productSKU: <%${item['productSKU']}%> <br>
<%/ForEach%>
Transactions
<%ForEach var='item' items="${user.transactionProducts}" %>
TR name: <%${item['productName']}%> <br>
TR productSKU: <%${item['productSKU']}%> <br>
<%/ForEach%>
FreeMarker Personalization
FreeMarker is a Java-based template engine for generating dynamic content and can also be used outside of Mapp Engage.
Channels supporting the FreeMarker personalization engine in Mapp Engage:
In-App,
Mobile Push
Web Push
AMP Email
Product
${productCatalog('{productSKU}','{attributeName}')}
Example:
${productCatalog('111-222-333','productTitle')}
Abandoned Cart
<#list user.abandonedCartProducts as item>
${item['productName']}
${item['productSKU']}
</#list>
Abandoned Browse
<#list user.abandonedBrowseProducts as item>
${item['productName']}
${item['productSKU']}
</#list>
Wishlist
<#list user.wishlistProducts as item>
${item['productName']}
${item['productSKU']}
</#list>
Transactions
<#list user.transactionProducts as item>
${item['productName']}
${item['productSKU']}
</#list>
Personalization with Related Data
Email personalization with Related Data combines product information from the Product Catalog with data stored in your related data tables, giving you more personalization options and flexibility.
Note that eCommerce triggers cannot be set up using Related Data. To do that, you must use the Product Catalog.
Standard personalization
Wishlist
<%ForEach var="test" items="${user.wishlistProductsRD['myrdlistwithproductdata']}" %>
WL productSKU: <%${test['productSKU']}%><br>
WL description: <%${test['description']}%><br>
WL price: <%${test['price']}%><br><br>
<%/ForEach%>
Abandoned Cart
<%ForEach var="test" items="${user.abandonedCartProductsRD['myrdlistwithproductdata']}" %>
AC productSKU: <%${test['productSKU']}%><br>
AC description: <%${test['description']}%><br>
AC price: <%${test['price']}%><br><br>
<%/ForEach%>
Abandoned Browse
<%ForEach var="test" items="${user.abandonedBrowseProductsRD['myrdlistwithproductdata']}" %>
AB productSKU: <%${test['productSKU']}%><br>
AB description: <%${test['description']}%><br>
AB price: <%${test['price']}%><br><br>
<%/ForEach%>
FreeMarker Personalization
FreeMarker is a Java-based template engine for generating dynamic content and can also be used outside of Mapp Engage.
Channels supporting the FreeMarker personalization engine in Mapp Engage:
In-App,
Mobile Push
Web Push
AMP Email
Wishlist
<#list user.wishlistProductsRD['myrdlistwithproductdata'] as key, values>
<#list values as item>
${item['productName']}
</#list>
</#list>
Abandoned Cart
<#list user.abandonedCartProductsRD['myrdlistwithproductdata'] as key, values>
<#list values as item>
${item['productName']}
</#list>
</#list>
Abandoned Browse
<#list user.abandonedBrowseProductsRD['myrdlistwithproductdata'] as key, values>
<#list values as item>
${item['productName']}
</#list>
</#list>