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.
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.
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.,
namemaps 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.
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.
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
{{ profile.name }} -> outputs the customer's name
{% if profile.vip %}VIP Customer{% endif %} -> conditional logic
{{ profile.name | upcase }} -> converts name to uppercase{% if profile.subscription == "premium" %}
Thank you for being a premium member!
{% else %}
Upgrade to premium for more benefits.
{% endif %}| Filter | Description | Example | Result |
|---|---|---|---|
upcase | Converts text to uppercase. | {{ "hello" | upcase }} | HELLO |
downcase | Converts text to lowercase. | {{ "Hello" | downcase }} | hello |
date | Formats date values. | {{ "2024-01-01" | date: "%B %d, %Y" }} | January 01, 2024 |
default | Provides a fallback value. | {{ profile.name | default: "Guest" }} | Guest if profile.name is nil, false or empty. |
url_encode | URL-encodes the string. | {{ "test@example.com" | url_encode }} | test%40example.com |
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.

Select a row
Click Display Condition > Add Condition
Enter:
{% if profile.subscription == "premium" %} {% endif %}Use Preview to validate visibility.

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.
