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.

ReactorCXStaging

Offer

Supplier-funded yogurt multi-buy

v6
FlagshipValueDeliveryPharmacy
DraftReviewApprovedLive

Funding Split

70/30

Supplier · Retailer

Billing

70%30%

Billing: line level · weekly vendor statement

Arbitration

Policy: best for customerStacks with basket coupon: no · Private label excluded from this offer

Limits

Per household: twice a weekFuel currency earn: included · Franchise stores: settle to owner

Approved by Category Manager, Dairy · vendor funding letter attached

Illustrative view of ReactorCX configured for a grocer; sample program, no customer data.
≈ 4.2B
Loyalty transactions a year
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.

30,000+
Integrated physical locations
How this is measured

Distinct physical sites transacting through ReactorCX integrations, each counted once. As of 2026-Q3.

<200 ms
Platform API response SLA
How this is measured

Platform-wide API response-time service level. As of 2026-Q3.

400+
Unique promotions live per month, largest retail deployment
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.

Granular rules

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.

Cart-level arbitration

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

Household accounts

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.

Per-format earn and redemption

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

Worked example

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.

01

Scanned

The register sends the basket: household, banner, store, every line with its GTIN, department, private-label flag and the coupons the shopper clipped

02

Evaluated

Item-level rules, category caps, private-label rules and household limits run in deterministic order against the whole basket

03

Arbitrated

Clipped coupons, supplier-funded offers and basket rewards resolved to the best combination under the banner's policy, before the total is shown

04

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

05

Recorded

Execution log stores which rules fired and who approved them; liability moves by the accrual, the vendor receivable moves by the funded amount

06

Published

Business events to CRM and messaging, replication events to the warehouse, ledger lines to finance, funded lines to the vendor statement

Store systemsReactorCXRecordedDownstream
A pickup order, a pharmacy pickup or a pump transaction takes the same path: different source and fields, same evaluation, same ledger. Step detail in the earn reference flow and the arbitration concept.

See this run on a copy of your own basket data.

See a parallel migration
For evaluators

The 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

01

Core activity

Member and household ID · type · date · channel · value

02

Basket and item

GTIN · department · category · brand · private label · quantity · unit price · coupon applied · funded line

03

Format and fulfilment

Banner · store · self-checkout · pickup · delivery · pharmacy · fuel center · franchise owner

04

Funding and settlement

Offer ID · supplier · funding split · attribution key · fuel partner · settlement party

Standard fieldsConfigurable extensions
The extensible activity schema, grocery extensions shown. Standard fields are shared across all verticals.
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.
What must never earn or discount, and how it is configured
RestrictionWhat the program needsHow ReactorCX configures it
SNAP, EBT and WIC tenderNo earn on restricted tender and no discount funded against it, where the program or the regulator requires itTender type is an attribute on the activity; the exclusion is a condition on the earn rule and on offer eligibility, not code
PrescriptionsEarn on pharmacy only where state law allows; controlled substances and federally funded prescriptions excluded; no item description on the recordCategory exclusion by jurisdiction; pharmacy lines held in a privacy mode that carries the flag and the value, never the item
Alcohol and tobaccoExcluded from discounts where state and local law prohibit, and from earn by policy; age-restricted lines flaggedCategory and age-restriction exclusion, set per store jurisdiction; the same rule set serves every banner
Gift cards, lottery, fees, tax, depositsOut of the spend basis for earn and for threshold offersLine-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.
The grocery configuration of a generic engine
DimensionSame in every industryConfigured for grocery
SignalOne activity record per event, from any channel, evaluated onceBasket with item lines from POS and self-checkout, pickup and delivery orders, pharmacy fills, pump transactions, supplier offer feeds
CurrencyAny number of currencies and purses, each with source, expiry and burn orderPoints plus cents off per gallon; household purses; pharmacy or delivery credits where the program uses them
StatusTiers with configurable qualification and requalificationUsually light: spend or visit tiers, household-level, often replaced by personalised offer depth
OffersOffer library with eligibility, stacking, suppression and limitsCentral: digital coupons, item and category rules, private-label rules, basket-wide arbitration by policy for members and non-members
FundingPartner wallets, source-tagged accruals, settlement from lineageSupplier-funded offers with line-level attribution and statements; fuel partner settlement
OrganisationMulti-brand, multi-region, per-entity economics on one instanceBanners and formats as brands; franchise and independent owners as settlement parties; liability by banner
ServicingMember Care Portal with line-level history and governed adjustmentsHousehold 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.

