1. Home
  2. Knowledge Base
  3. Loyalty Program
  4. How to set up loyalty program email notifications

How to set up loyalty program email notifications

Customers who can’t tell whether they earned points (or who forget they have a balance) generate avoidable support tickets. Loyalty Program for WooCommerce ships two transactional emails to close that gap: an earned points notification that confirms points after a qualifying activity, and a loyalty point reminder that nudges inactive customers about an unused balance (including the calculated expiry date in the default copy).

This guide covers where to schedule and toggle each send inside the Loyalty Program admin, how the two emails connect to WooCommerce’s email editor, and how to override the templates from your theme.

Prerequisites

  • WooCommerce is installed and configured to send mail from your store (SMTP or host mail as you normally would).
  • Advanced Loyalty Program 1.8.4 or later is active. The Emails settings section and the two WooCommerce email types were added in 1.8.4. The per-action toggles under Point earning actions email notifications came later, in 1.8.8, so use 1.8.8 or later if you want to control emails per earn action.
  • Advanced Coupons (free) is active, so the Loyalty Program admin app is available under Coupons → Loyalty Program.

How to configure loyalty email timing and triggers

Open the Emails settings

  1. Log in to WordPress as a store administrator.
  2. Go to Coupons → Loyalty Program.
  3. Click the Settings tab.
  4. Open the Emails section.

This screen saves each field on its own as you change it. A short confirmation notice appears in the corner after each change, for example “What time of day should notification be sent? successfully updated”. There is no global save button to click.

Schedule when earned-points emails go out

  1. Under Earned Points Notification, set What time of day should notification be sent? to the clock time you want the plugin to dispatch earned-points emails. This uses your store timezone from the WooCommerce general settings.

Choose which earn actions trigger emails

These toggles map to the ways customers earn points, which you configure elsewhere in the Loyalty Program settings. Turning a toggle off stops the email for that action. It does not stop the points from being earned.

  1. Under Point earning actions email notifications, turn each action toggle on or off. The plugin sends an earned-points email only for actions whose toggle is on.
  • Purchasing products
  • Leaving a product review
  • Commenting on a blog post
  • Registering as a user/customer
  • After completing first order
  • Spending over a certain amount (breakpoints)
  • Extra points during a period

Schedule the inactivity reminder

  1. Under Loyalty Point Reminder, set How long after being inactive should a reminder be sent? in days.
  2. Set What time of day should reminders be sent? to the clock time you want reminders dispatched.

The on-screen tooltip describes inactivity in terms of order activity. The plugin also re-anchors the reminder to loyalty point ledger updates, covered under How loyalty point reminders are timed below, so treat this value as your reminder delay window rather than a strict order-inactivity count.

Preview or edit each email template

  1. Use Click to preview email beside either block to open a browser preview tied to your own user record.
  2. Use Edit email content to jump straight into the WooCommerce email editor for that email type, where the subject, heading, body, and related options live.
Emails settings showing the Earned Points Notification and Loyalty Point Reminder blocks

When to use each setting

  • Once-a-day frequency cap: set What time of day should notification be sent? to a single store-local time (for example 10:00 am). Each customer gets at most one earned-points email for that scheduled window; if multiple earns arrive before send time, only the latest earn is sent and earlier ones are dropped (see How earned points notifications are sent below).
  • High-volume / fast-cycling store: keep How long after being inactive should a reminder be sent? short (7–14 days) so customers hear about an unused balance before they forget the store.
  • Considered-purchase / slow-cycling store: a longer window (30–60 days) avoids reminding customers who simply haven’t reached their next buying cycle.
  • Quieter program: turn off the toggles under Point earning actions email notifications for low-value earns (e.g. Commenting on a blog post) and leave only the high-signal ones (e.g. Purchasing products, After completing first order.) on.

How to customize each email in WooCommerce

  1. Go to WooCommerce → Settings → Emails.
  2. Open Loyalty Program – earned points notification or Loyalty Program – loyalty point reminder from the list (each row title matches that string exactly).
  3. Tick Enable this email so WooCommerce dispatches that email type.
  4. Edit Subject, Email heading, Message, Additional content, and Email type as needed. See Available placeholders below for the tokens each email accepts.
  5. Click Save changes.

There’s no separate recipient field on either screen. At send time, the plugin sets the recipient to the customer’s WooCommerce account email in code.

Out of the box, the customer-facing subject lines are “[{site_title}]: You have earned {customer_earned_points} points!” for the earned-points notification and “[{site_title}]: You have {customer_balance} points waiting to be used!” for the inactivity reminder. Override either by typing your own copy into the Subject field on that email’s screen.

WooCommerce Settings Emails screen with the Loyalty Program earned points notification row expanded

How earned points notifications are sent

  • When a new earn loyalty point entry is created, the plugin checks that the Loyalty Program – earned points notification email is enabled in WooCommerce and that the corresponding toggle under Point earning actions email notifications is on for that earn action.
  • If both checks pass, the plugin queues a single Action Scheduler job on the hook lpfw_earned_points_notification_trigger (group LPFW) for your configured What time of day should notification be sent? time. If another earn for the same customer arrives before that run, the pending job is cancelled and replaced, so customers don’t get spammed; the queued payload always reflects the latest scheduled earn for that window.
  • At send time, WooCommerce loads the Loyalty Program – earned points notification template, fills the placeholders from the customer’s balance and the queued earn details, and sends the email as long as Enable this email is on, and the customer has a valid email address.

