Email Template Variables & Personalization

🌱Growth5 minutes

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

  1. Create campaign with variables
  2. Click "Preview" button
  3. Select a test recipient from dropdown
  4. See how email looks with their data
  5. Try multiple recipients to test different scenarios

Method 2: Send Test Email

  1. Click "Send Test" button
  2. Enter your own email
  3. Receive test email in your inbox
  4. Verify variables replaced correctly
  5. Check mobile and desktop views

Method 3: Create Test Guest

  1. Add test guest to database:
  2. Create campaign
  3. Filter to test guest only
  4. Send campaign
  5. Check your inbox
  6. 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:

  1. Go to Guests page
  2. Check guest records have names
  3. Import booking data with names
  4. 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:

  1. āœ… Creating Email Campaigns - Build campaigns
  2. āœ… Audience Targeting - Segment your guests
  3. āœ… Sending Campaigns - Launch your campaigns
  4. āœ… 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?


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 →

More Guides

Email Template Variables & Personalization | GuestLoop Help Center