Types of personalization variables
The platform uses double-brace merge tags ({{variable}}) to dynamically insert contact and account data into emails at send time.
Standard fields
Built-in contact properties like first name, last name, email, phone, and city. Available for all contacts automatically.
Custom fields
User-defined fields attached to contact records — such as lead type, membership level, birthday, or referral source.
Custom values
Account-level reusable placeholders for static information — company name, support email, address, offer details.
Trigger links
Special links that fire workflow actions when clicked — used to track engagement and automatically update contact records.
Standard merge tags
These tags are available for every contact and do not require setup:| Merge tag | Output |
|---|---|
{{contact.first_name}} | Contact’s first name |
{{contact.last_name}} | Contact’s last name |
{{contact.full_name}} | Contact’s full name |
{{contact.email}} | Contact’s email address |
{{contact.phone}} | Contact’s phone number |
{{contact.company_name}} | Contact’s company |
{{contact.address1}} | Contact’s street address |
{{contact.city}} | Contact’s city |
{{contact.state}} | Contact’s state or region |
{{contact.postal_code}} | Contact’s postal code |
{{contact.country}} | Contact’s country |
Custom fields
Custom fields extend the contact record with data specific to your business. Common examples:{{contact.lead_type}}— filled in during lead capture{{contact.membership_level}}— updated by a workflow when a contact upgrades{{contact.preferred_location}}— selected in a form or survey{{contact.renewal_date}}— stored when a subscription is created
- Go to Settings > Custom Fields
- Click + Add Field and select the field type (text, number, date, dropdown, etc.)
- Give the field a name and save
{{contact.field_key}}, where the field key is generated from the field name.
Custom values
Custom values are reusable account-level placeholders. Unlike contact fields (which are unique per contact), custom values hold the same content for all recipients. Use them for:- Business name:
{{custom_values.business_name}} - Support email:
{{custom_values.support_email}} - Promo code:
{{custom_values.promo_code}} - Offer expiry date:
{{custom_values.offer_expiry}} - Location address:
{{custom_values.business_address}}
- Go to Settings > Custom Values
- Click + Add Value, name it, and enter the content
- Insert the merge tag into your email template wherever needed
Inserting merge tags in the email builder
In the email builder, merge tags can be added in any text element:- Click inside a text element on the canvas to open the inline editor
- Click the Custom Values icon in the text toolbar (it looks like a tag or curly-brace icon)
- Browse or search the available tags and click to insert
- Email subject lines
- Preview text
- Button link URLs (for dynamic links)
- RSS block templates
Previewing personalization
Before sending, verify that merge tags resolve correctly: Send a test email: Click Test Email in the builder. Enter the email address to receive the test. The test email renders the tags using the data from a selected test contact — or leaves the tag blank if no test contact data is available. Preview custom fields in the builder: Use Preview Custom Fields (available in the builder menu) to select a specific contact and see their data rendered in the template canvas without sending an email.Conditional content blocks
Conditional elements let you show or hide entire content blocks based on whether a contact’s field contains a specific value. This allows a single template to deliver different experiences to different contacts. How to configure a conditional element:- Select the element or layout section in the builder
- Open the Visibility tab in the left panel
- Choose Conditional and define the condition:
- Field: select the custom field to evaluate
- Operator: equals, does not equal, contains, is not empty, is empty
- Value: the comparison value
- Show a “Welcome back, customer” block to contacts tagged as “customer” and hide it for all others
- Display a local phone number to contacts in a specific city
- Show an upsell offer only to contacts whose membership level equals “basic”
Trigger links
Trigger links are personalized links that fire a workflow action when clicked. When you embed a trigger link in an email, clicking it:- Takes the contact to a destination URL
- Simultaneously triggers the linked workflow action (apply a tag, update a field, enroll in another workflow, etc.)
- “Click here if you’re interested” → tags contact as interested, notifies sales
- “Click to confirm your registration” → enrolls contact in event follow-up workflow
- “I want a discount” → applies a tag that triggers a discount delivery workflow
Appointment and workflow merge tags
When sending email from a workflow triggered by an appointment booking, additional merge tags are available:| Merge tag | Output |
|---|---|
{{appointment.title}} | Name of the appointment type |
{{appointment.start_time}} | Scheduled start time |
{{appointment.end_time}} | Scheduled end time |
{{appointment.timezone}} | Timezone of the appointment |
{{calendar.name}} | Calendar the appointment was booked on |
{{user.first_name}} | Assigned staff member’s first name |
{{user.email}} | Assigned staff member’s email |
Important limitations
- No fallback values — if a merge tag references a field that is empty for a contact, the tag renders as blank. There is no built-in default/fallback value. Write your copy so it reads naturally if the field is absent, or use conditional elements to hide sections when the field is empty.
- Case sensitivity — merge tags are case-sensitive.
{{contact.first_name}}works;{{Contact.First_Name}}does not. Always copy tags exactly from the picker. - Custom objects — advanced data structures beyond standard contact fields (such as product details linked to a contact) use a different syntax and require setup in Custom Objects.
Frequently asked questions
What happens if a merge tag is empty for a contact?
What happens if a merge tag is empty for a contact?
The merge tag renders as a blank space. Plan for this by using copy that still makes sense without the value. For example, “Hi
{{contact.first_name}},” becomes “Hi ,” for contacts with no first name — consider writing “Hi there,” as a fallback by using conditional blocks to switch between personalized and generic greetings.Can I use merge tags in the email subject line?
Can I use merge tags in the email subject line?
How do I update a custom value across all my emails at once?
How do I update a custom value across all my emails at once?
Update the custom value in Settings > Custom Values and save. The new value takes effect in all future sends — templates, campaigns, and workflow emails — without editing them individually.
Can I show different product offers to different contacts in one email?
Can I show different product offers to different contacts in one email?
Yes. Use conditional content blocks to show different product sections based on a contact field (such as industry, membership tier, or purchase history). Each block has its own visibility condition, so only the relevant product appears for each recipient.
Where do I find the full list of available merge tags?
Where do I find the full list of available merge tags?