Merge tags: personalise with contact data

Templates & contentUpdated

Every built-in merge tag EmailFig supports, what it renders, and how a typo silently produces a blank instead of an error.

Merge tags drop a contact’s own data into an email (their first name, their unsubscribe link, an account detail) so one template sends a personalised email to every recipient. Type a tag directly ({{ contact.first_name }}) or insert one from the Merge tags menu in either editor, which lists every tag below by name so you don’t have to memorise the syntax.

A misspelled or unsupported tag doesn’t error: it renders blank. {{ contact.frist_name }} (a typo) or a property that doesn’t exist on a contact simply produces nothing, with no warning in the editor. Use the tag menu, or copy a literal from the table below, rather than typing from memory, and check a test send before you rely on a tag.

Built-in tags

Label in the menu Tag Renders
First name {{ contact.first_name }} The contact’s first name.
First name (with fallback) {{ contact.first_name | default: "there" }} The contact’s first name, or “there” if they don’t have one on file.
Last name {{ contact.last_name }} The contact’s last name.
Email address {{ contact.email_address }} The contact’s email address.
Company / from name {{ account.from_name }} Your account’s From name (the same name recipients see as the sender).
Mailing address {{ account.physical_address }} Your account’s physical mailing address (the CAN-SPAM footer address).
Unsubscribe URL {{ unsubscribe_url }} The link to that recipient’s unsubscribe page. Every send needs this tag somewhere in the body. See What every email must include.
View in browser URL {{ webview_url }} The link to view that specific send as a web page.

Custom field tags

Every custom field on your account gets its own tag automatically, in the form {{ contact.properties.<key> }}, listed in the menu under the field’s own label. If a contact has nothing in that field, the tag renders blank: pair it with a fallback, e.g. {{ contact.properties.plan | default: "Free" }}.

The fallback filter

Any tag can take | default: "…" to supply a value when the data’s missing, not just first name:

{{ contact.first_name | default: "there" }}
{{ contact.properties.company | default: "your company" }}

Also available, not in the tag menu

Two tags work if you type them by hand, though they don’t show up in the menu:

  • {{ contact.full_name }}: first and last name joined with a space (blank if both are missing).
  • {{ account.name }}: your account’s own name, distinct from account.from_name.

Next steps