Skip to content
Last updated

Personalization Using Merge Tag and Liquid Template

Engage Studio enables marketers to personalize emails easily with Merge Tags and Liquid templates. Merge Tags offer a simple, no-code interface for inserting dynamic content, while Liquid templates allow for advanced personalization logic. This guide explains how both systems work—individually and together—and how to use them effectively.

Using Merge Tags in Engage Studio

Agentic Engage provides a visual Merge Tag interface built on top of Liquid. Merge Tags let you insert personalization fields such as name, email, or loyalty points into your content.

Configuring Merge Tags

  • Click Manage Merge Tags from the top of the Email Editor.

  • You'll be taken to the merge tag management screen.

  • Templates do not automatically link to profile attributes. You must define the tags you need.

Fields to configure:

  • Display Name : The user-friendly name that appears in the editor (e.g., "Name").

  • Attribute Name : The Liquid-compatible key from your profile data (e.g., name maps to {{ profile.name }}).

  • Preview Text : Sample value shown in the editor preview (e.g., "Toru").

  • Default Value : Used when the attribute is not present (e.g., "Customer").

Once created, you can insert the tag into content blocks via the Merge Tags button in the inline toolbar.

Merge Tags and Liquid Integration

The Merge Tag interface enables marketers to insert personalization tokens without writing any code. Behind every visual merge tag is a fully functional Liquid expression. This hybrid approach ensures flexibility for advanced users while remaining approachable for content creators.

When you insert a personalization field using the Merge Tag button (e.g., Customer Name), Engage Studio automatically renders the underlying Liquid template:

{{ profile.first_name }}

Key Behaviors:

  • Merge Tags insert human-friendly labels that map to Liquid syntax.
  • When previewed or rendered, Merge Tags are evaluated as Liquid variables.
  • Defined Merge Tags should be used in your activation. If not, the email sending returns an error.
  • If you want to define a non-required tag, insert a liquid syntax in the content directly.

Getting Started with Liquid

Liquid is the underlying template language powering dynamic personalization. It uses three main components:

  • Objects : Insert dynamic content using {{ }}

  • Tags : Control logic using {% %}

  • Filters : Format and transform output

Basic Syntax

{{ profile.name }} -> outputs the customer's name
{% if profile.vip %}VIP Customer{% endif %} -> conditional logic
{{ profile.name | upcase }} -> converts name to uppercase

Commonly Used Liquid Features

Conditional Statements

{% if profile.subscription == "premium" %}
  Thank you for being a premium member!
{% else %}
  Upgrade to premium for more benefits.
{% endif %}

Filters

FilterDescriptionExampleResult
upcaseConverts text to uppercase.{{ "hello" | upcase }}HELLO
downcaseConverts text to lowercase.{{ "Hello" | downcase }}hello
dateFormats date values.{{ "2024-01-01" | date: "%B %d, %Y" }}January 01, 2024
defaultProvides a fallback value.{{ profile.name | default: "Guest" }}Guest if profile.name is nil, false or empty.
url_encodeURL-encodes the string.{{ "test@example.com" | url_encode }}test%40example.com

Dynamic Content with Display Conditions

Engage Studio supports Display Conditions , allowing you to visually show or hide content blocks based on profile data using conditional logic.

  • Display Conditions can be applied to rows, columns, or content blocks.
  • UI-driven conditions are translated into Liquid under the hood.
  • You can combine multiple conditions using AND/OR.

Examples

  • Select a row

  • Click Display Condition > Add Condition

  • Enter:

    {% if profile.subscription == "premium" %}
    {% endif %}
  • Use Preview to validate visibility.

Dynamic Content with Dynamic Image URL

The Dynamic Image URL feature allows for image personalization based on customer preferences.

When a user has multiple favorites products and you want to recommend them in emails. However, each email recipient may have a different number of favorites. In this case, you can create multiple rows and insert images dynamically using Liquid. Select dynamic images at Image block and insert {{ profile.image_url }} in the url. You can change a image content based on your attribute.