Before you start
Things you need to know:
You should be familiar with how to create a new SmartBlock.
Learn more in Create and edit a SmartBlock.
Use Recommendation SmartBlocks for:
Discovery: help visitors find products and items they are interested in.
Cross selling: help visitors find related or complementary products and items.
Up selling: guide visitors to make additional or higher value purchases.
Person history: show visitors products they have recently browsed, carted or bought, as a reminder or quick way to return.
Recommendation placement
When you create a Recommendation SmartBlock, the placement (website or email) you select determines which tactics and layouts are suggested.
Some tactics and layouts are not recommended, or won’t work, for email usage; for example, Similar Products to the product on the page isn’t suitable for bulk emails, and popover recommendation layouts only work on web.
Our layouts are built to be optimal for either web or email, so selecting the right placement for usage is important.
Recommendation tactics and data sources
When you create a Recommendation SmartBlock, there are tactic options for what you’re trying to achieve, such as showing Popular Products. The tactic you select pre-configures the data sources, along with adding some suggested default filters.
Data sources are the starting point for the list of products or items that the Recommendation SmartBlock might show. You can layer additional filters and sorting on top of these defaults.
The primary data source is the first one that is used, but you can set two fallback data sources to be used if the primary returns limited or no products.
The most used, and simplistic, data sources are included within the tactics available. However, the data sources can be changed after SmartBlock creation, through the Data tab, to less common or more complex data sources, if required.
Data sources
AI Recommendations
People like you buy
Recommends products that shoppers with similar behaviour went on to buy. This data source looks at products that the shopper has purchased, carted or browsed, depending on the data available, and compares with other shoppers who've purchased those products. It then uses a machine learning algorithm to recommend the most likely eventual purchases.People like you buy (not weighted by quantity)
As above, except products bought in bulk do not have more influence on the recommendations. For example, if a person purchases four packs of lightbulbs for some outdoor lights, the lightbulbs are treated as if one pack was purchased, allowing other products bought alongside the outdoor lights with a quantity of one to be treated equally.
Purchased Together
Recommends products that have often been bought with the product on the current page.Purchased together (not weighted by quantity)
As above, but avoids products which are bought in bulk from disproportionately influencing recommended products.
This should happen automatically but contact Support if you’re unsure. Site Brand (sbr
), Currency (curr
) and Language (lang
) should not be specified in filters for this data source to avoid product data-mismatches. For example, if a UK site-brand is merged into the SmartBlock, then a US site-brand filter might cause no products to display if there are no US versions of the returned products.
After viewing this, people buy
This tactic uses a machine learning algorithm to recommend the products that other shoppers who viewed the product on the current page most often went on to buy.After viewing this, people buy (not weighted by quantity)
As above, but avoids products which are bought in bulk from disproportionately influencing recommended products.
This should happen automatically but contact Support if you’re unsure. Site Brand (sbr
), Currency (curr
) and Language (lang
) should not be specified in filters for this data source to avoid product data-mismatches. For example, if a UK site-brand is merged into the SmartBlock, then a US site-brand filter might cause no products to display if there are no US versions of the returned products.
People like you browse
Recommends products which shoppers with similar behaviour went on to browse.
Purchased with products in current cart
Recommends products that are often purchased with the products already in the person's cart. If a shopper has not added anything to their cart, recommendations are based on the products in that person's last cart.
Purchased with products in last purchase
Recommends products often bought with the products the person last purchased, to enhance cross-selling opportunities.
Similar products
Recommends products which appear similar to other products based on the contents of defined product fields including name, description and tag values.
This data source can retrieve products that are similar to:The product on the current product details page.
The products in the shopper's last abandoned cart.
The products in the shopper's last abandoned browse.
The products in the shopper's last purchase.
The products in the shopper's current cart.
The products in the shopper's last custom signal.
The product fields used by this data source can be configured on the Artificial Intelligence Settings page.
You can also define a Product Similarity Score filter for this data source to ensure that only products exceeding the defined similarity threshold are displayed. This data source requires the product's Product ID (prid
), Site Brand (sbr
), Currency (curr
) and Language (lang
), where used, to be merged into the SmartBlock to allow the system to identify the correct product.
This should happen automatically but contact Support if you’re unsure. Site Brand (sbr
), Currency (curr
) and Language (lang
) should not be specified in filters for this data source to avoid product data-mismatches. For example, if a UK site-brand is merged into the SmartBlock, then a US site-brand filter might cause no products to display if there are no US versions of the returned products.
Crowd Sourced
Frequently Browsed/Carted/Purchased Products
Recommends trending products that shoppers are frequently browsing, carting or purchasing at the moment, depending on the data source selected.Frequently Carted/Purchased Products (Not weighted by quantity)
As above, but bulk-carted or bulk-purchased products are not given additional influence on the recommendations, ensuring that other products have an equal chance of being displayed.
Impulse Buys
Recommends products that shoppers frequently buy after viewing.
Least Browsed/Carted/Purchased Products
Recommends products that have been browsed by visitors the least. This data source can help with product discovery for those that have had little engagement, by allowing less popular products a chance to grow.
Products in this data source update frequently as products are browsed. Products must have been browsed at least once in the time period to be included in this data source.
Personalized
Frequently Browsed/Carted/Abandoned/Purchased
Recommends products that this individual shopper has recently browsed, carted, abandoned, or purchased depending on the selected data source.
Frequently in Custom Signals
Recommends products captured in the specified custom signal, for example, on a wishlist page.
Current Cart
Recommends products in this individual shopper's last captured cart.
Last Purchase
Recommends products in this individual shopper's last captured purchase.
Most Recent Abandoned Cart
Recommends products in this individual shopper's most recent abandoned cart.
Most Viewed
Recommends products that the individual shopper has recently viewed the most. This data source is useful for purchases which tend to require high consideration to convert.
Wishlist
Recommends products in this individual shopper's imported wishlist.
Data can be captured using the Person Import, which requires access to the person import. Alternatively, data can be capture from the wishlist page on your website. Contact your Account Manager to enable access to this.
Price Drop/Stock Change Products
Recommends products in the specified price drop or back-in-stock segment that contains this shopper.
This data source requires access to segment builder. Contact your Account Manager to enable this.
Imported List of Related Products
Related to Pre-Defined Product IDs
Recommends products that have been imported as related products to the currently viewed product.
This data source requires access to product import. Contact your Account Manager to enable this.
Related to Browsed/Carted/Purchased Products
Recommends products that have been imported as related products to the products that this individual shopper has browsed, carted or purchased.
This data source requires access to product import. Contact your Account Manager to enable this.
Products
New Products
Recommends products most recently captured to the product database.
If a product is removed from the site then re-added at a later date, it may be treated as a new product.
All Products
Recommends any product from the database.
Pre-defined Fixed Product IDs
Recommends specific products, defined using a Product ID filter.
You can also pass product IDs dynamically through the query string. You can include multiple products by separating them with ||
. You can specify the variant to show by appending the variant ID, separated by a ..
between the product ID and the variant ID.
Example
&prid=product1..variant1||product1..variant2||product2||product3..variant7
.
Recommendation filtering
After creating your SmartBlock, the Filtering tab allows you to refine the products being shown. For example, you might want to only show products within a certain category or price range.
Some filters might be added by default, depending on which tactic you chose during creation.
Available filters
Name | Description |
Best Tag Value (Category) | Shows products with the preferred tag value, within the tag group, for that shopper, based on their recent behavior (browsed, carted or purchased). |
Exclude Recent Activity | Excludes products that this person has purchased (or browsed or carted) recently. This is useful if your products tend to be one-off purchases, so you don’t want to show the shopper things they've bought recently. |
Exclude Recent Recommendations | Excludes products that have recently been shown to this user in another SmartBlock. This is useful for ensuring a person isn't shown the same ineffective product recommendation multiple times.
There may be a small delay of approximately 10 seconds between a product being viewed and it being excluded from future recommendations. |
Location | Shows products based on their location. Two options are available in this filter:
Requires product locations to be loaded and the Geotargeting module. Learn more in the section Product locations with geotargeting. |
Average Product Price | Shows products based on their price relative to the average price of products browsed, carted or purchased by this customer. For example, to show products whose current value is greater than the average value of products browsed by this customer. |
Price Affinity Predictor | Shows products within your customers predicted price band. Using AI, we can predict a price band that a customer is most likely to go on to buy at, giving the ability to show most relevant products. |
Price Change | Shows products that have had a price change or percentage price drop of a certain value over a selected period of time. For example, the product's price change is greater than £10 within the last 7 days. Percentage price drop requires access to segments. Learn more in Create a Product Change segment. |
Related Products | Shows products that do or do not have related products.
Requires access to the data import module. Contact Support to discuss. |
Similar Price | Shows products where the price is within a percentage range of the current product or products the customer has browsed during this session. |
Product Field | Shows products based on data fields collected against that Product.
Available fields:
|
By default, filters apply to both the primary and fallback data sources. Within each filter, you can choose to remove the filter from specific data sources. For example, removing the filter from fallback data sources means products are more likely to show.
Recommendation merchandising
Create Tag Blend
On the Merchandising tab you can create a Tag Blend that helps to display a mix of products in the Recommendation, by preventing particular tags from being disproportionately represented.
Whether you limit within a tag group or by tag values depends on how your tags are structured.
Within a Tag Group
Selecting Tag Group displays the following option:
Only allow [n] products for each unique value within Tag Group [tag group]
For example, you might want to make sure you expose a range of brands within a recommendation, so you can set a limit to show only ‘4’ products within the tag group ‘brand’, resulting in four products from each brand displayed.
By Tag Values
If you need more flexibility, or you don’t use tag groups, you can limit products by particular tag values.
Selecting Tag Values displays the following option:
Show min [n] and max [n] for each of the following tag values [list of ungrouped tags]
For example, you might want to display a mix of products across categories within a recommendation. In this case, you can set a limit to show a maximum of ‘4’, with a minimum of ‘1’ for each of the following tag values ‘hats’ ‘shoes’ ‘dresses’, resulting in 2 hats, 3 pairs of shoes and 4 dresses displayed.
Products that have been returned without a tag value are included in the recommendation.
To set different limits for different tag values, select the + icon.
Apply Tag Blend to SKU-Level Variants
If you have them, you can target product variants when creating a Tag Blend in a Recommendation. By default, it only finds products which have the selected tag in the base product. To apply a Tag Blend to product variants, select the Apply Tag Blend to SKU-Level Variants checkbox.
Product locations with geotargeting
Before you start
This feature requires the Geotargeting Module. If you want to enable this, contact your Account Manager.
The product's location can be combined with the person's location, to recommend products located at the store(s) closest to the person, or to show the closest store that the product is available in.
The location data needs to be included when pulling product data into the system through the script or an import.
To use the location filter, you need to have loaded up a location set.
Learn more in Use geotargeting.
Within the SmartBlock, you then configure the settings under the location tab to turn on geocode by IP, select the relevant location set and enable load full location details for each product.
If you would like to use this service, we advise contacting your Account Manager or the Support team.
Social proof messaging and ratings
Before you start
This feature requires the Social Proof Module. If you want to enable this, contact your Account Manager.
All the standard Recommendation templates have the option to include Social proof messaging and/or ratings.
Social proof messaging is based on the behavioural data that the system is collecting and can be used to create urgency or confidence messaging, encouraging the purchase of the product. For example, 10 purchased today or 30 people browsing now.
The time period for the data, the style and message are all configurable.
Ratings against a product require an integration with a supported review or ratings provider, or the data to be imported with the product. Ratings can be used to give confidence in purchasing a product, for example displaying the rating for the product, such as 4.5 stars out of 5, from 12 reviews.
You can also filter to only show highly rated products or products with X number of ratings, which are more likely to convert.
You can customize how the rating is shown in the settings of the SmartBlock.
Learn more in Social proof messaging.
SmartBlock links
All standard templates have the option to incorporate links in the SmartBlock. Depending on the attribution model you’ve chosen, the system’s attribution of revenue is often associated with a click on a SmartBlock.
You can configure where the links go and add any UTM tracking codes using the Links tab.
For Recommendations, we advise using {{ product.u }}
, which adds the URL of the product that is being shown to the image, product area and/or call to action button, depending on the template.
If UTM parameters are added to the Slot use code, often dynamically within the ESP, these are passed into the SmartBlock and onto the landing URL.
However, if UTM parameters are added to the link used in the email or external location after the link is clicked, which is the case for some ESPs, this can cause an error, or a redirect to the wrong destination because the link does not match the Slot use code the system processed. If you want to pass in the UTM parameters in this way, enable the option ESP adds GA tracking parameters after link click.
If UTM parameters are configured within the SmartBlock, the corresponding fields in the URL are replaced within the resulting landing URL.
Other parameters on the incoming URL are automatically removed, unless they are on the whitelist, in which case they are passed onto the final URL. The parameters currently on the whitelist are: utm_term
, utm_content
, mc_eid
, dm_i
, cc_id
, sfmc_id
, trackingid
, _hsenc
, _hsmi
, ibin
, Braze_ID
, scsrc
, sclid
, scuid
, scllid
, sccustomer
.
If you require another parameter to be added to the whitelist, contact us.
Layouts for Recommendation SmartBlocks
Layouts are used to define how you want a SmartBlock to look and behave.
There are some default system layouts that you can choose from, such as Multi-Column, Detailed Product Recommendations and Popover with Products.
After you save a SmartBlock, the layout you’ve selected offers a range of settings on the Design tab that allow you to customize the SmartBlock. In addition, the layout might give other tabs with specific settings for that layout, such as a Behavior tab to configure popover behavior.
If you’re not able to achieve what you want with the available settings, you can edit the layout directly to achieve further customization.
Learn more in Use the SmartBlock layout editor.
Contact Support for further assistance.
Below shows some coding hints and tips for when dealing with a Recommendation SmartBlock.
How the system shows a Recommendation SmartBlock
It pre-processes your layout, extracting the HTML for each product, for example, showing the box, product name and price, and replacing each extracted chunk by an image tag.
The main part of the layout is processed just like a normal product layout.
The extracted HTML is rendered as images, for the image tags, when the email containing the main layout is opened.
Click-throughs are redirected, so when a visitor clicks a product they can go to the product page.
Open time recommendations in emails
We advise that you always use a dynamic slot for Recommendation SmartBlocks, especially if you're using a fast-changing data source such as Trending Browsed or New Products.
If you don't use a dynamic Slot, the visitor email isn't passed through to the SmartBlock and we have no way of telling requests from different people apart.
When the order of the items returned from the recommendation changes, the order of the link redirects is updated accordingly. So, in a fast-changing data source, links may not redirect to the product shown in the image if the click happens a long time after the image is generated.
Example
Person A opens their email and gets the product images returned in order A B C D. If they clicked any of them at this point, they would be sent to the correct place.
If, a little while later, Person B opens their email, the data source (for example, Trending Browsed) has been regenerated, and the products are shown to Person B in the order C A D B. If person B clicked on any of the links, they would be sent to the right place.
If Person A looked at their email, they still see the images in order A B C D as the images have not been reloaded, but if they clicked any of the links, they would be sent to the wrong place. For example, if they clicked on the first image, showing A, they would be taken to product C.
HTML requirements for personalizing emails at open time
Ensure that any product layout HTML has:
A loop which repeats over all the products to be shown.
For each product in the loop, a single HTML element which acts as a container for everything which is displayed for that product. This gets replaced by an image tag when the HTML is processed. The element should have:
a class of
imagecontainer
: this marks the HTML element for formatting as an image and adds link tracking to the link it contains.an attribute
data-imageindex
: this is used on click-through links to identify individual products within the feed.
Examples of suitable tags to contain these HTML elements are <td>
or <div>
tags. Do not put them directly in <table>
, <tr>
or <th>
tags, as that would generate invalid HTML.
Example layout for a product recommendation
{# Email Personalization - 800px wide Horizontal Layout with Real-time Images #}
{% set ga_campaign_code='tms-cart-1' %}
{% if products|length > 0 %}
<table style="border-collapse: collapse; width: 800px;" cellpadding="10">
<tr>
{% for product in products %}
<td style="border: 1px solid #ccc" class="imagecontainer" data-imageindex="{{ loop.index0 }}">
<a
href="{{ product.u | set_ga_tracking( utm_campaign=ga_campaign_code, utm_medium="email", utm_source="tms" ) }}"
style="text-decoration: none; color:#444;"
>
<table>
<tr>
<td
valign="middle"
style="text-align: center; font-weight: bold; font-family: sans-serif; padding-bottom:0; min-width: 200px;"
>
{{ product.n }}
</td>
</tr>
<tr>
<td
valign="middle"
style="text-align: center; font-weight: bold; font-family: sans-serif; padding-top:0;min-width: 200px;"
>
{% set img_url = None %}
{% if product.img_tn %}
{% set img_url = product.img_tn %}
{% elif product.img %}
{% set img_url = product.img %}
{% endif %}
<img
src="{{ img_url }}"
border="0"
style="max-width: 175px; max-height: 100px; margin-top: 10px;"
/>
</td>
</tr>
<tr>
<td
valign="middle"
style="text-align: center; font-weight: bold; font-family: sans-serif; padding-top:0;min-width: 200px;"
>
{{ product.up }}
</td>
</tr>
</table>
</a>
</td>
{% endfor %}
</tr>
</table>
{% endif %}
The easiest way to create a suitable template is to start from one of the provided templates, as they contain the correct markup.
Related products - advanced control
Create a Complete the Set or Shop the Look Recommendation SmartBlock
Before you start
This feature requires the Data Import Module. If you want to enable this, contact your Account Manager.
Learn more in Import product data.
You can take full control of which product recommendations are shown for Shop the Look or Complete the Set by uploading your own product logic to the system. Doing this allows you to create recommendations that are related to a product on the page, giving you complete control over what's displayed.
Import your related products to the system
Your in-house merchandisers can upload their curated lists of product combinations to suggest the perfect look or bundle to go with a product being browsed or carted, to help increase the average order value.
Once your related products are imported into the system, you can use the Related to data sources when creating a Recommendation SmartBlock.
Alternatively, if you’re not able to import a curated list of related products, you can:
Pick one of the AI generated Similar Products data sources and apply filters to curate complementary products to the product that the visitor is browsing, for example, matching or excluding certain tags based on the product.
Add a Tag Blend configuration on the Merchandising tab of a recommendation to show a mix of categories, for example, shoes, trousers, accessories etc. in the same recommendation SmartBlock, while filters can exclude the category of the product the shopper is already viewing.
Depending on your setup, you could also expose a collection or set ID on the website page or in the product import and use it to filter by, i.e. a
collection_range
tag.
For more information or to have your script updated to capture this, contact Support.