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
Click into the Subject Line field in your email editor
A toolbar will appear. Click the "Personalization" button
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 birthdayAny custom fields you've created
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
Click into the text area where you want to add personalization in your email body
A toolbar will appear. Click the "Merge Tags" button
Select a field from the dropdown (same fields as above)
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:
Click "Send Test Email" in your email editor
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 listdoesnt_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 |
| Equals |
|
| Not equal |
|
| Contains tag/list |
|
| Doesn't contain tag/list |
|
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}}!becomesHi !(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).
