Skip to content
Leat Help Center

How to remove loyalty points after a period of inactivity

Leat has no points expiry setting. Instead, you build a periodic automation that checks every day which contacts haven't had a loyalty transaction for a set number of days, and clears their balance.

A periodic automation is the right tool here because nothing else can take points away. A recurring email and a points issuance can only add points to a balance, and a voucher issuance only hands something out. For scheduled work that only sends or gives, use those instead: see How to build an automation.

Looking for the Start a retention campaign template? It's been retired. To email contacts who haven't visited in a while, use the Retention email preset under Marketing → Recurring emails. The steps below cover the points. Automations you created from the old template keep running.

Build the automation

  1. Click Automation in the top menu, then New automation.
  2. Choose Empty automation and click Next.
  3. Choose Periodic and click Submit. The editor opens straight away. There's no name to fill in: the automation is called Periodic automation, and you can rename it later on its Information page.
  4. Click the Start step and add a filter: Filter group → Contact, set Option to Filter on profile attributes, pick the Attribute Last transaction date with the Operator Is exactly X days ago, enter the number of days you want to allow (365, for example) and click Save filter.
  5. Click the plus sign in the flow and add a Loyalty transaction action.
  6. Choose Directly set points, not Calculate using Loyalty Rules. You're setting a number, not earning one through a rule.
  7. In Number of points, type a minus sign, then open the { } merge-tag button and insert Points balance. The action then subtracts whatever the contact holds at that moment, which leaves them on 0. To take away a fixed amount instead, type a negative number and skip the merge tag.
  8. Pick the Business profile the transaction is recorded against and click Update.
  9. Open the Settings tab and go to Schedule. A new periodic automation runs Monthly, so set Frequency to Daily and click Submit.
  10. Go to Re-enrollment, switch on Allow re-enrollment and click Submit. It's off by default, and without it a contact who goes quiet a second time is never picked up again.
  11. Click Activate at the top right. Check the filter, the schedule and the action in the summary, then confirm with Activate.

The schedule has to be daily

Is exactly X days ago matches one single day, not "X days or more". That's what stops the automation firing at the same contact every day once they cross the line, but it also means the automation has to run every day. A monthly or weekly schedule only sees the contacts who happen to land on the day it runs, and everybody else passes the threshold unnoticed.

Warn contacts first

An Automated email action placed above the loyalty transaction isn't a warning: it runs at the same moment as the deduction, so the email arrives as the points go.

To give contacts notice, build a second periodic automation the same way, with the filter set to fewer days (335, for example), a daily schedule and an Automated email action telling them their points go in 30 days. Points disappearing without warning is the complaint this feature generates, and one extra automation prevents it.

What it leaves behind

The deduction is an ordinary loyalty transaction, so it shows up in the contact's history like any other. If somebody asks why their balance dropped, the answer is on their profile.

Because it's a loyalty transaction, it also resets the contact's Last transaction date. With re-enrollment on, a contact who stays inactive for another 365 days matches the filter again and gets a second deduction, this time of 0 points, because their balance is already 0. That's harmless, but it's why you may see 0-point transactions in a contact's history.

Back to the help center