How loyalty point reminders are timed

  • Whenever a loyalty point entry is created or updated for a customer, the plugin checks that Loyalty Program – loyalty point reminder is enabled in WooCommerce, then schedules lpfw_loyalty_point_reminder_trigger (group LPFW) for the number of days set in How long after being inactive should a reminder be sent?, at What time of day should reminders be sent?. The plugin cancels any previous pending reminder for that customer first so only one future reminder stays queued.
  • When the job runs, the customer must still have a positive points balance. If the balance is zero or less, the send stops with no email.
  • The default Message copy mentions points due to expire on {customer_balance_expiry}. That date comes from your store’s loyalty balance and expiry rules, which you configure separately under Coupons → Loyalty Program → Settings → Redemption & Expiry. Scheduling itself is driven by the reminder delay and time fields above, not by the expiry cron.

Template overrides and preview

Preview

  • From Coupons → Loyalty Program → Settings → Emails, use Click to preview email beside either block. The link opens an admin-ajax preview in a new tab using a preview nonce tied to your user.

HTML and plain templates

  • Override the HTML templates by copying the plugin files into your theme:
    wp-content/plugins/loyalty-program-for-woocommerce/templates/emails/earned-points-notification.phpyourtheme/woocommerce/emails/earned-points-notification.php
    wp-content/plugins/loyalty-program-for-woocommerce/templates/emails/loyalty-point-reminder.phpyourtheme/woocommerce/emails/loyalty-point-reminder.php
  • Plain-text versions follow the same pattern: copy from templates/emails/plain/earned-points-notification.php and templates/emails/plain/loyalty-point-reminder.php into yourtheme/woocommerce/emails/plain/….

To disable a flow later, clear the relevant toggles in Point earning actions email notifications, untick Enable this email for that WooCommerce email type, or both.

Available placeholders

You can use these tokens in the Subject, Email heading, Message, and Additional content fields. They are replaced with the customer’s own values when the email is sent. The two emails accept different sets, so a token from one does not resolve in the other.

Both emails

  • {site_title}: your store name, from the WordPress site title.
  • {customer_name}: the customer display name.
  • {customer_email}: the customer account email address.
  • {customer_balance}: their current points balance.
  • {customer_balance_worth}: that balance as a currency amount.
  • {customer_balance_expiry}: when the balance expires, if you have expiry turned on.

Earned points notification only

  • {customer_earned_points}: the points earned in the action that triggered the email.
  • {customer_earned_points_worth}: those earned points as a currency amount.
  • {customer_earned_points_action}: the action they earned the points for, for example a purchase or a product review.

The inactivity reminder does not accept the three earned-points tokens, because there is no single triggering action behind it.

Troubleshooting

Customers aren’t getting earned points emails

Open WooCommerce → Settings → Emails and confirm Enable this email is on for Loyalty Program – earned points notification. Then open Coupons → Loyalty Program → Settings → Emails and confirm the matching action toggle is on under Point earning actions email notifications. In WooCommerce → Status → Scheduled Actions, search for lpfw_earned_points_notification_trigger in group LPFW to confirm a send was queued and completed.

The loyalty reminder never arrives

Confirm Loyalty Program – loyalty point reminder is enabled under WooCommerce → Settings → Emails, and that the customer still has a points balance above zero when the job runs. Inspect lpfw_loyalty_point_reminder_trigger in WooCommerce → Status → Scheduled Actions (group LPFW). If jobs stay Pending, your site cron or Action Scheduler queue is not processing. Check WP-Cron health and your host cron configuration.

Placeholders look empty in previews

Some placeholders only populate when the customer has activity history (for example, the latest earn used in previews). Use a real customer account with point activity, or adjust Subject and Message copy so missing optional placeholders are acceptable.

Frequently asked questions

Does the reminder email fire exactly when points are about to expire?

No. The send time is controlled by your How long after being inactive should a reminder be sent? and What time of day should reminders be sent? settings after each point ledger update. The default message includes the calculated {customer_balance_expiry}, but expiry itself is configured separately under Coupons → Loyalty Program → Settings → Redemption & Expiry.

Can I send a one-off reminder to one customer?

Yes. Open Coupons → Loyalty Program → Customers, locate the customer row, and click Remind. The plugin opens a Send a Reminder modal with Preview and Send buttons. The manual reminder runs alongside the automated schedule.

Where are the WooCommerce email option records stored?

WooCommerce stores each email’s fields under standard option keys: woocommerce_lpfw_earned_points_notification_settings and woocommerce_lpfw_loyalty_point_reminder_settings. Do not edit these directly. Always use the WooCommerce email editor so values stay validated and serialized correctly.

Need help?

If you have a question or run into any issues, we’re here to help.

Was this article helpful?

Related Articles

Complete Your Purchase