Skip to main content

Personalize the Subject Line and Body of Your Email

Personalization allows you to automatically insert contact-specific information like their first name, company, or birthday into your emails.

Soorya Kiran SV avatar
Written by Soorya Kiran SV
Updated over a week ago

When and Why You'd Use Personalization

Use personalization to:

  • Address recipients by name instead of generic greetings like "Hi there"

  • Reference company-specific details to build rapport

  • Tailor content based on contact data (e.g., birthday wishes, location-based offers)

  • Increase email relevance and reduce the feeling of mass communication

Personalized emails typically perform better because they feel like one-to-one conversations rather than broadcasts.


How to Add Personalization to Your Emails

Personalization works the same way in both the subject line and email body, but the feature is labeled differently in each location:

  • In the subject line, it's called "Personalization"

  • In the email body, it's called "Merge Tags"

Both options insert the same {{.Variable}} code behind the scenes.


Step 1: Add Personalization to the Subject Line

  1. Click into the Subject Line field in your email editor

  2. A toolbar will appear. Click the "Personalization" button

  3. Select a field from the dropdown:

    • {{.FirstName}} – Contact's first name

    • {{.LastName}} – Contact's last name

    • {{.Name}} – Contact's full name

    • {{.Company}} – Contact's company name

    • {{.Email}} – Contact's email address

    • {{.Birthday}} – Contact's birthday

    • Any custom fields you've created

  4. The personalization code will be inserted automatically

Example:

  • You type: Hey {{.FirstName}}, check out our new product!

  • Recipient sees: Hey Sarah, check out our new product!


Step 2: Add Personalization to the Email Body

  1. Click into the text area where you want to add personalization in your email body

  2. A toolbar will appear. Click the "Merge Tags" button

  3. Select a field from the dropdown (same fields as above)

  4. The merge tag will be inserted at your cursor position

Example:

  • You write: Hi {{.FirstName}}, we noticed {{.Company}} might benefit from...

  • Recipient sees: Hi John, we noticed Acme Corp might benefit from...


Step 3: Add Fallback Text (Optional)

Fallback text is what displays if a contact's data is missing for a specific field.

How to add fallback text:

  • When inserting a merge tag, you'll see a field to add fallback text

  • Example: {{.FirstName "there"}} → If first name is missing, the email will say "Hi there" instead of "Hi"

Important:

  • Fallback text is optional. If you don't provide it and the field is empty, that part of the email will be blank

  • You cannot leave fallback text intentionally blank (it must contain text or be omitted entirely)


Step 4: Preview and Test Your Personalization

Before sending, always test how personalization will appear:

  1. Click "Send Test Email" in your email editor

  2. Choose one of these options:

    • Placeholder preview – Shows merge tag syntax (e.g., {{.FirstName}})

    • Select a contact – Populates the test email with real contact data from your account

This lets you verify that:

  • Merge tags are correctly placed

  • Fallback text works as expected

  • Formatting looks natural with real names/data


Advanced Personalization: Conditional Logic and Dynamic Content

Beyond basic personalization, SendX lets you create dynamic, intelligent emails that change content based on subscriber data, tags, lists, and custom conditions. This guide will show you how to use tags, custom fields, and if/else logic to deliver hyper-relevant messages.


Before You Begin

To use advanced personalization effectively, ensure that:

Required:

  • ✅ You have a contact list with basic fields (name, email, etc.)

  • ✅ You've created custom fields for specific targeting (e.g., Designation, Industry, Competitor)

  • ✅ Your contacts are tagged or segmented into relevant categories

Optional but helpful:

  • 💡 A strategy for fallback values when data is missing

  • 💡 A clear plan for how you want to tailor content based on conditions


1. Basic Personalization with Fallback Function

You've already learned how to use basic merge tags like {{.FirstName}}. But what if you want more control over fallback text?

Use the fallback function for cleaner syntax:

{{fallback .FirstName "User"}}

How it works:

  • If the contact's first name exists → Shows "John"

  • If the first name is missing → Shows "User"

Example in an email:

Instead of writing:

Hello there,

Write:

