Skip to main content
Recommendation SmartBlocks

Recommendation SmartBlocks are used to display products that the visitor might be interested in.

Updated over a month ago

Before you start

Things you need to know:

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:

  • Show products that are at locations closest to the person within a location set.

  • Show products where the location of that product is one of/is not one of a select set of locations.

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:

  • Image/Thumbnail
    Shows products with, or without, images, ensuring your recommendations are visually consistent.

  • Name
    Shows products based on its name, including:

    • Contains: Matches any products that contain the words or phrases in the filter.

    • Does Not Contain: Excludes any products that contain the text in the filter.

    • Text Match: Special matching mode that does a full text search on the product names. Only matches against the name of the main product (not SKU-level variants):

      • Enter a single word to match anywhere: boys matches Boys jumper but not Blue Jumper.

      • Enter more words to match any of the terms, in any order: jumper boys matches Jumper (Blue) Boys and also Girls Jumper.

      • Enclose multiple terms in quotes to ensure all terms are matched in any order "jumper" "boys" matches Jumper (Blue) Boys but not Girls Jumper.

      • Enclose phrases in quotes to ensure the whole phrase is matched: "Boys Jumper" does not match Jumper (Blue) Boys but matches Boys Jumper - Blue

      • Put a - before terms to exclude them: Jumper -boys does not match Jumper (Blue) Boys but matches Girls Jumper.
        You can’t use only a negated term like -boys, as no results are returned for this. Use the does not contain operator instead.

  • Price
    Shows products in a particular price range. Useful for targeting buyer personas like bargain hunters or high value shoppers.

  • Product ID
    Shows only products which are on the selected list. Useful for very tightly focused special promotions on items.

  • Promotion
    Shows based on promotion flags.
    These can be uploaded using the product import feature. Learn more in Import product data.

  • Rating and Review Count
    Shows products with a specified rating or review count.
    Requires Social Proof Module.

  • Site Brand, Currency and Language
    Shows products based on which of these parameters is specified or merged in.
    These are usually applied by default for you. Contact Support for assistance.

  • Stock Level
    Shows products based on stock level. Useful to prevent promotion of products where stock is low, or promote where you have a lot of stock.

  • Tag Value
    Shows products with particular tag values (categories). Useful for targeting buyers or browsers of those tags, or to complement a promotional mailing or product page.
    Learn more in Advanced customer tagging.

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.

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

  1. 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.

  2. The main part of the layout is processed just like a normal product layout.

  3. The extracted HTML is rendered as images, for the image tags, when the email containing the main layout is opened.

  4. 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

  1. 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.

  2. 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.

  3. 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.

Did this answer your question?