Problem
Before the call, your rep rebuilds the customer from five tabs. None of them agree.
The renewal call is in ten minutes. Finance has one number, the storefront has another, support has a ticket no one mentioned, and the last promise lives in someone’s sent mail. The rep becomes the integration layer, stitching a customer together by hand, every time, and still walking in half-blind.
The record One row, every module
The customer the rep opens is the customer everyone wrote to.
Orders, tickets, invoices, credit state, loyalty and store credit, the campaigns they’ve seen, what they did on the storefront last night — all on one record, because sales, finance, support, and the store write to the same row. Nothing is fetched from somewhere else and reconciled. It’s already here.
What one record makes possible
Four things that fall out of sales, finance, support, and the store sharing one row.
Build any segment
Describe the customers you want. Get the segment, live.
Assemble conditions in a query builder, or just write what you mean and let AI build it. Either way you’re selecting against the live record — orders, wishlists, email activity, loyalty tier, store credit, support history — not a CSV that was stale the moment it was exported.
- As granular as you can imagine — combine any signal from any module
- A live query, not a frozen list — it stays current as customers move in and out
- The same segment the storefront prices against and the campaign sends to — one definition, no re-export
Loyalty, credit & win-back
Everything a best-in-class CRM does to keep customers — on the same live record.
Loyalty tiers, points, store credit, and win-back campaigns aren’t a separate app bolted on with a nightly sync. They read and write the same record as orders, pricing, and finance — so a point earned, a credit spent, or a customer going quiet is true everywhere the moment it happens.
Points and tiers that move as orders land
Earned on every paid order — no points table to reconcile against the ledger.
Credit earned, then spent at checkout
- Return refund
- +€20
- Referral reward
- +€15
- Balance
- €35
Applied at checkout on the storefront — the same balance finance sees.
Lapsing customers reactivated on a rule
A standing rule, not a campaign someone has to remember to run.
Win-back, end to end
Win back a tier that went quiet — in one surface, not four tools.
A reactivation campaign is the canonical CRM job. On oozmi it runs against the same record the storefront, OMS, and finance use, so each step reads live truth and writes back to it — no export, no reverse-ETL, no waiting for the data to agree.
-
Segment
Find the quiet accounts.
Tier 2 customers with no order in thirty days, built from live orders, not a list someone exported last quarter. The segment is a query against the same row the storefront prices and finance closes.
-
Offer
Set the incentive once.
A tier-priced discount the storefront will honor for exactly this segment, for exactly this window — set on the record, not in a promotion engine that has to be reconciled against the catalog later.
-
Publish
Send and price in one write.
The email goes out and the storefront prices the same accounts the moment they land — one transaction, not a send here and a sync there. No reverse-ETL, no overnight job, no gap where the customer sees the old price.
-
Read results
Watch it on the record.
Reorders, revenue, and who’s still quiet — tracked against the same accounts, on the same data the campaign ran on. The result isn’t a separate analytics export. It’s the row updating in place.
Bring one account workflow your team hates.
The renewal prep, the campaign that needs a ticket, the forecast no one trusts. We’ll rebuild it on one record in front of you and show you what drops out — the tabs, the sync wait, the reconciliation. If it holds up against your real accounts, we talk further.