If you’re sending outbound emails for sales, recruiting, or any kind of outreach, you know mass messages don’t cut it. But writing every email from scratch is a time sink, and your brain’s got better things to do. Personalizing email templates is the sweet spot—especially if you use dynamic fields right.
This guide is for anyone who wants to get more replies without losing their sanity. We’ll walk through how to use dynamic fields in Mailscale to make your outbound emails feel like they were written one-by-one, even if you’re sending them by the hundreds.
Why Personalization Matters (and Where Most People Screw Up)
People can smell a mail-merge a mile away. “Hi {{first_name}}!” isn’t fooling anyone if the rest of your email is generic. But, real personalization—sprinkled in the right places—gets results. Here’s the catch: if you overcomplicate it, you’ll waste time fixing errors and still end up sounding robotic.
What works: - Personalizing the right details (not everything) - Using fallback values so your templates don’t break - Keeping your merge fields clean and double-checked
What to ignore: - Overly clever tricks (like auto-inserting emojis) - Cramming in too many dynamic fields (it gets weird fast) - Worrying about “scaling empathy”—just be useful and specific
Let’s get practical.
Step 1: Set Up Your Contact Data Correctly
Dynamic fields only work as well as your data. Garbage in, garbage out. Before you even touch templates, make sure your contact list is solid.
What you need:
- A clean CSV or database with columns like first_name
, company
, job_title
, etc.
- No blank cells where you want to use a dynamic field (or at least, use fallbacks—more on that soon)
- Consistent formatting (e.g., “Acme Corp” vs. “acme corp”)
Pro tip:
If you’re pulling lists from LinkedIn or scraping, double-check for weird characters or extra spaces. Even a stray space can mangle a dynamic field.
Step 2: Understand How Dynamic Fields Work in Mailscale
Dynamic fields (a.k.a. merge tags, variables, placeholders) let you swap in details from your contact list directly into your email template. In Mailscale, they look like {{first_name}}
, {{company}}
, etc.
Basic syntax:
Just wrap your column header in double curly braces.
Hi {{first_name}}, I noticed you work at {{company}}...
Fallbacks
Sometimes, your data isn’t complete. Mailscale lets you add a fallback value so your email doesn’t look broken.
Hi {{first_name|there}},
If first_name
is missing, it’ll use “there” instead.
Don’t get fancy with field names:
Stick to simple, lowercase, no spaces—job_title
, not job title
.
Step 3: Build a Template That Sounds Human
Here’s where most people go off the rails. If your template reads like a robot, no amount of dynamic fields will save you. The goal is to write something that mostly works for everyone, then personalize just enough to make it feel 1:1.
Template example:
Subject: Quick question about {{company}}
Hi {{first_name|there}},
I came across {{company}} and noticed you’re doing interesting work in {{industry|your field}}. Wanted to reach out about {{specific_reason|a potential fit}}.
If you’re open to a quick chat, let me know. If not, no worries.
Best, Chris
What works: - Using a fallback for every field (never leave a blank) - Keeping sentences short and conversational - Making the context personal, not just the greeting
What doesn’t: - Shoving in too many fields (“As a {{job_title}} at {{company}}, I…” starts to sound generic) - Relying only on the first name for personalization
Pro tip:
Send a test email to yourself with a contact that has missing data. See how the fallbacks look in real life.
Step 4: Insert Dynamic Fields in Mailscale
Here’s how you actually get those fields into your email in Mailscale:
- Open Mailscale and go to Templates.
-
Create a new template or edit an existing one.
-
Use the insert menu or type fields manually.
- Mailscale usually gives you an “Insert Field” button, but you can also just type
{{field_name}}
. -
Double-check that your field names exactly match your column headers.
-
Add fallback values.
-
For any field that might be missing, add
|fallback
inside the curly braces:{{city|your area}}
-
Preview before sending.
- Use Mailscale’s preview tool to see what the email looks like for a few random contacts.
- If something looks weird, fix your template or your data.
Common mistakes to avoid: - Typos in field names (Mailscale won’t warn you; your email will just look broken) - Forgetting to check the preview before hitting send - Over-relying on fallback values—if you’re always showing “there” instead of a name, your data needs work
Step 5: Test, Adjust, and Send
Don’t assume you nailed it on the first try. There’s always something that slips through.
- Send test emails to yourself and a teammate.
- Use edge cases—someone with a weird name, someone missing a company, etc.
- Check for awkward phrasing.
- Does “Hi there,” sound okay in context? Or is it obvious you missed their name?
- Tweak your fallbacks.
- Sometimes “your field” is too vague. “Your industry” might sound better. Read it out loud.
Pro tip:
Keep a “broken template” folder. Every time you see a dynamic field fail in the wild, save a screenshot. It’ll save you from repeating the same mistake.
What About Advanced Personalization? (And When to Skip It)
You’ll hear a lot about “hyper-personalization” and AI-powered snippets. Here’s the reality: unless you have very high-value targets, the ROI on deep customization isn’t worth it for most campaigns.
- If you’re reaching out to 10 people a week, sure—write each one by hand.
- If you’re doing 100s, pick 2-3 fields that actually matter (name, company, maybe a recent event).
- Automated “personal insights” tools often get things wrong and make you look sloppy.
My take:
The best personalization is accurate and relevant. If you can’t guarantee that, stick to basics. It’s better to be a little generic than to send something obviously off-base.
Common Pitfalls (And How to Avoid Them)
-
Broken fields:
Double-check every field name. “first_name” and “firstname” aren’t the same. Mailscale won’t fix typos for you. -
Awkward fallbacks:
“Hi there, I noticed you’re at .” is worse than no email at all. Always preview. -
Over-customizing:
You can’t automate sincerity. Don’t try to fake it with six dynamic fields per sentence. -
Not updating templates:
What worked last month might not work now. Refresh your templates every few weeks.
Keep It Simple, Iterate, and Don’t Overthink
Personalized emails work because they feel real, not because you used the most dynamic fields. Start with a solid, conversational template, make sure your data’s clean, and use dynamic fields sparingly. Preview, test, and don’t be afraid to tweak as you go.
Most importantly: don’t get paralyzed trying to make it perfect. Hit send, learn from replies (or lack of them), and adjust. The best results come from continuous improvement, not endless fiddling.
Happy sending.