How it works
Earn — every award creates a batch stamped with its own expiry date.
Spend — points come out of batches in the order your store chooses (see below).
Expire — a daily job retires only the batches that have actually reached their expiry date. The rest of the customer's balance is untouched.
Two spending orders
You can choose how points are spent under Settings → Platform → Points Expiration → Points spending order. This setting affects spending only — expiry always follows each batch's own date, regardless of which order you pick.
Oldest earned first (FIFO / FCFS) — the default. Uses the earliest-earned batch first, even if another batch is due to expire sooner.
Soonest expiring first (FEFO) — uses the batch with the nearest expiry date first. Ties break to the oldest-earned batch.
Example: A customer has 100 points earned in January (expiring December) and 50 points earned in March (expiring April). They spend 50 points.
FIFO takes from the January batch — the April batch may end up expiring unused.
FEFO takes from the April batch instead, so nothing expires that could have been spent.
In short: FIFO follows the fairer "first come, first served" order. FEFO wastes fewer points overall.
What merchants see
Every customer page now has a Points batches panel showing:
Total still spendable
Active batches
Next expiry date
Every individual batch, with its remaining amount, status, and source
This makes "where did my points go?" a question you can actually answer.
Reminder emails
Warning and last-chance expiry emails now fire per batch, on that batch's own dates, with lead times you can configure per store.
Stores using the fixed-date expiry strategy get a separate Points Reset email, since a reset clears the entire balance at once, while a batch expiry only removes the points that have reached their date.
Rollout
Per-batch expiry is off by default — existing stores are unaffected until they opt in.
When a store switches over, the conversion happens in place: every customer's current balance becomes one opening batch, so nobody gains or loses a point in the process. If you change the expiry window later, it only applies to batches earned after that change — existing batches keep their original expiry date.
Have questions? Reach out to our support team — we're happy to help you decide which spending order is right for your store.