Hello {{fallback .FirstName "User"}},

Result:

  • Contact with name: Hello John,

  • Contact without name: Hello User,


2. Using Custom Fields for Deeper Personalization

Custom fields let you personalize beyond built-in fields. You can create as many as you need in Settings > Custom Fields & Events.

Example: You've created a custom field called "Competitor" to track which tool your contacts currently use.

You're better than {{fallback .Competitor "some other marketing tool"}}!

Common custom field ideas:

  • Industry, Job Title, Company Size, Product Interest, Subscription Tier, Last Purchase Date, Favorite Feature


3. If/Else Conditions: Show Different Content Based on Data

Conditional logic lets you create branching content that adapts to each contact's profile.

Basic If/Else Structure

{{if eq .FieldName "Value"}}   Content if condition is true {{else}}   Content if condition is false {{end}}

Example 1: Show Content Based on Designation

{{if eq .Designation "Marketer"}} Hello Marketer! Check out our latest marketing automation features.  
{{else if eq .Designation "Engineer"}} Hello Engineer! Here's our API documentation and developer tools.
{{else}} Hello Teammate! Let's explore what SendX can do for you.
{{end}}

What this does:

  • Contacts with Designation = "Marketer" → See marketing-focused content

  • Contacts with Designation = "Engineer" → See developer-focused content

  • Everyone else → See general content


Example 2: Exclude Content for Specific Groups (Using ne for Not Equal)

Sometimes you want to show content to everyone except a specific group.

{{if ne .Designation "Marketer"}} You are not a marketer. Here's how SendX can help your role!  
{{else}} Hello Marketer! You already know the power of great email campaigns.
{{end}}

What this does:

  • ne = "not equal"

  • If Designation is not "Marketer" → Shows the first message

  • If Designation is "Marketer" → Shows the second message


4. Using Tags and Lists for Targeted Messaging

SendX lets you target contacts based on tags or list membership using special operators:

  • contains_name → Check if a contact has a specific tag or is in a list

  • doesnt_contain_name → Check if a contact does not have a tag or is not in a list


Example: Reward Users Based on Actions (Tags)

{{if contains_name .Tags "created"}} Hey! You've already created a profile. 100 bonus points unlocked! 🎉  
{{else if contains_name .Tags "uploaded"}} You've uploaded your pic. 50 bonus points for you! 📸
{{else}} Still just kicking tires? Let's get started!
{{end}}

What this does:

  • Contacts with the "created" tag → See the first message

  • Contacts with the "uploaded" tag → See the second message

  • Contacts with neither tag → See the third message


Example: Target Based on List Membership

{{if contains_name .Lists "VIP Customers"}} As a VIP, you get early access to our new features!  {{else if contains_name .Lists "Trial Users"}} Thanks for trying SendX! Here's a special offer to upgrade.  {{else}} Welcome! Let's help you get started with SendX.  {{end}}

What this does:

  • Contacts in the "VIP Customers" list → See exclusive content

  • Contacts in the "Trial Users" list → See upgrade offers

  • Everyone else → See welcome content


Operators You Can Use

Operator

Meaning

Example

eq

Equals

{{if eq .Industry "SaaS"}}

ne

Not equal

{{if ne .Plan "Free"}}

contains_name

Contains tag/list

{{if contains_name .Tags "engaged"}}

doesnt_contain_name

Doesn't contain tag/list

{{if doesnt_contain_name .Lists "Unsubscribed"}}


Best Practices for Advanced Personalization

Always use fallbacks for custom fields. Don't assume all contacts have complete data
Test with real contacts to see how conditions behave with actual data
Keep it readable. Complex nested conditions can be hard to debug
Document your logic. If you're using multiple conditions, note what each one does
Don't over-personalize. Too many dynamic blocks can make emails feel robotic


Common Advanced Personalization Scenarios

Scenario 1: Birthday Campaigns

{{if .Birthday}} Happy Birthday {{.FirstName}}! 🎂 Enjoy 20% off as our gift to you. {{else}} Hi {{.FirstName}}, check out our latest offers! {{end}}

