Settings
Loyalty Settings
First In, First Out (FIFO) Expiration Logic
7 min
what is fifo? fifo stands for first in, first out , and it’s exactly what it sounds like when a customer redeems points, the oldest available points are applied first this is helps keep your program transparent, accurate, and easy to maintain benefits for retailers encourages timely redemption – customers are motivated to use their points before they expire, increasing engagement and preventing long term point accumulation that could lead to financial liabilities reduces liability risks – loyalty points represent a future cost to the retailer by expiring older points first, businesses can manage and predict financial obligations more effectively prevents hoarding & overspending – fifo discourages customers from stockpiling points indefinitely, helping retailers control excessive redemptions that could strain profitability enhances customer experience – a transparent system where older points are used first ensures fairness and avoids customer frustration over unexpected expirations improves program efficiency – fifo logic simplifies program management, ensuring a consistent flow of point usage and making reporting and accounting more straightforward how fifo logic works in aiq when fifo is enabled in your loyalty settings each time a customer earns points (via sale, boost, manual adjustment, etc ), an accrual event is logged with a timestamp and expiration on redemption, aiq will automatically use the oldest available points first , moving in order until the full reward is covered example a customer has 250 points total 100 points from january 150 points from march they redeem 120 points in april fifo pulls 100 from january (now gone) 20 from march (130 left) what happens on merges? we use contact id (not phone/email) as the single source of truth that means when profiles merge, point histories and expiration dates remain accurate expired points stay expired active points stay active you won’t see "phantom" redemptions or duplicated points where can i view fifo activity? you will see an updated timeline which shows which accural event(s) a redemption reduces points from fifo points reporting will be available through alerts & reporting for more information, see our docid\ tymegnn sjbrpiymebwdn documentation migration scenarios what happens when you enable fifo when you switch to fifo, aiq rolls over each customer’s current point balance into the fifo system as of the fifo start time if point expirations were not enabled before, the rolled over balance will start fresh (the migration date becomes “day 1” of the expiration window) if point expirations were enabled before, whatever expires before the fifo start time will be removed first, and the remaining balance is what rolls into fifo if you want “expire anything older than 365 days” before turning on fifo fifo does not retroactively evaluate when existing points were originally earned if a retailer wants points older than 365 days to be removed before they migrate (so balances are accurate for customer comms), use this workflow set point expiration to 365 days (without fifo) allow expirations to process so older points are removed enable fifo to roll over the remaining balance how expiration works after fifo is enabled once fifo is enabled, points are tracked per earning event each time points are earned (sale, boost, manual adjustment, etc ), aiq creates an accrual event with its own expiration date (e g , 365 days after that event) redemptions subtract from the oldest unexpired event first if an event reaches its expiration date with points still remaining, those points expire if you want a hard cutoff date if you wants all points earned before a specific date to expire immediately (regardless of how often the customer shops), use a points reset date (set to 365 days ago), then enable fifo with a 365 day expiration window good to know fifo logic must be enabled in your loyalty settings expiration windows are still set by you (e g , 90 days after earning) fifo just ensures the oldest points are used before they expire
