Contact Field Variables Cheat Sheet

Every standard and custom contact field is available as a Velocity variable. To see all fields available in your account, go to Settings → Additional fields.

Account dropdown menu with Settings highlighted, and the Additional fields page listed in the left navigation.

You can insert a variable manually or use the personalization menu in the message editor — a UI shortcut that inserts the correct variable syntax for you.

Email editor's Text block settings panel with the Merge Tags dropdown highlighted, and the ${firstName} tag inserted in the birthday email greeting.

The menu is available in all channels: Email, SMS, Mobile Push, Web Push, App Inbox. The variable syntax is the same across all of them.

Mobile Push message editor with the personalization menu open, First name option highlighted, and the ${firstName} tag inserted in the Subtitle field.

Below are common examples of contact field variables and safe patterns you can use in messages.


Standard Contact Fields

FieldVariable
First name${firstName}
Last name${lastName}
Full name${firstName}, ${lastName}
Email${email}
SMS${sms}
External customer ID${externalCustomerId}
Town${town}
Address${address}
Region${county}
Postcode${postcode}
Message name${messageName}
📘

Merge tags in link fields

Merge tags in the %LISTNAME.FIELDNAME% form (for example, %PERSONAL.LANGUAGE%) remain in use for one case only: substituting a contact field into a button or text Link field. In the message body and in Velocity conditions, use the Velocity variables shown on this page (${externalCustomerId}, ${personal.bonus}, and so on). See Dynamic Links in Email.


Custom Field Examples

Custom fields follow the same syntax. The variable name matches the field name you defined in Settings → Additional fields.

FieldVariable
Bonus balance${personal.bonus}
Promo code${personal.promocode}
Subscription status${subscription.status}
Last training date${last.training.date}
Manager name${manager.name}
Manager phone${manager.phone}

Variable names in your account may differ depending on how your contact fields are named.


Safe Patterns

Use these patterns when a value may be missing:

  • ${firstName} — insert a value
  • $!{firstName} — show nothing if the value is missing
  • ${firstName|'there'} — show fallback text if the value is missing
  • ${personal.bonus|'0'} — show a default value

Examples:

Hello, ${firstName|'there'}! You have ${personal.bonus|'0'} bonus points. Your manager: ${manager.name|'our support team'}


Notes

  • Field names are case-insensitive: ${firstName}, ${FIRSTNAME}, and ${firstname} all work the same way.
  • Use ${variable} with curly braces when the variable is adjacent to other text to avoid ambiguity.
  • Contact field variables work the same way across all channels: Email, SMS, Mobile Push, Web Push, App Inbox.
  • For event data and external sources, variable availability depends on the context. See Using Velocity in Messages and Using Velocity in Workflows.


Did this page help you?