A loyalty engine is supposed to be the one place earn, burn, and tier rules live. In most retailers it is three places at once: accrual logic inside the commerce platform's checkout code, a redemption service someone wrote for the app, and a spreadsheet of campaign multipliers the CRM team keeps for the quarter. So a double points weekend is a deploy, a category boost is a ticket, and the person accountable for the program cannot change the rules the program runs on.
Both of the usual escapes cost more than the problem. Build the logic into the commerce platform and it belongs to one channel: POS, app, call center, and partner sites either duplicate the rules or go without them, and they drift within a quarter. Buy a monolithic loyalty suite and the engine arrives bundled with a member database, a rewards catalog, a portal, and a messaging tool you already have, plus a replatforming project and a vendor queue standing between your team and every threshold change.
Then finance asks questions the code cannot answer. Points issued are a balance-sheet obligation: under IFRS 15 and ASC 606 unredeemed points are deferred revenue, and the breakage estimate behind them has to be supportable. Which rule version awarded the points on this quarter's accrual? Who approved the 5x weekend? Which basket lines counted toward tier and which were excluded?
When the answers live in a checkout service and someone's spreadsheet, every campaign post-mortem, every audit, and every replatform starts with archaeology.