Recommendations

Recommendations help you deliver personalised experiences by suggesting the most relevant items or content to each user based on their behavior, preferences, and interactions. By analysing user activity such as views, purchases, and engagement patterns, recommendations enable you to show the right message or product at the right time, improving conversion, engagement, and overall customer experience.

Recommendations templates

WebEngage brings a refreshed, and more intuitive experience to help you choose the right product recommendation templates with ease. This update is aimed at making it simpler for marketers and product teams to implement powerful recommendation strategies with ease.

The new experience introduces two key enhancements:

Infographics - Driven Callouts

For popular recommendation strategies such as:

  • Top Items - e.g. best-selling or most-viewed products
  • Relevant Items - products frequently bought or viewed together
  • Personalized - based on each user's unique behavior
  • Collections - create your own criteria for filtering catalogs

You’ll now find predefined templates supported by visual callouts and infographics. These templates highlight how each strategy works and what kind of results you can expect. This helps you quickly understand which template best fits your campaign goal and whether it's increasing conversions, improving product discovery, or boosting user engagement.

Create recommendation strategies

2880

Follow these steps to create a recommendation strategy:

  1. A default name is auto-generated, but you can rename it to something more meaningful for easy identification.
  2. Choose from the catalogs you’ve previously uploaded. Make sure the catalog you select has at least one event mapped to it.
  3. Select the event on which you want to run your recommendation strategy (example: Added To Cart). The catalog you select must have at least one event mapped to it.
  4. Select Look Back Period i.e. Define how many days of user data the recommendation engine should analyze to generate relevant product suggestions.
  5. Select Backup Strategies If you want to recommend products based on general trends (e.g., top selling, most viewed), choose Backup Strategies as your strategy type.
  6. If you're creating recommendations for Collections, specify the selection criteria to ensure the right group of products is shown.
🚧

Note

  • We automatically refresh the data in our recommendation engine at a periodic interval so that your Personalized as well as Static recommendation strategies are always up to date.
  • Our recommendation engine would generate 5 items as an output in most cases. If you would like to tweak this configuration, please reach out to [email protected].
  • You can create up to 10 recommendation strategies per project by default. Contact your Customer Success Manager or [email protected] if you want to increase this limit for your project.
  • The Exclude Event dropdown will only appear as an option if you choose the Personalised recommendation strategy.

Create-Your-Own Strategy

If your use case doesn’t match a predefined template, you can now build your custom recommendation logic from scratch.

Using your own events and conditions (such as clicks, purchases, or category visits), you can set up a completely customized flow tailored to your business needs. This option gives advanced users the flexibility to design highly specific recommendation experiences that align with unique goals or user journeys.

Together, these updates are designed to reduce setup time, provide more clarity during template selection, and give you both ready-made and flexible options to craft impactful recommendation campaigns.

Preview Recommendations

We’ve added powerful new features to enhance how you configure and preview product recommendation blocks in WebEngage.

  • Card View: Get a real-time visual simulation of how the recommended products would appear to your end users.
  • Rearrange Columns: Use drag-and-drop functionality to easily arrange and customize layout of your preview (card and table view) as needed.
  • Image Mapping: Within the Card View, select a specific column from your product catalog to be used as the image link in the recommendation card. This gives you more control over how visuals are displayed, ensuring consistency with your product feed.
  • Persistent Configurations: Once you set up a view, it’s automatically saved for that recommendation. This means you won’t have to reconfigure layouts each time you return to preview the same recommendation.
  • Expandable Cards with Metadata: Each recommendation card is now expandable to reveal additional context, including:
    • Strategy type (e.g. Personalized, Relevant, etc.)
    • Recommendation source (Primary or Fallback)
    • Reference ID for tracking and debugging

Custom Recommendations

You now have the flexibility to create and deliver your own recommendations using an API.

Manual or Custom Recommendation refers to a setup where the recommendations are fully provided by the client, based on a file upload (currently supported only in CSV format). These recommendations are not influenced or generated by WebEngage’s AI systems. Clients are responsible for maintaining the accuracy, formatting, and quality of the data as per the required specifications.

Please note: "Manual" and "Custom" recommendations are two terms used interchangeably for this process. You can find detailed instructions for configuring Custom Recommendations in our Technical Documentation.

Fallback Recommendations

Fallback Recommendations ensure your users always see relevant suggestions, even if your main recommendation doesn’t have enough items. This feature allows you to set up a primary recommendation strategy with up to three fallback options, so if the main one falls short, the system automatically uses the backups in the order you set.

Fallback recommendations are regular recommendations you've already set up, which can now serve as a backup when your primary recommendation fails to produce results. This means that if a primary recommendation can’t provide any suggestions, the fallback recommendation steps in, ensuring your users always see relevant options.

How to set up Fallback Recommendations?

Once you’ve set up all the above options i.e. catalog, type, recommendation, strategy etc. your final option will be to set up your ‘Backup Strategies’.

