Grocery Loyalty Platform
ReactorCX: The Enterprise Grocery Loyalty Platform, Built for One Household Across Every Banner and Format
ReactorCX is the enterprise loyalty platform for grocery and multi-format retailers who run a flagship banner, a value banner, a delivery brand, a pharmacy and fuel for one household that treats them as a single relationship. It runs item-level rules, basket-level arbitration, household accounts, vendor-funded offers and fuel as a currency on one engine, with per-format economics underneath.
Offer
Supplier-funded yogurt multi-buy
v6Funding Split
70/30
Supplier · Retailer
Billing
Billing: line level · weekly vendor statement
Arbitration
Policy: best for customerStacks with basket coupon: no · Private label excluded from this offerLimits
Per household: twice a weekFuel currency earn: included · Franchise stores: settle to ownerApproved by Category Manager, Dairy · vendor funding letter attached
How this is measured
Count of activities evaluated by the ReactorCX rules engine across all production tenants in the trailing 12 months. As of 2026-Q3.
How this is measured
Distinct physical sites transacting through ReactorCX integrations, each counted once. As of 2026-Q3.
How this is measured
Platform-wide API response-time service level. As of 2026-Q3.
How this is measured
Distinct active promotions per month in the largest single retail deployment. As of 2026-Q3.
How does ReactorCX run multi-format and grocery retail?
A multi-format retailer can run a flagship banner, a value banner, a premium banner, a delivery brand, a pharmacy and fuel, each with its own economics, for one shopper who treats them as a single relationship. It is the hardest version of the problem, which makes it the clearest test.
Department, category, brand and item level
Private label is a first-class attribute with its own earning rules and caps rather than a generic line item. Named product lists update running promotions automatically when the list refreshes through FeedXChange.
The best combination across the whole basket
Evaluates the full basket and applies the best combination of offers, for members and non-members alike, not just the largest single discount. Policy-driven: best for customer, best for business, priority order or override. Real-time offers
Shared balances and limits
Groceries are bought by the household, not the individual. Accounts link or pool for shared earn and burn, with per-member limits and merge and unmerge handling that protects program economics.
Pharmacy, fuel, delivery and curbside as first-class activity types
Independent rules per format, one shared member identity and balance across all of them, under one program. Multi-format is already in production as multi-brand, with portfolios of four and five brands on a single instance. Retail
What happens to one basket
One activity, evaluated once, with every downstream effect recorded and published. The same path a demo walks through, in the order the engine runs it.
Scanned
The register sends the basket: household, banner, store, every line with its GTIN, department, private-label flag and the coupons the shopper clipped
Evaluated
Item-level rules, category caps, private-label rules and household limits run in deterministic order against the whole basket
Arbitrated
Clipped coupons, supplier-funded offers and basket rewards resolved to the best combination under the banner's policy, before the total is shown
Accrued
Points to the household purse, cents off per gallon to the fuel purse; each supplier-funded discount written against that supplier's wallet with its attribution key
Recorded
Execution log stores which rules fired and who approved them; liability moves by the accrual, the vendor receivable moves by the funded amount
Published
Business events to CRM and messaging, replication events to the warehouse, ledger lines to finance, funded lines to the vendor statement
See this run on a copy of your own basket data.
See a parallel migrationThe detail your team will want to check
Expand what you need.
ReactorCX speaks the grocery data modelOne activity record, every dimension a grocer tracksGrocery activity carries more lines and more attributes than almost any other vertical. ReactorCX holds it in one extensible record, so every line stays searchable and…
Grocery activity carries more lines and more attributes than almost any other vertical. ReactorCX holds it in one extensible record, so every line stays searchable and actionable across the console, the API, the warehouse and reporting. Add a field once and it propagates everywhere. Category managers and finance query the same record the register wrote.
Data model documentation
Core activity
Member and household ID · type · date · channel · value
Basket and item
GTIN · department · category · brand · private label · quantity · unit price · coupon applied · funded line
Format and fulfilment
Banner · store · self-checkout · pickup · delivery · pharmacy · fuel center · franchise owner
Funding and settlement
Offer ID · supplier · funding split · attribution key · fuel partner · settlement party
Grocery operating detailExclusions, the ad week, coupon feeds and the registerThe questions a grocery operations team asks in the first hour: what must never earn, how the weekly ad gets in, where manufacturer coupons come from, and what happens when the shopper types a phone number.
| Restriction | What the program needs | How ReactorCX configures it |
|---|---|---|
| SNAP, EBT and WIC tender | No earn on restricted tender and no discount funded against it, where the program or the regulator requires it | Tender type is an attribute on the activity; the exclusion is a condition on the earn rule and on offer eligibility, not code |
| Prescriptions | Earn on pharmacy only where state law allows; controlled substances and federally funded prescriptions excluded; no item description on the record | Category exclusion by jurisdiction; pharmacy lines held in a privacy mode that carries the flag and the value, never the item |
| Alcohol and tobacco | Excluded from discounts where state and local law prohibit, and from earn by policy; age-restricted lines flagged | Category and age-restriction exclusion, set per store jurisdiction; the same rule set serves every banner |
| Gift cards, lottery, fees, tax, deposits | Out of the spend basis for earn and for threshold offers | Line-type exclusion on the earn basis; thresholds evaluate the eligible subtotal |
The ad week in one load
The weekly ad arrives as a file: hundreds or thousands of offers with their items, prices, banners, stores and dates. FeedXChange™ loads it as a versioned offer set scheduled to start and end at the ad boundary. Next week's set is loaded ahead and rolls over at the boundary, with no gap and no overlap.
Coupon feeds
Manufacturer and retailer digital coupons arrive as feeds. Each becomes an offer with its own funding source and clearing reference, so a clipped manufacturer coupon is funded by the manufacturer and settles through the same partner wallet as a supplier-funded promotion.
Alternate ID at the register
A phone number, a physical card, a scanned app barcode or an alternate ID all resolve to the same household through member lookup keys. The register never needs to know which one the shopper used, and the household's limits apply whichever it was.
Eligibility dimensions are documented under rules and eligibility; feed configuration under partner feeds with FeedXChange; lookup keys under Member and Member State.
Same engine, configured for groceryWhat stays the same, and what adaptsReactorCX is one engine. What changes for a grocer is the signals it reads, the currencies it holds, the offers it arbitrates and the organisation it settles to. All of it is configuration, versioned and approved, not custom code.
| Dimension | Same in every industry | Configured for grocery |
|---|---|---|
| Signal | One activity record per event, from any channel, evaluated once | Basket with item lines from POS and self-checkout, pickup and delivery orders, pharmacy fills, pump transactions, supplier offer feeds |
| Currency | Any number of currencies and purses, each with source, expiry and burn order | Points plus cents off per gallon; household purses; pharmacy or delivery credits where the program uses them |
| Status | Tiers with configurable qualification and requalification | Usually light: spend or visit tiers, household-level, often replaced by personalised offer depth |
| Offers | Offer library with eligibility, stacking, suppression and limits | Central: digital coupons, item and category rules, private-label rules, basket-wide arbitration by policy for members and non-members |
| Funding | Partner wallets, source-tagged accruals, settlement from lineage | Supplier-funded offers with line-level attribution and statements; fuel partner settlement |
| Organisation | Multi-brand, multi-region, per-entity economics on one instance | Banners and formats as brands; franchise and independent owners as settlement parties; liability by banner |
| Servicing | Member Care Portal with line-level history and governed adjustments | Household view; store-level adjustments without escalation |
Airlines swap the basket for a flown segment and add tier tracks; hospitality swaps it for a folio close and adds property-level offers. The engine and the ledger do not change.
Drive store traffic on supplier money without a billing headache
The offers that move the most traffic are often the ones a supplier pays for. They only pay for what they can audit, so the billing has to be as granular as the offer.
Funding is a rule, not a spreadsheet
Each offer carries its funding split, cap, eligible banners and date range. The split is applied at the line as the basket is arbitrated, so the funded amount is known at the register, not reconstructed at month end.
Attribution down to the line
Every funded discount is written against the supplier's wallet with offer ID, GTIN, banner, store and household. Franchise and independent stores settle to their owner from the same record.
Statements from the ledger
Vendor statements, banner liability and the finance export read the same lineage, so the supplier's invoice, the store's settlement and the general ledger agree without a true-up.
| Who looks | What they see | Where it comes from |
|---|---|---|
| Shopper | The discount on the receipt and the points and fuel savings earned | Arbitration result and accruals on the activity |
| Category manager | Redemptions, lift against a control group, remaining funding cap | Promotion dashboards on the same execution log |
| Supplier | A weekly statement of funded lines with the attribution key | Supplier wallet, generated from lineage |
| Finance | Liability by banner and the vendor receivable, both to the general ledger | Ledger export at transaction level |
Partner wallets and settlement are documented in the partners and funding concept; the settlement flow in the reference flows.
What each grocery stakeholder will want to check
- Merchandising and category managersCan we run item, category and private-label rules and see trips and basket size by offer?Capability map above; promotion dashboards with control groups
- FinanceDoes liability by banner reconcile, and does the vendor receivable match the statements?Financial integrity; the funded-offer table above
- Store operations and franchise ownersDoes cross-store earn and burn settle correctly to each owner?Organisation row above; partners and funding
- IT and integrationHow do POS, e-commerce, pharmacy and the fuel center connect?System map below; POS and forecourt guide
- MarketingCan we personalise weekly offers by household and format without engineering?Marketer experience; segmentation in the capability map
Earn in the aisle, redeem at the pump
Cents-off-per-gallon runs as a native currency alongside points: earned on grocery spend, redeemed at the pump in real time, with multi-currency redemption on the same transaction. When fuel sites are operated by a partner, source-tagged accruals and partner settlement keep the economics clean. The same pump event processing runs in production for fuel and convenience networks today.
Grocery basket
Item-level rules; private label; household account.
Arbitration
Best combination across the basket by policy.
Fuel currency earned
Cents-off-per-gallon accrued with source and expiry.
Redeemed at the pump
Real-time pump event; partner settled from lineage.
How ReactorCX fits a grocery estate
Checkout, e-commerce, the app and the fuel center all feed one activity stream.
ReactorCX applies item-level earn and digital coupons, links grocery spend to fuel rewards, and records supplier-funded offers against the supplier wallet so vendor settlement is billed from the same ledger as the member balance.
Nothing here replaces a system you already run. Grocery channels keep their own systems of record; ReactorCX holds the loyalty state, and publishes what it decides back to them.
Which ReactorCX capabilities matter most for grocery?
| Need | ReactorCX capability |
|---|---|
| Digital coupons and clipped offers | Offer library with eligibility, stacking, suppression and limits; arbitration at the register for members and non-members |
| Personalized weekly offers | Real-time segmentation by category, frequency, spend and channel; preference-based routing; ingestion of external segments |
| Private label and CPG-funded promotions | Item-level rules; vendor-funded offer management and reconciliation; source-tagged attribution |
| Pharmacy, delivery and curbside | First-class activity types with independent rules and a shared identity |
| Household and family accounts | Account linking and pooling; shared balances and limits |
| Fuel rewards | Cents-off-per-gallon as a currency; real-time pump processing; partner settlement |
| Franchise or independent stores | Cross-store earn and burn; settlement between owners; reporting by owner rolled up to headquarters |
| Servicing | Member Care Portal with point-level history; store and contact-center adjustments without escalation |
Integration with POS, ecommerce, CDP, ESP and finance systems follows the retail pattern in Integration Guides.
Finance
Liability by banner, format and funding source
Every accrual carries its source rule, banner, format, partner, timestamp and expiry, so liability reports the way the business is run and CPG-funded value is reconciled at the line item.
Migration
Replace the platform without a gap at the register
SafeSwitch runs ReactorCX in parallel with the legacy platform on production baskets, reconciles balances and offer outcomes, and cuts over by gate. Shoppers keep earning and redeeming through the switch.
Frequently asked questions
Can ReactorCX run loyalty for a multi-format or grocery retailer?
Yes. A multi-format grocer is the hardest version of retail loyalty, and ReactorCX runs it as one program with format-specific rules: earn and promotion logic at the department, category, brand and item level, private label as a first-class attribute, cart-level arbitration across the full basket, household accounts with shared balances, and pharmacy, fuel, delivery and curbside as first-class activity types.
How does a grocery loyalty program connect to fuel?
ReactorCX runs cents-off-per-gallon as a native currency alongside points, earned in store and redeemed at the pump, with real-time pump event processing and partner settlement when the fuel sites are operated by a partner.
How does ReactorCX bill supplier-funded offers?
Each supplier-funded offer carries its funding split, cap, eligible banners and dates as part of the rule. When the basket is arbitrated, the funded amount is written against the supplier's wallet at the line, with the offer ID, GTIN, banner, store and household as the attribution key. The supplier's statement, the banner's liability and the finance export are generated from that one record, so they agree without a month-end true-up.
Can ReactorCX exclude SNAP, EBT, WIC, alcohol, tobacco and prescriptions from earn and discounts?
Yes. Tender type, line category, age restriction and pharmacy flags are attributes on the activity, so exclusions are eligibility conditions on the rule rather than custom code. A program can exclude restricted tender from earn and from discount funding, exclude age-restricted and prescription lines by category and by jurisdiction, and keep pharmacy lines in a privacy mode that never carries an item description.
Does ReactorCX support household accounts?
Yes. Accounts can be linked or pooled so a household shares balances and limits, because groceries are bought by the household, not the individual.
See your banners, formats and fuel program as one.
Model Your Loyalty Program maps your formats, household model, private label rules and fuel partnership into ReactorCX.