Personalization in WhatsApp

Personalize the WhatsApp campaign content using User Attributes, User Events, Recommendations, Content APIs, and Content Blocks.

Steps to Personalize

In step 2 of campaign creation, on the Content tab, type @ in the content where you wish to personalize.


Do the following:

Step 1: Type @ to personalize the content.

Step 2: Use one of the following:

Data personalization

      1. From the drop-down, select from User Attribute, Event Attribute, Product Sets (Recommendations), or Content API
      2. Select one of the following as for alternate (Fallback) to the personalization:

        • No Fallback

          Choose the option for personalized content. The option results in no alternates when the personalization does not work.
        • Do not send campaign

          Choose the option where if the personalization does not work, WhatsApp messages are not sent.
        • Replace Text

          Type or paste the text used when the personalization does not work.

Content Block

      1. Select the content block to be inserted
      2. Enable "Insert only the content of the content block" to disconnect the selected content from the existing content block. Any future updates to the content block will not be reflected in the campaign. For more information, refer to Content Blocks.


When the option is selected:

      • Only the content is inserted
      • The content is disconnected from the content block
      • Any content update in the content block is not reflected in the inserted content.


Recommendations (Product sets) help you communicate real-time and contextual product recommendations to customers. Learn more



      1. A Recommendation (Product sets) that is set up and mapped to a user action.
      2. Have a pre-approved WhatsApp template with placeholders to accommodate the data from the Recommendations (Product sets). For example, if you wish to personalize the user name from the user attributes and add the recommended product's title and link from the Recommendation (Product sets), get a template approved with three placeholders, as explained in the example below.

For more information, refer to Recommendations.

To send a dynamic product recommendation using WhatsApp, do the following:

        1. In step 2 of the campaign creation process, select the Sender with whom the Recommendations template has been approved.
        2. Select the approved template.
        3. Fill in the placeholders by typing @. In the personalization screen that opens up, choose the user attribute and product set attributes.
            1. For product sets, choose the desired product set and click ok. This will add the product set to the placeholder. A product set typically contains a list of items, each with specific attributes such as name, title, id, image link, and so on. Adding a product set as such with display all the contents of the product set in the message.
            2. To add only one item to the Recommendations set, loop through the product set as explained below and fetch the desired item. For this item, fetch the desired attribute by typing @ inside the for loop and select the desired property from the product set in the personalization window.
        4. Click on the personalized preview to see the message for a specific user.


In the example shown below, the template has three placeholders:

        1. the first placeholder is used for personalization and is fetched using the firstname user attribute.
        2. the second placeholder loops through a product set called ProductSet to fetch the first item in the product set and display its title using the following JINJA code. In this example, the Recommended product is Sneakers.

{% if ProductSet.product_recommendations%}
{% for product in ProductSet.Recommendations[0:1]%}
{% endfor %}
{% else %}
{% endif %}

3. the third placeholder loops through the Recommendations product set to fetch the link for the recommended product using the following JINJA code:


{% if ProductSet.Recommendations%}
{% for product in ProductSet.Recommendations[0:1]%}
{% endfor %}
{% else %}
{% endif %}

For more information about JINJA, refer to MoEngage Templating Language.

Personalized preview


Similar Use Cases
Was this article helpful?
0 out of 5 found this helpful

How can we improve this article?