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.


Ensure that custom attributes do not have the same names as MoEngage's standard attributes. If a custom attribute and a standard attribute having the same name are used for personalization, it could result in incorrect personalization.

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.

Personalize Content Using Auxiliary Data

You can personalize your WhatsApp content using auxiliary data by selecting the auxiliary data attributes in the personalization editor.

To personalize content using Auxiliary Data attributes:

  1. Enter @ in the fields wherever personalization is supported to invoke the personalization editor.
  2. Select the Aux Data tab.
  3. In the Aux data drop-down list, select the Auxiliary Data file whose attribute you wish to use for personalization.
  4. In the Lookup value drop-down list, select the primary key specified for the Auxiliary Data during import. This will identify the user for whom the Auxiliary Data is being fetched.
  5. In the Attribute drop-down list, specify the attribute to be personalized using Auxiliary Data.
  6. Click Done. The Auxiliary Data JINJA will get added to the field or the editor.

For more information, refer to Personalize Campaign Content Using Auxiliary Data.


Recommendations (Product sets) help you communicate real-time and contextual product recommendations to customers. For more information, refer to Recommendations.



      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.

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



Was this article helpful?
0 out of 6 found this helpful

How can we improve this article?