Skip to content

Using Email Variables (Placeholders)

Learn how to use dynamic variables in email templates to personalize customer communications automatically.

Email variables (also called placeholders or merge tags) are dynamic content that automatically fills in with real data when emails are sent.

Example:

Template: Hi {customer.name}, thank you for your order!
Sent email: Hi John, thank you for your order!

{customer.name} - Customer’s first name

Example: John
Usage: Hi {customer.name}!

{customer.email} - Customer’s email address

Example: john@example.com
Usage: Sent to {customer.email}

{customer.full_name} - Customer’s full name

Example: John Smith
Usage: Dear {customer.full_name},

{shop.name} - Your shop name

Example: My Digital Store
Usage: Thank you for your purchase from {shop.name}

{shop.domain} - Your shop URL

Example: mystore.myshopify.com
Usage: Visit {shop.domain} for more products

{shop.email} - Shop contact email

Example: support@mystore.com
Usage: Contact us at {shop.email}

{order.number} - Order number

Example: #1001
Usage: Order {order.number} is ready

{order.id} - Internal order ID

Example: 5234567890123
Usage: Order ID: {order.id}

{order.date} - Order date

Example: January 15, 2024
Usage: Ordered on {order.date}

{download.expiry} - Download link expiration (days)

Example: 60
Usage: This link expires in {download.expiry} days

{download.button} - Download button (automatically inserted)

Note: Don't manually add this - it's auto-inserted

{download.link} - Raw download URL

Example: https://your-app.com/download?key=abc123
Usage: Download: {download.link}
(Not recommended - use button instead)

  1. Click in text field where you want variable
  2. Click Insert Variable button
  1. Dropdown menu shows available variables
  2. Click variable to insert
  1. Variable appears in text with curly braces

  1. Type opening brace: {
  2. Auto-complete suggestions appear (if available)
  3. Type variable name: customer.name
  4. Type closing brace: }

Result: {customer.name}


Copy variable from documentation:

{customer.name}
{shop.name}
{order.number}

Paste into email template field.


Your download from {shop.name}
Order #{order.number} ready for download
{customer.name}, your files are here!

Thank You, {customer.name}!
Your {shop.name} Files Are Ready
Welcome to {shop.name}

Hi {customer.name},
Thank you for your purchase from {shop.name}.
Your order #{order.number} is ready to download.
This download link will expire in {download.expiry} days.
If you have questions, email us at {shop.email}.
Enjoy!
The {shop.name} Team

© 2024 {shop.name}. All rights reserved.
Questions? Contact {shop.email}
Order #{order.number} | {order.date}

Subject: Your Order #{order.number} from {shop.name}
Dear {customer.full_name},
Thank you for your order placed on {order.date}.
Your digital products are now available for download.
This download link will remain active for {download.expiry} days.
Should you require assistance, please contact us at {shop.email}.
Best regards,
{shop.name}

Subject: {customer.name}, your files are ready! 🎉
Hey {customer.name}!
Your order from {shop.name} is all set! Click below to grab your files.
Remember, you've got {download.expiry} days to download, so no rush!
Questions? Just reply to this email!
Cheers,
The {shop.name} Team

Subject: Download: Order #{order.number}
{customer.name},
Your files from {shop.name} are ready.
Download below. Link expires in {download.expiry} days.
{shop.email}

Include {shop.name} for brand recognition:

  • In subject line
  • In message body
  • In footer

Good:

Subject: Your download from {shop.name}
Message: Thank you for your purchase from {shop.name}

Bad:

Subject: Your download
Message: Thank you for your purchase

Use {customer.name} for personalization:

Good:

Hi {customer.name}, your files are ready!

Bad:

Hi there, your files are ready!

Reference {order.number} for support:

Order #{order.number} is ready
Reference order #{order.number} if you need help

Benefits:

  • Easy for customer to reference
  • Helps support team locate orders
  • Professional appearance

Always inform about {download.expiry}:

Download link expires in {download.expiry} days
You have {download.expiry} days to access your files

Why:

  • Sets expectations
  • Creates urgency
  • Reduces support questions

Include {shop.email} for support:

Questions? Contact us at {shop.email}
Email {shop.email} if you need help
Reply to this email for support

Variables preserve capitalization:

{customer.name} = John (capitalized)
{CUSTOMER.NAME} = Not valid (use lowercase variable names)

If customer name is missing:

{customer.name} → "Customer" or "there"

System provides sensible fallback:

Hi {customer.name}! → Hi there!

When sending test emails:

Variables show sample data:

{customer.name} → John Smith (sample)
{order.number} → #1001 (sample)
{shop.name} → Your actual shop name
  • All variables display correctly
  • No broken variables (showing {variable} literally)
  • Capitalization looks natural
  • Spacing around variables correct
  • Variables in right context

Problem:

Email shows: Hi {customer.name}!
Should show: Hi John!

Causes:

  • Typo in variable name
  • Extra space inside braces
  • Using wrong case

Solutions:

  1. Check spelling: {customer.name} (not {customername})
  2. Remove spaces: {customer.name} (not { customer.name })
  3. Use lowercase: {customer.name} (not {Customer.Name})

Problem:

Email shows: Hi !
Should show: Hi John!

Cause: Customer data missing (no first name in order)

Solution:

  1. Use fallback phrasing:
    • Instead of Hi {customer.name}!
    • Use Hi {customer.name} or Hello there!
  2. Check customer data in orders

Problem:

Email shows wrong shop name or order number

Cause: Rare system issue

Solution:

  1. Check template saved correctly
  2. Send test email
  3. Contact support if persists

Combine multiple variables in one sentence:

Hi {customer.name}, your order #{order.number} from {shop.name} is ready!

Use variables in custom links:

<a href="{shop.domain}">Visit our store</a>
Track your order: {shop.domain}/orders/{order.number}

Some platforms support conditional variables:

{if customer.name}
Hi {customer.name}!
{else}
Hi there!
{endif}

Note: Check if your app version supports this.


VariableDescriptionExample
{customer.name}First nameJohn
{customer.full_name}Full nameJohn Smith
{customer.email}Emailjohn@example.com
{shop.name}Shop nameMy Store
{shop.domain}Shop URLmystore.com
{shop.email}Support emailsupport@mystore.com
{order.number}Order number#1001
{order.id}Order ID5234567890
{order.date}Order dateJan 15, 2024
{download.expiry}Expiry days60
{download.link}Download URLhttps://…

Save templates for different scenarios:

Template A - First Purchase:

Welcome {customer.name}! Thank you for your first order from {shop.name}!

Template B - Repeat Customer:

Welcome back {customer.name}! Thanks for ordering from {shop.name} again!

This email was sent to {customer.email}
Order reference: #{order.number}

Test emails with and without personalization:

Version A: Hi {customer.name}! Version B: Hi there!

Track engagement to see which performs better.


Check:

  1. Correct variable name
  2. Proper syntax: {variable.name}
  3. No extra spaces
  4. Template saved
  5. Test email sent

If customers see variables in different languages, check:

  1. Shop locale settings
  2. Customer language preference
  3. Variable translation settings