Personalize Email Content


Personalized emails have higher open rates and conversions since they leverage the email context and are relevant. This article describes how you can personalize your email campaigns based on:

  • User attributes such as Name, Location, or other attributes (for both general and event triggered emails)
  • Event attributes such as Product Image, Product Price, Product Name, and so on of an event- Added to Cart (only for event triggered emails)
  • Business Event attributes such as Product ID, Item Code, Product Image, Price, Series Name, Genre of the Series, Case, and so on.
  • Campaign attributes - Campaign Name, Campaign id, and Campaign Tags

Before starting with personalization, ensure you have configured Email Settings and read about how to create email campaigns.

Personalization is supported in:

  • Email Subject 
  • Email Content
  • Sender Name
  • Reply-to email address

Along with Email Text personalization, we also support the following:

Inserting Personalization

To insert personalization in the Email Subject/Content Text, enter "@" and select the user/event attribute.


On selecting the attribute, you will be prompted to select the Fallback mechanism for this user attribute.



When Fallback Mechanism is unavailable via the UI option, you can define fallback using Jinja.

Dear {{UserAttribute['u_fn']|default('MOE_NOT_SEND')}} OR Dear {{UserAttribute['u_fn']|default('Guest')}}

default('MOE_NOT_SEND') will suppress the message from going out. default('Guest') will use 'Guest' when the value for the personalization attribute is unavailable.

Fallback Mechanism

The fallback mechanism is useful when personalization may fail due to that attribute not being present for the user or the non-resolution of the specific user attribute.


You can select one among the following fallback options -

  • No Fallback text: The user attribute will be removed if not present/resolved for that user. Note: The No fallback option is not available for the Sender Name field.
  • Enter the Fallback text: The user attribute will be replaced with the text you have entered
  • Do not send this email if personalization fails: The email will not be sent to the user if the personalized user attribute is not present/resolved for that user


    1. Campaign attributes cannot be edited in personalized previews.
    2. During campaign creation, if the campaign id is added for personalization, a dummy value is used in its place in the personalized preview, as the campaign id gets generated only after the campaign is created.

Content can also be personalized using Content APIs, Content Blocks,and Auxiliary Data.

Personalization for Business Event-Triggered Campaigns

In business event-triggered Email campaigns, you can use the attribute of the business event that is mapped to the campaign to personalize the campaign. To do so:

  • Type '@' in the content creation step to invoke the personalization editor.
  • The attributes of the Business Event mapped to the campaign are shown under the Business Event Attribute head, as shown below.EmailPersonalization.png
  • Choose the attribute to be used for personalization and customize the message.

Personalization with business events can be a huge differentiator in terms of effort and automation, as you can use one template and send multiple campaigns with it. For example, if you have to communicate information about three new web series that are being launched - you can do so with the same campaign. You can use the event attributes to personalize the message for each series by using the series name, image, cast, and air date to send the communication to your dynamic segment (that matches the user interest (say, preferred genre) to that of the genre of the series).

Personalization using Content Blocks

Content Blocks are reusable content that can be used across various campaigns. These are particularly useful for headers, footers, signature blocks, terms and conditions, and so on for email campaigns

Adding a Content Block

To add a content block, type @ in the message section and navigate to the content blocks tab in the personalization screen that pops up.


Both HTML and Text type content blocks can be added when personalizing content for email campaigns.

Click on 'Done' to insert the chosen content block. View the added content block in the preview section.

Preview of an email message that contains a Content Block

The content block shown above appears as follows in the preview mode.


Personalization using Auxiliary Data


Beta Callout

Auxiliary Data is a Beta feature. To enable it for your account, reach out to your CSM or write to us at

You can personalize email content using Auxiliary data by selecting the Auxiliary data attributes in the personalization editor. Auxiliary Data is supported only in the custom HTML editor.

To personalize content using Auxiliary Data attributes:

      • Type in the email template, sender name, subject, cc, or bcc fields to invoke the personalization editor.
      • Select the Aux Data tab.
      • Select the Auxiliary Data file whose attribute you wish to use for personalization in the Aux Data dropdown.
      • Select the primary key specified for the Auxiliary Data during import in the Lookup dropdown. This will identify the user for whom the Auxiliary Data is being fetched.
      • Specify the attribute to be personalized using Auxiliary Data in the Attribute dropdown.
      • Click Done. The Auxiliary Data JINJA will get added to the field or the editor, as shown below.

Auxiliary Data Example

Banks send communications to their customers about credit card statements and the amount due for the billing cycle. With the Auxiliary Data feature, banks wouldn't have to store sensitive customer information in MoEngage. They can simply import an Auxiliary data file with the user name, ID, first name, last 4 digits of the credit card number, and the amount due and send campaigns to customers.

Preview of Email sent to user by the bank


Sample Import File

File Name: aux_data_cc_due_info_list

User_ID First_Name Last_Name Last_4_Digits_of_CC Amount_Due
JohnDoe John Doe 1234 4318
JaneDoe Jane Doe 5678 5617

