Help CenterOpen Distro

Using personalization variables

Add first names, job titles, company details and custom fields to your emails with variables like {{ contact.first_name }}, and set fallbacks for missing data.

Updated 3 min read

A personalization variable is a placeholder that Distro swaps for each recipient's own details when the email is sent. Write {{ contact.first_name }} and Maya receives "Maya", Tom receives "Tom". Variables work in the subject line and the body of campaign emails and templates.

How to write a variable

The format is two curly braces, a source, a dot and a field:

{{ contact.first_name }}

To use a fallback when the value is missing, add a vertical bar and the text to use instead:

Hi {{ contact.first_name | there }},

Maya gets "Hi Maya,". A contact without a first name gets "Hi there,".

Spaces inside the braces are optional, and capital letters in the source and field don't matter. You don't need to type variables by hand: in the email editor, click Personalize and pick one from the list.

Available variables

VariableFills in
{{ contact.first_name }}First name
{{ contact.last_name }}Last name
{{ contact.full_name }}Full name
{{ contact.email }}The recipient's email address
{{ contact.title }}Job title
{{ contact.phone }}Phone
{{ contact.city }}City
{{ contact.country }}Country
{{ company.name }}Name of the company the contact is linked to
{{ company.domain }}That company's domain
{{ user.name }}Your name, from your Distro account
{{ user.email }}Your Distro account email
{{ product.name }}Your product's name
{{ product.website }}Your product's website
{{ custom.your_field }}A custom field you created
{{ system.unsubscribe_url }}The recipient's personal unsubscribe link (shown as Unsubscribe link in the menu)

Custom fields

Each custom field gets an email code from its name, shown when you create it under Outreach settings โ†’ Custom fields. A field called "Industry" becomes {{ custom.industry }}. The code can't be changed later. See Lists, tags and custom fields.

Company and product variables

{{ company.name }} only fills in for contacts linked to a company. CSV imports don't link contacts to companies, so for imported data use a custom field such as {{ custom.company }} instead.

{{ product.name }} and {{ product.website }} come from your workspace's main product (the first one you created). If a campaign promotes a different product, type its name rather than using the variable.

What happens when a value is missing

An empty or blank value counts as missing.

  • With a fallback, the fallback text is used.
  • Without a fallback, it depends on the campaign:
    • In a campaign you wrote yourself, the variable is left blank. "Hi {{ contact.first_name }}," becomes "Hi ," for someone without a first name.
    • In a campaign written with Distro, and in Email + LinkedIn campaigns, people missing a value are skipped instead of receiving a blank. The campaign settings say: "Recipients missing a personalization field are skipped, never sent a blank." Skipped people show as Excluded.

Checks before launch

Distro checks every variable before a campaign can launch. A misspelled variable ({{ contact.firstname }}), an unknown source, a custom field that doesn't exist, or a stray {{ or }} blocks the launch with a message like "An email step has 1 invalid/unknown variable(s)." Fix the variable, or insert it again from Personalize.

If you delete a custom field, emails that still use it will hit this check. Remove the variable from your emails too.

Preview before you send

In the campaign, click Show preview. The preview fills the variables with your real recipients, one at a time. Use the arrows (Previous recipient, Next recipient) to step through a few and look for blanks or awkward fallbacks. The unsubscribe link shows a placeholder in the preview; the real link is added to each email when it's sent.

Make the data match

Variables are only as good as your contact data. Before a campaign, check that the columns you rely on were imported (see Import prospects with a CSV), and fill in missing names on the contact page if there are only a few.

LinkedIn messages use their own variables, such as {{firstName}}. See Create a LinkedIn campaign.

Still stuck?

Email us at hello@usedistro.com with what you tried and what you see. Signed in? Help & support in the app has walkthrough videos and a message form.

Help & support