Articles in this section

Personalizing Your Email Content

Customizing your email content is a crucial step in effectively engaging with your customers. MessageGears provides several ways to personalize your content. This guide will take you through how to include the different types of personalization when building an email with our drag-and-drop email editor.

Table of contents

Building your email template

Our drag-and-drop content editor provides various content structures and blocks to assist you in crafting customized templates for your customers. From adding images to text to dynamic content, the email editor provides easy access to customization when creating a template.

When you navigate to an email template, the email content options display on the right side of the template. For detailed information on the content options available and building your template, see Using the Drag-and-Drop Editor to Build Email Templates.

Saved rows

When building your template, you might spend considerable time creating a design that helps increase customer engagement. In other instances, you might have annual promotions or include certain blocks in all your templates, like contact information at the bottom of your template. To save you time, the email editor lets you save rows of content that you want to reuse in other templates.

To save a row, select the row in the editor and then select the Save icon.

In the Create Saved Row window, enter a name for the row and optionally add tags or categories. To create a new category, enter the name of the new category and then select Create. Once saved, the category displays as an option in the Rows list. Select the category to display all rows under that category, and then drag the required row into your template.

Dynamic rules and personalization

In addition to the drag-and-drop rows and content blocks you use to build your template, the email editor includes dynamic personalization options that let you include powerful customization in your template. Use dynamic content to change the content of the email based on personal recipient data. For example, if your template references the customer's first name and is sent to 500 customers, each recipient would receive an email addressing them by name.

The email editor supports the following dynamic content:

  • Conditional content
  • Dynamic content
  • FreeMarker personalization

Conditional content

Conditional content allows you to tailor the viewing experience based on conditions. Using conditional statements within your blueprint or audience, you might select conditions within your template to display only if the condition is met. For example, for a pet food site, dog owners would only see offers that pertain to dogs, while a customer who has specified they have cats would only see offers relevant to their pet type. It's also possible to set conditions at the row level. For more information on using conditional content at row level, see the BEE article Using Display Conditions.

To include conditional content at the audience or blueprint level, go to your audience or blueprint and at the bottom of the screen, select Conditional Content. Use the same format as the following example. For before and after, enter FreeMarker statements to signify which conditions need to be met.

[{
"type": "Last ordered catalog",
"label": "Dogs",
"description": "Only dog owners that last ordered an item",
"before": "<#if lastOrder.catalog == 'Dogs'>",
"after": "</#if>"
}, {
"type": "Last ordered catalog",
"label": "Cats",
"description": "Only cat owners that last ordered an item",
"before": "<#if lastOrder.catalog == 'Cats'>",
"after": "</#if>"
}]

Next, go to your template, select Configure Sample Data, and select your audience. Once you've selected an audience, go back to the email editor and select the row where you want to include dynamic content. In the row properties, under dynamic content, select the condition you want to use. You also have the option to write the condition directly here rather than setting it up in the audience or blueprint. 

Select_display_condition.png

Dynamic images

Dynamic images are an effective tool for including active content such as a countdown timer or personalized images. Customize your template with a variety of content using a basic URL. 

To start, add an Image content block to your template. Then select the block to display the content properties. Turn on the Dynamic image toggle and then enter the URL of the dynamic image. Unlike a static URL, the dynamic URL contains some variables, such as an email, customer ID, date, or first name. When a recipient views the design, personalized values replace the variable.

For more information on using dynamic images or content, such as a countdown timer, see the BEE article Using dynamic images for countdown timers and personalized content.

Dynamic content

MessageGears supports including dynamic and reusable content in your email using two methods: global snippets and template-level snippets. Global snippets are elements that you can use across all templates, such as an email header or footer. Template-level, or local snippets, are configured for each individual template. For more information, see Using Dynamic Content.

FreeMarker personalization

To make dynamic content possible, the email editor supports using FreeMarker code. One way to include FreeMarker in your content is via merge tags. You must first configure your Sample Data audience, and then select Merge tags from the inline editor. Select an available property from the list, which then inserts the relevant FreeMarker into the content.

Merge_tags.png

For more information on using FreeMarker in your template, see our FreeMarker Template Language guide.

Supplemental data

Supplemental data accesses your external data sources, which you can then combine with an audience to create personalized templates with recipient data. For more information on supplemental data and how to add it to a template, see Supplemental Data.

Use FreeMarker to aid in customizing your template with supplemental data. In your template, enter FreeMarker code where you would like to reference the data. It is important to note that if you are referencing supplemental data, your FreeMarker code will use the variable you set it equal to. If you are referencing data from your audience, you will continue to reference the recipient variable. When a campaign is launched using the template, customers will receive personalized templates based on the recipient's information. See the following example:

Context_data.png

As shown in above example, the customer's city name is found in the audience data, therefore the FreeMarker code uses Recipient.*. When referencing the customer's local team, which is located in an external data source, the FreeMarker references ContextData, as the supplemental data was set to reference that data source.

For a template to successfully render and send when you launch a campaign, you must also add the supplemental data source to the campaign. In the campaign workflow, under View Advanced Options, select the data source from the Supplemental data list.

External data APIs

In addition to referencing supplemental data, you have the option personalize your content using external APIs that reference and pull in data. An example of using external APIs in the above birthday example might be pulling the customer's age from a third-party service.

External_API.png

To use an external API, in your template select the Mapped Data Sources tab and then select the external API you want to reference.

Once you've selected an API, navigate back to the HTML Email editor, and select the personalization icon.

In the Personalization Helper window, expand the Mapped Data Sources section. Mapped data sources contain two options: responseBody and statusCode.

To include the responseBody:

  1. Select the responseBody chip to copy the value and then paste it into the template where you want the content to display.
  2. At the end of the FreeMarker code, add the column name you want to reference (see below example). Note: The apiKey is replaced by the actual API key name once you copy and paste, and columnName is replaced with the column name you want to reference.
    ${apiKey.responseBody.columnName}

To include statusCode, select the chip to copy the value, and then paste it into the template. The apiKey is replaced with the actual API key name once you copy and paste (see below example).

${apiKey.statusCode}

For more information on personalizing your content through an external API, see Advanced Personalization Through Hosted and External Data APIs.

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

Comments

0 comments

Please sign in to leave a comment.