Skip to content

Template Examples

The best way to learn NLT is by seeing it in action. Here are five real-world email templates that combine multiple NLT features together. Each example includes the full template followed by a breakdown of the techniques used.


Welcome Email

A personalized welcome that adapts based on the user's plan and shows their benefits if they're a premium member.

{the user's First Name, or "there"}!
 
Welcome to {the user's Plan is premium ? "our VIP program" : "Synapse"}.
 
{if the user's Plan is premium}
As a premium member, you get:
{list the user's Benefits, as unordered list}
{else}
Upgrade to premium for exclusive benefits!
{end if}
 
{# Footer with current date #}
Sent on {today, as "long date"}

Example: Welcome email output

Template:

Hi {the user's First Name, or "there"}!
 
Welcome to {the user's Plan is premium ? "our VIP program" : "Synapse"}.
 
{if the user's Plan is premium}
As a premium member, you get:
{list the user's Benefits, as unordered list}
{else}
Upgrade to premium for exclusive benefits!
{end if}
 
Sent on {today, as "long date"}

Output:

Hi Jane!

Welcome to our VIP program.

As a premium member, you get:

  • Priority support
  • Advanced analytics
  • Custom branding

Sent on April 7, 2026

Techniques used:

  • Fallback values -- or "there" ensures a greeting even without a name
  • Ternary expression -- inline plan-based messaging
  • Conditional block -- different content for premium vs. free users
  • Quick list -- renders benefits as a bullet list
  • Comments -- invisible note about the footer section
  • Built-in date -- {today} with long date formatting

Order Confirmation

A transactional email with an order summary table, calculated totals, and conditional discount display.

{set order_total to sum of the user's Order Amounts}
 
Hi {the user's First Name},
 
Thank you for your order of {count of the user's Order Items, pluralize "item"}!
 
{table the user's Order Items with columns: Name, Quantity, Price}
 
Order total: {order_total, as "currency"}
{if the user's Discount Code is set}
Discount applied: {the user's Discount Percentage, as "percentage"} off
{set savings to order_total times the user's Discount Percentage}
You saved: {savings, as "currency"}
{end if}

Example: Order confirmation output

Template:

{set order_total to sum of the user's Order Amounts}
 
Hi {the user's First Name},
 
Thank you for your order of {count of the user's Order Items, pluralize "item"}!
 
{table the user's Order Items with columns: Name, Quantity, Price}
 
Order total: {order_total, as "currency"}
{if the user's Discount Code is set}
Discount applied: {the user's Discount Percentage, as "percentage"} off
{end if}

Output:

Hi Jane,

Thank you for your order of 3 items!

[Styled HTML table with Name, Quantity, Price columns]

Order total: $149.97 Discount applied: 15% off

Techniques used:

  • Variable assignment -- {set order_total to ...} stores the sum for reuse
  • Aggregates -- sum of and count of for calculations
  • Pluralization -- "3 items" vs. "1 item"
  • Table -- renders order items as an email-safe HTML table
  • Currency formatting -- as "currency" for polished dollar amounts
  • Percentage formatting -- as "percentage" for the discount
  • Conditional block -- only shows discount section when a code exists

Product Recommendations

A personalized recommendation email with a for loop, item limit, and empty fallback.

Hi {the user's First Name}, check out these picks:
 
{for product in the user's Recommendations, show first 3}
<div style="margin-bottom: 16px;">
<h3>{loop.index}. {product.Name}</h3>
<p>{product.Description, truncate 80}</p>
<p><strong>{product.Price, as "currency"}</strong></p>
{if loop.last}
<p><a href="/recommendations">See all recommendations</a></p>
{end if}
</div>
{else}
<p>We're preparing personalized recommendations for you!</p>
{end for}

Example: Product recommendations output

Template:

Hi {the user's First Name}, check out these picks:
 
{for product in the user's Recommendations, show first 3}
{loop.index}. {product.Name}
{product.Description, truncate 80}
{product.Price, as "currency"}
{else}
We're preparing personalized recommendations for you!
{end for}

Output:

Hi Jane, check out these picks:

  1. Widget Pro The ultimate widget for professionals who need... $29.99
  2. Gadget X A versatile gadget that integrates with your... $49.99
  3. Alpha Kit Everything you need to get started with alpha... $19.99

Techniques used:

  • For loop -- iterates over recommendation list
  • Item limit -- show first 3 caps the displayed items
  • Loop variables -- {loop.index} for numbering, {loop.last} for conditional footer
  • Truncation filter -- truncate 80 shortens long descriptions
  • Currency formatting -- prices displayed as $29.99
  • Empty fallback -- {else} provides a friendly message when no recommendations exist

Birthday Campaign

A birthday email that adapts its message based on whether today is the contact's actual birthday or if it's coming up this month.

{if the user's Birthday is today}
Happy Birthday, {the user's First Name}!
 
Here's a special {the user's Birthday Discount, as "percentage"} discount
just for you. Use code: BDAY{the user's First Name, uppercase}
 
This offer expires at midnight tonight!
 
{else if the user's Birthday is this month}
Your birthday is coming up, {the user's First Name}!
 
Watch your inbox for a special surprise.
{if the user's Plan is premium}
As a VIP member, you'll get an extra bonus on your big day.
{end if}
 
{else if the user's Birthday is this week}
Almost there, {the user's First Name}!
Your birthday week celebrations are about to begin.
 
{end if}

Example: Birthday campaign output (birthday is today)

Template:

{if the user's Birthday is today}
Happy Birthday, {the user's First Name}!
Here's a special {the user's Birthday Discount, as "percentage"} discount just for you.
Use code: BDAY{the user's First Name, uppercase}
{else if the user's Birthday is this month}
Your birthday is coming up, {the user's First Name}!
Watch your inbox for a special surprise.
{end if}

Output:

Happy Birthday, Jane! Here's a special 25% discount just for you. Use code: BDAYJANE

Techniques used:

  • Date comparisons -- is today, is this month, is this week
  • Else-if chains -- different messages for birthday, birthday month, and birthday week
  • Percentage formatting -- as "percentage" for the discount
  • Text transform -- uppercase to generate a personalized promo code
  • Nested conditionals -- VIP bonus check inside the birthday-month branch

Re-engagement Email

A re-engagement email that varies its approach based on how long it's been since the user's last login, with nested conditionals for premium users.

{if the user's Last Login is within the last 7 days}
{# Active user -- skip re-engagement #}
{else if the user's Last Login is within the last 30 days}
Hi {the user's First Name}, we miss you!
 
It's been a while since your last visit.
Here's what you've missed:
{for update in the user's Recent Updates, show first 3}
- {update.Title} ({update.Date, as "short date"})
{else}
- Lots of exciting improvements!
{end for}
 
{else}
Hi {the user's First Name, or "there"},
 
We haven't seen you in a while.
 
{if the user's Tags contains "premium"}
Your premium features are waiting for you:
{list the user's Premium Features, as unordered list}
 
{set days_since to the user's Days Inactive}
{if days_since is more than 90}
As a valued premium member, we'd love to help you get
back on track. Reply to this email and we'll set up a
personal walkthrough.
{end if}
{else}
We've added some great new features since your last visit.
Come see what's new!
{end if}
{end if}

Example: Re-engagement output (30-day inactive user)

Template:

{if the user's Last Login is within the last 7 days}
{# Active user -- skip #}
{else if the user's Last Login is within the last 30 days}
Hi {the user's First Name}, we miss you!
It's been a while since your last visit.
{else}
Hi {the user's First Name, or "there"},
We haven't seen you in a while.
{if the user's Tags contains "premium"}
Your premium features are waiting for you.
{end if}
{end if}

Output:

Hi Jane, we miss you! It's been a while since your last visit.

Techniques used:

  • Date range checks -- is within the last 7 days, is within the last 30 days
  • Else-if chains -- tiered engagement based on inactivity period
  • Comments -- marks the active-user branch as intentionally empty
  • Nested conditionals -- premium-specific messaging inside the long-inactive branch
  • Containment check -- contains "premium" on tags array
  • Fallback values -- or "there" for the most disengaged group
  • For loop with limit and fallback -- recent updates list with empty state
  • Quick list -- premium features as bullet points
  • Variable assignment -- stores days inactive for a secondary check
Tip

These examples show how NLT features compose together naturally. Start simple with variables and conditionals, then layer on loops, formatting, and calculations as your templates grow more sophisticated.