Email Template Variables & Personalization
Email Template Variables & Personalization
Tier: Growth š± | Business š¼
Time: 5 minutes to learn
Prerequisites: Email campaigns feature, guests in database
Overview
Template variables allow you to personalize email campaigns by automatically inserting guest-specific information like their name, property they stayed at, or booking details. Instead of sending generic "Dear Guest" emails, you can send "Hi Sarah, thanks for staying at Beach House!" - making your communication feel personal and increasing engagement by 3-4x.
What Are Template Variables?
Template variables are placeholders in your email that get automatically replaced with real data when you send the campaign.
Simple Example
What you write:
Hi {guest_name}!
Thanks for staying at {property_name}.
We'd love to host you again!
Best,
{host_name}
What Sarah (who stayed at Beach House) receives:
Hi Sarah!
Thanks for staying at Beach House.
We'd love to host you again!
Best,
John
What Michael (who stayed at Mountain Cabin) receives:
Hi Michael!
Thanks for staying at Mountain Cabin.
We'd love to host you again!
Best,
John
Available Variables
Guest Variables
| Variable | Description | Example Output |
|---|---|---|
{guest_name} |
Guest's first name | Sarah |
{guest_full_name} |
Guest's full name | Sarah Johnson |
{guest_email} |
Guest's email address | sarah@example.com |
Property Variables
| Variable | Description | Example Output |
|---|---|---|
{property_name} |
Property name | Beach House |
{property_address} |
Full property address | 123 Beach Rd, Miami, FL |
{property_city} |
City only | Miami |
Booking Variables
| Variable | Description | Example Output |
|---|---|---|
{checkin_date} |
Last check-in date | May 15, 2025 |
{checkout_date} |
Last check-out date | May 18, 2025 |
{nights_stayed} |
Number of nights | 3 |
{booking_link} |
Unique booking URL | guestloop.com/b/abc123 |
{total_stays} |
Number of stays | 2 |
Host Variables
| Variable | Description | Example Output |
|---|---|---|
{host_name} |
Your name | John |
{host_email} |
Your email | john@beachhouse.com |
{host_phone} |
Your phone | (555) 123-4567 |
System Variables
| Variable | Description | Example Output |
|---|---|---|
{current_year} |
Current year | 2025 |
{current_month} |
Current month name | November |
{unsubscribe_link} |
Unsubscribe URL | guestloop.com/unsubscribe/xyz |
How to Use Variables
In Email Subject Line
Generic subject:
Come back to our property!
Open rate: ~12%
Personalized subject:
{guest_name}, we'd love to host you again at {property_name}!
Open rate: ~35% ā 3x better!
In Email Body
Generic body:
Dear Guest,
Thank you for your recent stay. We hope you enjoyed
your time and would love to welcome you back soon.
Best regards,
The Team
Personalized body:
Hi {guest_name}!
Thank you for staying at {property_name} back in {checkin_date}.
We hope you had an amazing time!
As a returning guest, we'd love to offer you 15% off your
next booking. Just use code WELCOME{guest_name}15 at checkout.
Looking forward to hosting you again!
Best,
{host_name}
Variable Syntax
Correct Format
ā
Lowercase - {guest_name}
ā
Underscores - {property_name}
ā
Curly braces - {host_name}
Common Mistakes
ā {Guest_Name} - Wrong capitalization
ā {guest-name} - Hyphens instead of underscores
ā [guest_name] - Square brackets instead of curly
ā {guestname} - Missing underscore
ā guest_name - Missing braces
Fallback Values
What If Data Is Missing?
Sometimes a guest record might be missing certain data (like name or property).
What GuestLoop Does:
| Variable | If Missing | Fallback |
|---|---|---|
{guest_name} |
No name in database | "Guest" |
{property_name} |
No property linked | "our property" |
{checkin_date} |
No booking history | "[recently]" |
{total_stays} |
No stay count | "your stay" |
Example:
Template:
Hi {guest_name}! Thanks for staying at {property_name}.
If name exists:
Hi Sarah! Thanks for staying at Beach House.
If name missing:
Hi Guest! Thanks for staying at Beach House.
Pro tip: Test your campaigns with incomplete guest data to see fallbacks in action.
Conditional Content (Advanced)
Pro Feature: If/Else Logic
Show different content based on guest data:
Hi {guest_name}!
{if total_stays > 1}
As a loyal returning guest, here's a special 20% discount!
{else}
Welcome! Here's 10% off your next stay.
{endif}
Guest with 1 stay sees:
Hi Sarah!
Welcome! Here's 10% off your next stay.
Guest with 3 stays sees:
Hi Michael!
As a loyal returning guest, here's a special 20% discount!
See: Advanced Campaign Personalization (Pro)
Campaign Examples Using Variables
Example 1: Welcome Email (First-Time Guests)
Subject:
Welcome to {property_name}, {guest_name}!
Body:
Hi {guest_name}!
Thanks for choosing {property_name} for your recent stay!
We're building a community of guests who love our properties,
and we'd be honored if you'd join us.
š§ Stay updated on seasonal offers
š Get early access to new properties
š Exclusive discounts for subscribers
Your guidebook is always available here: {booking_link}
Questions? Reply to this email or call {host_phone}.
Warm regards,
{host_name}
{property_name}
Example 2: Win-Back Campaign (Past Guests)
Subject:
{guest_name}, we miss you at {property_name}!
Body:
Hi {guest_name},
It's been a while since your last visit to {property_name}
back in {checkin_date}, and we've missed having you!
A lot has changed since then:
⢠New amenities added
⢠Renovated rooms
⢠Updated guidebook with new local spots
To welcome you back, here's an exclusive 15% discount code:
COMEBACK15
Book your next stay: [booking link]
Hope to see you soon!
{host_name}
{property_name}
Example 3: Seasonal Promotion
Subject:
Summer special for {guest_name} at {property_name}
Body:
Hi {guest_name}!
Summer is here at {property_name}, and we'd love to have you back!
š Perfect weather
šļø Beach season
š¹ New local restaurants
{if total_stays > 1}
As a returning guest, you get an EXTRA 5% off our summer rates!
{else}
Book 3+ nights and get 10% off!
{endif}
Your last stay was {nights_stayed} nights - maybe go longer this time?
Book now: [booking link]
{host_name}
{property_name}
Testing Variables
Before Sending Campaign
Always test to verify:
ā
Variables are spelled correctly
ā
Variables display real data
ā
Fallbacks work for missing data
ā
Formatting looks good
ā
No {variable} placeholders remain
How to Test
Method 1: Preview in Editor
- Create campaign with variables
- Click "Preview" button
- Select a test recipient from dropdown
- See how email looks with their data
- Try multiple recipients to test different scenarios
Method 2: Send Test Email
- Click "Send Test" button
- Enter your own email
- Receive test email in your inbox
- Verify variables replaced correctly
- Check mobile and desktop views
Method 3: Create Test Guest
- Add test guest to database:
- Name: "Test User"
- Email: your_email@example.com
- Property: Select one
- Create campaign
- Filter to test guest only
- Send campaign
- Check your inbox
- Delete test campaign sends after verifying
Variable Best Practices
Do's ā
Use first name for personalization:
ā
Hi {guest_name}!
ā
Welcome back, {guest_name}!
ā
{guest_name}, we have a special offer for you
Reference their specific property:
ā
We hope you enjoyed {property_name}
ā
Ready to return to {property_name}?
ā
New updates at {property_name}
Mention their stay details:
ā
Since your visit in {checkin_date}...
ā
You stayed {nights_stayed} nights last time
ā
This would be your {total_stays} stay with us!
Don'ts ā
Don't overuse variables:
ā Hi {guest_name}, {guest_name}, {guest_name}...
(Sounds robotic)
Don't use technical variables:
ā Your guest ID is {guest_id}
ā Your booking token: {booking_token}
(Not relevant to guest)
Don't assume data exists:
ā You stayed in room {room_number}
(If room_number isn't tracked, this breaks)
Don't be creepy:
ā We know you live at {guest_address}
ā You booked using {payment_method}
(Too much personal info = privacy concerns)
Common Issues
Issue 1: Variable Not Replaced
Problem:
Email shows {guest_name} instead of "Sarah"
Causes:
- Typo in variable name
- Extra spaces:
{ guest_name } - Wrong brackets:
[guest_name]
Solution:
- Double-check spelling
- Remove extra spaces
- Use curly braces
{}
Issue 2: Shows "Guest" Instead of Name
Problem: All emails say "Hi Guest!" instead of real names
Cause: Guest records missing name field
Solution:
- Go to Guests page
- Check guest records have names
- Import booking data with names
- Or manually add names to guest profiles
Issue 3: Blank Space Where Variable Should Be
Problem: "Hi ! Welcome..." (missing name)
Cause: Variable doesn't exist OR guest data truly empty
Solution:
- Use fallback in template:
Hi{if guest_name} {guest_name}{else} there{endif}! - Or use safer phrasing:
Hi there! OR Hello!
Advanced: Custom Variables (Pro)
Creating Custom Variables
Pro users can create custom variables for unique data:
Examples:
{loyalty_tier}- Gold, Silver, Bronze{favorite_amenity}- Pool, Hot Tub, Fireplace{referral_code}- Unique per guest{next_available_date}- Dynamic availability
See: Custom Variables Guide (Pro)
Variable Cheat Sheet
Quick Reference:
Most Common:
{guest_name} - First name
{property_name} - Property name
{booking_link} - Guidebook URL
{host_name} - Your name
Personalization:
{guest_full_name} - Full name
{checkin_date} - Last stay date
{total_stays} - Number of stays
{nights_stayed} - Duration of last stay
System:
{current_year} - 2025
{current_month} - November
{unsubscribe_link} - Required in footer
Measuring Impact
Tracking Variable Effectiveness
Open Rates:
- Generic subject: 12-20% open rate
- Personalized subject with {guest_name}: 30-40% open rate
- ā 2-3x improvement with personalization!
Click Rates:
- Generic body: 2-4% click rate
- Personalized body with variables: 8-12% click rate
- ā 3-4x improvement!
Response Rates:
- Generic email: <1% response
- Personalized email: 3-6% response
- ā 5-6x improvement!
What's Next?
After mastering template variables:
- ā Creating Email Campaigns - Build campaigns
- ā Audience Targeting - Segment your guests
- ā Sending Campaigns - Launch your campaigns
- ā Email Performance Tracking - Measure results
Frequently Asked Questions
Q: Are variables case-sensitive?
A: The variable name is case-sensitive ({guest_name} not {Guest_Name}), but the output isn't.
Q: Can I use multiple variables in one email?
A: Yes! Use as many as you want. Just don't overdo it (feels robotic).
Q: What if a guest has no property association?
A: The {property_name} variable will show "our property" as fallback.
Q: Can I create my own variables?
A: Yes, but only on Pro plan. Use Custom Variables feature.
Q: Do variables work in SMS too?
A: Yes! Same variables work in both email and SMS campaigns.
Q: Can I use variables in email attachments?
A: No, variables only work in email subject and body text.
Need Help?
- Video Tutorial: Watch: Personalizing Campaigns
- Variable Reference: Full list at /docs/variables
- Support: support@guestloop.com
- Examples: Download campaign templates at /templates
Personalization = Higher engagement + Better relationships + More bookings! āØš§
Need More Help?
Can't find what you're looking for? Our support team is here to help!
Contact Support ā