Skip to main content

Send points expiration reminder emails via Shopify Messaging

Here's how you can set up a Flow workflow to send reminder emails when a customer's points are about to expire.

Step 1: Install the Flow template

1. Go to Shopify Flow → Browse templates

2. Search for Alpha Loyalty workflows

3. Choose the template you need and click Install


Step 2: Customizing the timing

By default, this workflow sends reminders at 14 and 3 days before expiration. You can adjust this to fit your needs.

To change when reminders are sent:

  1. Open the workflow for editing

  2. Click on the Condition blocks that check "Days left is equal to 14" or "Days left is equal to 3"

  3. Change the number to your preferred timing (any number from 1 to 30)

To control what time of day emails are sent:

The "Points expiration approaching" trigger fires daily between 2:00–3:00 AM UTC. Use the Wait action to delay delivery until a better time for your customers.

  1. Click on the Wait block

  2. Set your preferred delay (e.g., "Wait 6 hours" to send around 8–9 AM UTC)


Step 3: Set up your emails

Below you'll find templates to be sent 14 and 3 days before expiration. Please adjust these templates accordingly if you decide to change the sending days.

Open the newly added workflow for editing. Click on each "Send marketing email" step, choose Select template → Code your own.

Copy and paste the code of the ready-to-use Liquid email templates we have prepared for you.

Email 1: First reminder (14 days before)

Subject line:

Don't let your rewards slip away! ✨

Paste this Liquid code:

<div style="text-align: center; color: #000000; padding: 20px 0;">   
<h1 style="font-size: 28px; margin-bottom: 20px; font-weight: 400;">
Your points are expiring soon</h1>
<p style="font-size: 16px; margin-bottom: 15px; color: #000000;">
We wanted to let you know that the loyalty points on your balance will be expiring soon.
</p>
<p style="font-size: 16px; margin-bottom: 30px; color: #000000;">
You've earned them, so don't let them go to waste! Use them toward your next purchase and treat yourself to something special.
</p>
<p style="font-size: 16px; margin-bottom: 15px; color: #000000;">
{{customer.metafields.alpha_loyalty.balance}} points will expire on {{ customer.metafields.alpha_loyalty.expiration_datetime | date: "%B %d, %-I:%M %p"}}.
</p>
<a href="{{shop.url}}/?AlLo_open_widget" style="background-color: #4E488C; cursor: pointer; color: #ffffff; padding: 18px 45px; text-decoration: none; border-radius: 50px; font-size: 16px; display: inline-block; margin-bottom: 40px;">
Redeem my points now
</a>
<p style="font-size: 12px; color: #646462;">
No longer want to receive these emails? {{unsubscribe_link}}
</p>
{{open_tracking_block}}
</div>

Email 2: Final notice (3 days before)

Subject line:

Final notice: Your loyalty points are about to expire ⏳

Paste this Liquid code:

<div style="text-align: center; color: #000000; padding: 20px 0;">
<h1 style="font-size: 28px; margin-bottom: 20px; font-weight: 400;">
Don't miss out on your savings
</h1>
<p style="font-size: 16px; margin-bottom: 15px; color: #000000;">
Time is running out! Your points balance is scheduled to expire in just a few days.
</p>
<p style="font-size: 16px; margin-bottom: 30px; color: #000000;">
We'd hate for you to miss the chance to save on your favorite items. </p>
<p style="font-size: 16px; margin-bottom: 15px; color: #000000;">
{{customer.metafields.alpha_loyalty.balance}} points will expire on {{ customer.metafields.alpha_loyalty.expiration_datetime | date: "%B %d, %-I:%M %p"}}.
</p>
<a href="{{shop.url}}/?AlLo_open_widget" style="background-color: #4E488C; cursor: pointer; color: #ffffff; padding: 18px 45px; text-decoration: none; border-radius: 50px; font-size: 16px; display: inline-block; margin-bottom: 40px;">
Redeem my points now
</a>
<p style="font-size: 12px; color: #646462;">
No longer want to receive these emails? {{unsubscribe_link}}
</p>
{{open_tracking_block}}
</div>

Then press the Set to active button for the template and turn the Shopify flow on.

Here's what the emails will look like in your client's inbox:

Coding your own email

If you'd like to code your own, add these dynamic Liquid variables via a Custom Liquid block:

{{customer.metafields.alpha_loyalty.balance}} — the customer's current points balance

{{ customer.metafields.alpha_loyalty.expiration_datetime | date: "%B %d, %-I:%M %p"}} — the date when points will expire

💡 The expiration_datetime variable is created by this Flow workflow right before sending the email — that's why you can only use this variable within this specific workflow.


Need help? Reach out at [email protected]

Did this answer your question?