Concepts
Templates
Reusable email designs
Templates are reusable email designs. Build them once with the drag-and-drop editor, then use them across campaigns and flows.
Editor
The visual editor uses a section-based layout. Drag components (text, images, buttons, dividers) into sections. Your brand theme is applied automatically.
Personalization
Merge tags fill in each recipient's details when the email is sent. Insert them from the editor's merge tag menu, or type them:
Hi {{ contact.first_name }},
You're on the {{ data.plan | default: "free" }} plan.
Lifetime spend: {{ data.shopify.customers.amount_spent }}- Contact fields:
contact.first_name,contact.last_nameandcontact.email, plus profile fields such ascontact.company,contact.titleandcontact.total_spent. - Custom fields:
data.<key>reads a field from the contact'sdataobject (see custom fields). Use dots for nested fields, for exampledata.preferences.locale. - Integration fields: synced fields live under the integration's name, for example
data.shopify.customers.amount_spent. They render in campaigns and flows; transactional messages render contact and custom fields only. - Fallbacks: in campaigns and flows, a field the contact doesn't have renders empty.
{{ data.plan | default: "free" }}rendersfreeinstead. Other filters includeupcase,capitalize,number,currencyanddate.
Values are HTML-escaped in the HTML version of the email, so a field can't add markup.
MJML rendering
Templates are stored as structured JSON and rendered to MJML for maximum email client compatibility. You don't need to write any HTML.