Note: You can add up to 3 backup recommendations as per priority in this dropdown.

Recommendations will pull items from the primary first, then fall back to each backup in your specified order.

🚧

Note

As Collections are created with specified criteria by users, there is no option to configure fallback strategies.

Avoiding Duplicates

Our system automatically removes duplicate items across recommendations to keep the list unique and relevant.

Deleting a Recommendation

In case you want to delete a recommendation, first check if it’s used as a backup if it is you will not be able to delete, unless it has been removed.

Hierarchy of Recommendation

  • Relevant Item recommendation: You can choose from Relevant Item, Personalized, or Static recommendations as backups.
  • Personalized recommendation: You can add Personalized or Static recommendations as backups.
  • Static recommendation: The only fallback allowed here is another Static recommendation.

With Fallback Recommendations, you have the flexibility to ensure dynamic, reliable recommendations for users, making it easy to handle gaps in item availability.

Preview Recommendation Output

2880

View the list of recommendation strategies and select the Preview action to view the output of your recommendation strategy for a user.

Use recommendations and catalogs in campaigns

Personalize using catalog

Select a Catalog from the personalization dropdown and then specify which product you would like to pick from the catalog and which field (image, title, price, etc.) of that product you would like to personalize in your campaign. The product you want to pick can be static product (example: product id 1234) or it can be derived from a user attribute or event attribute (example: product id of the last product that was added to cart by the user).

In addition to above you can also create collection of catalog items using a loop. We enable you to loop across any User / Event array attributes.

{% set CatalogCollections= [] %}
{% for productIds in event["custom"]["Page_view"]["custom"]["product_ids"] %}
{% set CatalogCollections = CatalogCollections.concat(catalog['catalog_260'][productIds]) %}
{% endfor %}
{% for items in CatalogCollections %}
      <div style='border: 1px solid red;'>
        {{items['title']}} <br>
        <img src="{{items['imageSrc']}}" width='40px' /> <br>
      </div>
{% endfor %}

Replace
"Page_view" with the event name.
"product_ids" attribute you wish to loop across.
"catalog_260" with the desired catalog.
"title" & "imageSrc" with the column name of the catalog.

Personalize using a recommendation strategy

Select a Recommendation Strategy from the personalization dropdown and then specify which product you would like to pick from the recommendation engine and which field (image, title, price, etc.) of that product you would like to personalize in your campaign. Here's an example of how to fetch the title of the first recommend product for a cart abandonment email campaign:

You can specify some default content (fallback) to avoid sending blank data to your users. Here's an example:

{{recommend["u_recommendation_1"]["0"]["product_title"] |  default('Apple iPhone 13 Pro')}}

Similar to catalog, you can create collection of recommendations using a loop. We enable you to loop across any User / Event array attributes and create master recommendation object.
This is useful when you want to customise the recommendation strategy and mix it with other strategy as fall back.

Below is the sample nunjuck code for different use cases

Merge "Item - Item" & "Static" recommendation based on event attribute as array

Replace
"varIdEvt" with Event name
"varIdEvtAttr" with attribute name
"i_recommendation_10" & "s_recommendation_8" with recommendation strategy


{% set mergedArr = [] %}
{% for varId in event["custom"]["varIdEvt"]["custom"]["varIdEvtAttr"] %}
     {% set mergedArr = mergedArr.concat(recommend["i_recommendation_10"][varId])  %}
{% endfor %}
{% set mergedArr = mergedArr.concat(recommend["s_recommendation_8"])  %}

De-dup the items from merged recommendations created.

Replace
"product_id" with product key from catalog

{% set uniqueList = []%}
{%set idr = []%}
{% for item in mergedArr %}
    {% if not(item["product_id"] in idr) %}
        {%set idr = idr.concat(item["product_id"])%}
        {%set uniqueList = uniqueList.concat(item)%}
    {%endif%}
{% endfor %}

Get products from same category that users interacted with

Replace
"varIdEvt" with Event name
"varIdEvtAttr" with attribute name
"productType" with catalog category column's name


{%set finalArr = []%}
{% for varId in event["custom"]["varIdEvt"]["custom"]["varIdEvtAttr"]%}
    {%for item in uniqueList%}
        {% if item['productType'] === catalog["catalog_1"][varId]["productType"] %}
            {%set finalArr = (finalArr.push(item),finalArr)%}
        {%endif%}
    {% endfor %}
{% endfor %}

Display upto 3 non null product slots as recommendation

Replace
"4" with "t" where you want to show "t-1" products as recommendation

{% set finalArr = finalArr.concat(recommend["s_recommendation_8"]) %}
{%set prodCount = 1%}
{% for prod in finalArr %}
      {% if prod and prodCount <4 %}
      <div style='border: 1px solid red;'>
        {{prod['title']}} <br>
        <img src="{{prod['imageSrc']}}" width='40px' /> <br>
      </div>
      {%set prodCount = prodCount+1 %}
     {% endif %}
{% endfor %}