Scenario 2: Re-engagement Based on Activity

{{if contains_name .Tags "inactive"}} We miss you! Here's 30% off to welcome you back. {{else}} Thanks for staying engaged with us! {{end}}

Scenario 3: Industry-Specific Messaging

{{if eq .Industry "Healthcare"}} Discover how healthcare companies use SendX for HIPAA-compliant email. {{else if eq .Industry "E-commerce"}} See how e-commerce brands drive sales with automated campaigns. {{else}} Learn how SendX can transform your email marketing. {{end}}

Important Notes & Limitations

Where You CAN Use Personalization:

✅ Subject line (labeled "Personalization")
✅ Email body (labeled "Merge Tags")

Where You CANNOT Use Personalization:

❌ Preheader text
❌ Sender name ("From" field)
❌ Reply-to address


What Happens If a Field Is Empty?

  • If you didn't add fallback text, the merge tag area will be blank

  • The email will still send. It just won't show anything for that field

  • Example: Hi {{.FirstName}}! becomes Hi ! (awkward, so use fallback!)


Special Characters & Long Text

  • Merge tags accept special characters (accents, apostrophes, emojis)

  • They also handle long text without breaking

  • If a first name is unusually long (e.g., 50 characters), it will display in full


Common Mistakes & Troubleshooting

❌ "Personalization Error" Message

If you see this error, it means the merge tag syntax is broken or invalid.

Common causes:

  • Typo in the field name (e.g., {{.Firstname}} instead of {{.FirstName}})

  • Missing closing brackets (e.g., {{.FirstName})

  • Extra spaces inside the brackets

Fix: Re-insert the merge tag using the "Personalization" or "Merge Tags" button instead of typing it manually.


❌ Trying to Create a Custom Field with a Reserved Name

SendX has reserved field names that cannot be used as custom fields:

  • {{.FirstName}}

  • {{.LastName}}

  • {{.Name}}

  • {{.Company}}

  • {{.Email}}

  • {{.Birthday}}

What happens: If you try to create a custom field with one of these names (e.g., "FirstName"), it will create a conflict and the field won't display correctly.

Fix: Use a different name for your custom field (e.g., "Preferred_Name" instead of "FirstName").


❌ Mixing Merge Tags with HTML Code (in HTML Templates)

If you're using an HTML email template and manually editing the code, make sure to:

  • Add spaces around merge tags (e.g., <p>Hi {{.FirstName}} </p>)

  • Don't embed them inside HTML attributes without proper spacing

What goes wrong: The merge tag code can break the HTML structure or not render properly.

Fix: Keep merge tags separate from HTML syntax, or use the visual editor instead of raw HTML editing.


❌ Using a Custom Field That Doesn't Exist for Most Contacts

If you personalize with a custom field (e.g., {{.JobTitle}}) but only 10% of your contacts have that field filled:

  • 90% of recipients will see a blank space or fallback text

  • This can make your email feel incomplete

Best practice:

  • Check how many contacts have data for a field before using it

  • Always add fallback text for custom fields


Frequently Asked Questions

Q: Can I use multiple merge tags in one email?
Yes! You can use as many merge tags and conditional blocks as needed in both the subject line and body.

Q: Will personalization slow down my email sending?
No. Personalization is processed instantly when the email is sent.

Q: What if a contact's name has unusual characters or is very long?
Merge tags handle special characters (like accents or apostrophes) and long text without issues. The full value will be displayed.

Q: Can I nest multiple if/else conditions?
Yes, but keep it simple. Overly complex nesting can be hard to debug and maintain.

Q: Can I personalize with data from external sources (like a CRM)?
Only if that data is synced into SendX as a contact field or custom field. You'll need to import or integrate the data first.

Q: Is personalization available on all SendX plans?
Yes, personalization and custom fields are available on all SendX plans with no limits on the number of custom fields you can create.

Q: Can I use conditional logic in the subject line?
Yes! All advanced personalization syntax works in both the subject line and email body.


Need help? If you're still seeing issues with personalization, contact our support team with a screenshot of your email editor and the error message (if any).

Did this answer your question?