Score every customer by value and behavior, sort them into live segments, and treat each segment differently without manual list building.
Bring your stack to a call and we will scope it against how your business actually runs.
Book a callMost retailers have a loyalty program and no loyalty strategy. There is a points balance somewhere, a birthday email, and a monthly newsletter that goes to everyone on the list at the same time with the same offer. The customer who spent heavily across eleven orders last year gets the identical twenty-percent-off message as the person who bought one discounted item eighteen months ago and has not opened an email since. Both messages are wrong. The first discounts a customer who would have paid full price. The second wastes a send on someone who is gone.
The money leaks in two directions at once. On the top end, margin is given away to people who did not need the incentive, because the campaign has no way to know who they are at send time. On the bottom end, the genuinely lapsed are never worked hard enough, because they sit in the same list as everyone else and receive the same gentle newsletter rather than a real win-back. In between, the most valuable group in any retail database - the customers who bought twice and are deciding whether to buy a third time - get no special attention at all, even though that second-to-third purchase is where a one-off buyer becomes a habit.
The reason it stays broken is that proper segmentation looks like a data project. Someone has to define value tiers, calculate them for every contact, keep them current as behavior changes, and then build different campaigns per tier - and that is more work than any marketing calendar has room for. This build makes the segmentation a standing piece of infrastructure rather than a project. Scores are recalculated automatically, tier membership moves on its own, and each tier has its own campaign cadence, offer policy and escalation path. You stop building lists and start maintaining rules.
Two pipelines do different jobs here. The first tracks the lifecycle of the relationship, the second tracks individual high-value opportunities that deserve human attention.
Customer Lifecycle - one opportunity per contact, moved by score, not by hand:
VIP Concierge - only for contacts in the VIP stage, worked by a named person:
These are the engine. Everything downstream reads them, so get the names and the refresh logic right before building campaigns.
Trigger: scheduled daily at 02:00 local, plus an immediate run for any single contact on order webhook so a fresh purchase is never stale by a day.
Conditions: contact has at least one order, or is being initialized as a prospect.
Stop conditions: skip contacts flagged as test records or staff accounts; log and skip any contact whose order feed produced an impossible value rather than writing a corrupt score.
Trigger: completion of workflow 1 for a contact, plus a full monthly pass on the first of the month to recompute decile boundaries across the whole base.
Branches: evaluated in order, first match wins.
Stop conditions: exit without change if the computed tier matches the current tier; never move a contact carrying suppress-promotional into an active tier without a human releasing the suppression.
Trigger: tag tier-first applied.
Conditions: marketing consent present, suppress-promotional absent. Branch on Category Affinity Primary to choose the content block.
Stop conditions: second order placed, which immediately cancels remaining steps and hands off to workflow 4; unsubscribe; tier change.
Trigger: tag tier-building applied.
Conditions: marketing consent present. This is the highest-value sequence in the build and should be reviewed monthly rather than left to run for a year untouched.
Stop conditions: third order placed; tier moves to core or vip; dissatisfaction flagged by the Pulse, which hands the contact to a human and suppresses promotional steps for 14 days.
Trigger: VIP Concierge opportunity created at New VIP - Welcome Due.
Conditions: Concierge Owner is populated. If not, hold and alert the manager - an unowned VIP is worse than no VIP program.
Stop conditions: contact leaves the vip tier; unsubscribe; concierge marks the relationship as do-not-contact.
Trigger: manual launch of a new range or event, selecting the campaign.
Conditions and sequencing: the whole point is the order of the waves.
Stop conditions: purchase removes a contact from all later waves and reminders; stock-out ends the campaign for every unsent wave.
Trigger: nightly evaluation - Days Since Last Purchase exceeds twice Purchase Interval Average, with a floor of 45 days so a weekly buyer is not flagged after two weeks.
Branches on tier:
Stop conditions: purchase at any point; concierge logs a reason to hold, which pauses the workflow for a stated period; opt-out.
Trigger: tag risk-lapsed applied.
Conditions: no winback-attempted tag from the last twelve months. A contact goes through this once a year, not every quarter.
Stop conditions: purchase; unsubscribe; reason answered as shop elsewhere; twelve-month cooling period blocks re-entry.
Trigger: inbound SMS, WhatsApp or chat message containing a loyalty, tier, benefits or preference intent.
Branches:
Stop conditions: BO stands down for the rest of the thread once a human replies; BO never sends more than two consecutive messages without a customer response.
Before this build, "the list" is one object and every campaign is a compromise between the people on it. After it, the list is five populations with different economics, and each campaign is addressed to one of them. Margin stops leaking at the top because full-price buyers are structurally excluded from discount sends by Offer Eligibility rather than by somebody remembering. Revenue appears at the bottom because the lapsed are worked with a real win-back and then suppressed, instead of being newslettered forever at the cost of your deliverability.
The operational change is that nobody builds a list again. Marketing picks a segment that already exists and already contains the right people, which collapses the lead time on a campaign from days to an hour. The strategic change is that the second-to-third purchase gets its own program, which is where most retail databases are quietly bleeding.
Measure these monthly, and insist on them by tier rather than in aggregate:
Every build on this page is something we configure, test and hand over with the SOPs your team needs to run it.
Book a call