Steps to personalize an email campaign with this Auxiliary Data:

        1. Import this Auxiliary Data file into MoEngage by referring to the steps mentioned in Importing Auxiliary Data.
        2. Navigate to All Campaigns -> +Create Campaign and click on Create email campaign.
        3. In Step 1, configure the campaign with the desired campaign name, control group, and target audience.
        4. In Step 2, choose Custom HTML editor.
        5. In the Sender Details section, configure the Sender Name, Preview Text, Sender email id, reply to mail ID, and subject. Add CC and Bcc as desired.
        6. You can personalize the Subject and Sender Name if required.
        7. In the template editor, add the required details.
        8. To add an attribute from the Auxiliary Data file imported, type '@' and invoke the personalization editor.
        9. In the Personalization Editor, choose the Aux Data tab.
        10. Select the Auxiliary Data file from the Aux Data dropdown. In this example, the name of the imported Auxiliary Data is aux_data_cc_due_info_listChoose this name from the dropdown.
        11. In the Lookup value dropdown, specify the unique user identifier that was mapped during the import. In the case of our example, 'ID' would be the unique identifier, and it maps to the User_ID field in the import file. 
        12. Choose the Auxiliary Data attribute to be used for personalization in the Attribute dropdown. For example, to personalize the Amount Due for each user, select the Amount_Due attribute in the dropdown.
        13. Once you have customized and personalized the content, add the delivery schedule information for the campaign and publish to send the campaign to the target segment.
Sample Email Content

Dear {% set aux_data_cc_due_info_listData = UserAttribute['uid']|getAuxData('aux_data_cc_due_info_list') %}{{aux_data_cc_due_info_listData.First_Name|default('User')}},


Your credit card statement for the card number ending with {% set aux_data_cc_due_info_listData = UserAttribute['uid']|getAuxData('aux_data_cc_due_info_list') %}{{aux_data_cc_due_info_listData.Last_4_Digits_of_CC}} is here.


Amount Due: {% set aux_data_cc_due_info_listData = UserAttribute['uid']|getAuxData('aux_data_cc_due_info_list') %}{{aux_data_cc_due_info_listData.Amount_Due}}


View or download the attachment for the detailed statement.


Personalizing Images

Image personalization will help you to insert contextual images in emails - mainly useful for cart abandonment emails. 

Image Personalization using the Drag Drop Editor

      • Select the "Cart Abandonment" template in the "Content" section or use your own email template.ComposeEmail.png
      • Drag and drop the 'Dynamic Content' icon from the content tab into the template.
      • Click on the Dynamic Content inside the template. There is an 'Add' button in the content tab that lets you personalize the image.DragDropEditor_DynamicContent.png
      • Click on the 'Add' button and the following screen opens.Email_PersonalizeImages.png
      • Enter the image URL and personalize using "@". If you are tracking the entire image URL as an attribute, you can directly just refer to that attribute using "@".
      • Select the fallback mechanism - this is applicable if the attribute is not correctly resolved or there is no image present at the URL after resolving the attribute. You can either enter a fallback image (this will be shown if personalization fails) or decide to not send the email if the image is not personalized.
      • Click on 'Add' to get the personalized image added to the template.

Image Personalization using the Custom HTML Editor

Click on the Custom HTML Editor in the Content Section and choose the 'Edit/Paste HTML Template' option. The following screen opens.


Click on the Image Personalization button on the top pane. The following screen opens.


Enter the image URL and personalize using "@". If you are tracking the entire image URL as an attribute, you can directly just refer to that attribute using "@".

You will then be asked to select a fallback mechanism - this is applicable if the attribute is not correctly resolved or there is no image present at the URL after resolving the attribute. You can either enter a fallback image (this will be shown if personalization fails) or decide to not send the email if the image is not personalized.



Click on 'Copy and Close' to copy the insert this image URL. This will copy the image URL to the clipboard and close the Personalization window. A 'URL Copied' pops up at the bottom right corner near the custom HTML editor.

Cick on the  AddPersonalizedImage_Icon.png icon in the custom HTML editor to insert the personalized image.


You have two options now - replace the existing image or insert a new image in the template.

Replace an existing image in the template - Select the image and click on Replace.

Enter the personalized URL under the Image Personalization tab and click on Replace button. 

Inserting a new image in the template - Click on "Insert Image" in the top bar of the editor

Enter the personalized URL under the Image Personalization tab and click on the Insert button.

Once this personalized image is inserted/replaced, you can change the image size by extending/reducing the borders or by specifying a size in Resize option on selecting the image. Make sure the image size matches the actual & fallback images - otherwise, the resolution might result in image distortion. 

Personalizing URLs

You can also personalize the URLs or deep links where you redirect the user upon a click by the user. 

      • Click on the Link button as shown below
      • Create the personalized URL in the dialog box that opens.
      • You can then copy this link & paste it while inserting a link wherever required in the content


If the personalized URL fails to find/resolve the user attribute, the email will not be sent to the user. There is no fallback mechanism for personalized URLs. If you have any issues creating personalized email campaigns, you can reach out to us at 

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

How can we improve this article?