Vendor-funded offers

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.

One funded offer, four views of the same record
Who looksWhat they seeWhere it comes from
ShopperThe discount on the receipt and the points and fuel savings earnedArbitration result and accruals on the activity
Category managerRedemptions, lift against a control group, remaining funding capPromotion dashboards on the same execution log
SupplierA weekly statement of funded lines with the attribution keySupplier wallet, generated from lineage
FinanceLiability by banner and the vendor receivable, both to the general ledgerLedger export at transaction level

Partner wallets and settlement are documented in the partners and funding concept; the settlement flow in the reference flows.

Evaluation

What each grocery stakeholder will want to check

Fuel partnerships

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.

Fuel and Convenience · Partner Ecosystems

01

Grocery basket

Item-level rules; private label; household account.

02

Arbitration

Best combination across the basket by policy.

03

Fuel currency earned

Cents-off-per-gallon accrued with source and expiry.

04

Redeemed at the pump

Real-time pump event; partner settled from lineage.

ReactorCXCurrency movementSettled
One member, two formats, one balance, two currencies.
System map

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.

How ReactorCX fits a grocery estate: Store POS and self-checkout, E-commerce and pickup, Mobile app, Fuel center / partner pump, Supplier-funded offer feeds reach the platform through REST API, Event API, FeedXChange™; the ReactorCX core runs Item-level earn and digital coupons; Fuel rewards linkage; Vendor-funded offers and settlement under governance, and publishes events and ledger records to Merchandising / ERP · CRM / CDP · ESP and push · data warehouse · finance and general ledgerEvery accrual carries its source, currency, brand, partner, timestamp and expiry, so burn order, partner wallets and settlement all read from one ledger. The moving markers show direction only; they do not represent volume. GROCERY CHANNELS YOU OWN Store POS and self-checkout E-commerce and pickup Mobile app Fuel center / partner pump Supplier-funded offer feeds REST APIitem-level earn and coupons Event APIapp, list and pickup activity FeedXChange™supplier offers and partner files ReactorCX core Activity engine · every channel, one activity record · execution log Item-level earn and digital couponsbasket, category and SKU rules Fuel rewards linkageearn in the aisle, redeem at the pump Vendor-funded offers and settlementsupplier wallets, billed from lineage Governance: environments in sync · versioned JSON publish / unpublish · attribute-based access · audit trail Event stream · Level 1 replication · Level 2 business events Kafka, Kinesis, EventHub, Pulsar, webhooks · SQL and lake sync ENTERPRISE SYSTEMS Merchandising / ERP · CRM / CDP · ESP and push · data warehouse finance and general ledger
Systems you ownReactorCX and its entry pointsEvents and ledger out
Every accrual carries its source, currency, brand, partner, timestamp and expiry, so burn order, partner wallets and settlement all read from one ledger. The moving markers show direction only; they do not represent volume.
Platform capabilities

Which ReactorCX capabilities matter most for grocery?

Grocery capability map
NeedReactorCX capability
Digital coupons and clipped offersOffer library with eligibility, stacking, suppression and limits; arbitration at the register for members and non-members
Personalized weekly offersReal-time segmentation by category, frequency, spend and channel; preference-based routing; ingestion of external segments
Private label and CPG-funded promotionsItem-level rules; vendor-funded offer management and reconciliation; source-tagged attribution
Pharmacy, delivery and curbsideFirst-class activity types with independent rules and a shared identity
Household and family accountsAccount linking and pooling; shared balances and limits
Fuel rewardsCents-off-per-gallon as a currency; real-time pump processing; partner settlement
Franchise or independent storesCross-store earn and burn; settlement between owners; reporting by owner rolled up to headquarters
ServicingMember 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.

Financial Integrity

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.

Safe Migration

FAQ

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.