Skip to content

CRM & retention

A Customer Win-Back Campaign That Starts with Why Customers Left

A practical guide for Thai online shops: use RFM segmentation to prioritise lapsed buyers, diagnose churn across three reason-based branches, and build an incentive ladder that saves your margins before reaching for a discount.

อ่านเป็นภาษาไทย
A person in a dark apron stands behind a warmly lit coffee shop counter at dusk, reviewing a clipboard, with an iced drink and a handwritten note on the counter and an empty wooden stool in the foreground
AI-generated editorial image: a quiet coffee shop counter at dusk — a person in a dark apron behind the counter reviews a clipboard while an iced cold-brew drink and a small handwritten note sit on the counter surface, an empty wooden stool in the foreground, the moment a merchant pauses to consider which customers have gone silent.

The Problem with Leading with a Discount

Imagine a fictional Thai skincare shop called Fah Glow that sells moisturisers and serums online. Six months ago it had 1,200 customers who had placed at least two orders. Today, 380 of them have not bought anything in the past 90 days — well past the shop's average 45-day repurchase window. The owner's first instinct is to send a 20-percent-off code to every dormant address.

That instinct is understandable but costly. A customer who stopped buying because she never received her last parcel will not feel better about the shop just because a discount landed in her inbox — she may feel insulted. A customer who drifted away because she finished her skincare routine and no longer needs the product will redeem the discount once and disappear again. And a customer who simply forgot the shop exists might have happily repurchased at full price with a gentle reminder.

A smarter win-back campaign asks why each customer left before deciding what to say. This guide walks through exactly how to do that: how to identify who deserves a place in the campaign at all, how to sort lapsed customers into three behavioural branches, what to write for each branch, when to escalate to an incentive, and when to stop.

Win-Back vs Re-Engagement: A Distinction That Matters

These two terms are often used interchangeably, but they describe different audiences and should drive different strategy. A re-engagement flow targets any inactive contact on your list — including people who signed up for a newsletter but never bought anything. A win-back campaign is narrower: it targets only contacts who have completed at least one confirmed purchase and then gone quiet beyond their expected repurchase window. Because the research question and the message are different, mixing the two audiences in the same flow creates confusion and dilutes results.

For most Thai online shops, the practical implication is a simple filter: before anyone enters a win-back flow, check that their record includes at least one order with a payment-confirmed status. Subscribers with zero orders belong in a separate nurture or re-engagement sequence, not here. This keeps the win-back list clean and the messaging honest — you are writing to people who have already trusted you once, not cold leads.

The distinction also matters for tone. A re-engagement message might introduce or reintroduce the brand. A win-back message can reference the customer's actual history, which immediately feels more personal and relevant. Shopify's documentation on email automation draws the same line, noting that win-back flows are tailored to customers with a prior purchase history while re-engagement casts a wider net.

Sources: Shopify: Ecommerce Email Automation Types, Examples, and Tips

Using RFM to Decide Who Enters the Campaign First

Not all lapsed customers are worth the same effort, and contacting a low-value, low-frequency buyer with the same urgency as your former best customer wastes budget and increases unsubscribe risk. RFM segmentation — Recency, Frequency, Monetary value — gives you a principled way to prioritise the queue.

In CasperBrain's RFM model, each dimension is scored in quartiles from 1 (best) to 4 (worst), and the three scores are combined into a composite label such as "114" (best recency, best frequency, worst monetary). For win-back prioritisation, focus on customers whose recency quartile (first digit) has recently moved to 3 or 4 — meaning they were once active but have now gone quiet — while their monetary quartile (third digit) remains 1 or 2 and their frequency quartile (second digit) is also 1 or 2. A composite such as "411" describes exactly this profile: worst recency (long lapsed), best frequency (once-loyal buyer), best monetary (monetary quartile 1, the best quartile) — and this is the segment to contact first.

A practical starting order for Fah Glow's list of 380 dormant contacts uses a single combined sort: rank by monetary quartile first (ascending, so 1 before 2 before 3 before 4), then break ties by frequency quartile (ascending). Within any tied monetary-and-frequency group, sort by recency quartile (ascending, so 3 before 4 — contacts who went quiet more recently first). This single ranking means your most persuasive messages, your best subject lines, and your human follow-up budget all go to the segment most likely to generate meaningful revenue when reactivated. Shopify's win-back guidance similarly recommends prioritising your highest-value lapsed customers first — those with a high average order size who have not purchased recently — and then tapping buyers with a high purchase frequency.

One important caution: CasperBrain's quartile boundaries are calculated from your own store's data distribution. Do not import quartile scores or thresholds from another tool or vendor — a score of "1" in a five-level reversed system from a different platform means the opposite of "1" in CasperBrain's four-level model. Always confirm which scoring convention a number comes from before acting on it.

Sources: Shopify: Winback Campaigns — Strategies and Examples

Exclusion Criteria: Who Must Not Receive the Campaign

Before building any flow, define the contacts who must be excluded — not just for legal and deliverability reasons, but because messaging them would be wasteful or harmful. There are five standard exclusion categories.

Hard bounces are email addresses that returned a permanent delivery failure. Continuing to send to them damages your sender reputation with every attempt and flags your domain as a potential spam source. They must be removed from any send list, and most email platforms handle this automatically through suppression lists. Microsoft Dynamics 365 Customer Insights, for example, automatically collects hard-bounced addresses and blocks future sends to them at the organisation level — the mechanic varies by platform but the principle is universal.

Spam complainants are addresses where the recipient has marked your email as spam. According to Microsoft Dynamics 365 Customer Insights documentation, spam-complaint listings do not expire automatically and the sender cannot request their removal — only the recipient can. Do not attempt to re-enter these contacts into any campaign.

Already-converted contacts are people who responded to an earlier touch in the same campaign and placed an order. Continuing to send them win-back messages after they have already returned is confusing at best and alienating at worst. Your flow logic should check for a new confirmed order and exit the contact immediately if one exists.

Unsubscribed contacts have explicitly withdrawn consent. Sending to them is not just bad practice — in many jurisdictions it is a legal violation. Treat unsubscribes as permanent exclusions unless the contact re-opts-in through your standard subscription mechanism.

Suppression-listed contacts cover a broader category: repeatedly soft-bounced addresses, addresses on domain block lists, and any address your sending platform's backend has flagged. The IBM Acoustic Campaign documentation describes how a master suppression list collects abuse complaints, undeliverables, and opt-outs and excludes them from all outgoing email. Check that your suppression list is active and current before launching any campaign.

Exclusion CategoryReasonCan It Be Reversed?
Hard bouncePermanent delivery failure; harms sender reputationOnly if the underlying address becomes valid again (platform-dependent)
Spam complainantRecipient marked your email as spam; privacy regulations applyNo — only the recipient can request removal
Already convertedCustomer returned during the current flowYes — move them to a post-purchase sequence instead
UnsubscribedExplicit consent withdrawalOnly if contact re-opts-in through your standard mechanism
Suppression-listedRepeated soft bounces, domain blocks, or platform flagsDepends on suppression type and platform policy

Sources: Microsoft Dynamics 365 Customer Insights: How suppression lists work · IBM Acoustic Campaign: What is a suppression list?

The Three Churn-Reason Branches

Once you have a clean, prioritised list, the next step is to sort lapsed customers into branches based on the most likely reason they stopped buying. You will not always know for certain why someone left, but your order data, support ticket history, and product catalogue can give you strong signals. This guide organises messaging around three branches as a practical working heuristic — not a proven empirical taxonomy. Your own data may reveal additional or different patterns.

Branch A: the product is still available and the customer's need very likely still exists. This branch is a reasonable starting assumption for replenishable products — skincare, supplements, coffee, pet food, household consumables — where the customer's last category is still in your catalogue, their order history shows a consistent repurchase rhythm that has now lapsed, and their support record is clean.

Branch B: the customer had a poor experience. The signal here is a support ticket or review mentioning a late delivery, a damaged item, a wrong shipment, or a return that was handled badly. For Fah Glow, this might be a customer whose last order included a complaint about a serum arriving broken. Even without a support ticket, customers who placed a return or a partial refund on their last order and then went quiet are strong Branch B candidates.

Branch C: the customer's need has changed or they genuinely forgot. Life circumstances shift — a skincare routine built around a specific concern may no longer be relevant after that concern resolves. A customer who bought a product as a gift may have no personal use for it. Or the customer simply lost the habit. The signal for Branch C is often absence of signals: no complaint, no return, replenishable category, but an unusually long gap that does not fit any rhythm.

Branch-Specific Messages: What to Write and Why

Each branch needs a fundamentally different opening message. Using the same text for all three is the most common mistake in win-back campaigns — and it is detectable by the customer, who will feel that the message does not understand their situation.

For Branch A (product still available, need very likely still exists), the most effective opening message focuses on what the customer is missing, not on the fact that they have been absent. Showing bestsellers in the category they last bought from, highlighting new variants, or flagging a low-stock situation all work as soft FOMO triggers. The tone should be informative and warm, not pleading. Shopify's win-back guidance notes that new-stock alerts and bestseller roundups perform well in the first reengagement touch precisely because they remind customers of value without asking them to explain their absence.

For Branch B (poor experience), the opening message must acknowledge what happened before asking for anything. A brief, genuine apology — specific to the issue if your data allows it — followed by a concrete statement of what has changed or been fixed is far more persuasive than a discount. Customers who left because of a bad experience are testing whether you have changed. Jumping straight to an incentive without addressing the experience signals that you do not know why they left.

For Branch C (changed need or forgetfulness), the tone should be light and habit-resetting rather than apologetic or urgent. A message that reframes how the product fits into a current season, life moment, or routine — without assuming the customer has a problem — tends to land better than one that treats the lapse as a mystery. If forgetfulness is the most likely cause, a subscription prompt or a one-click reorder link removes the friction that allowed the habit to lapse in the first place.

Sources: Shopify: Winback Campaigns — Strategies and Examples

A Fictional Three-Branch Message Map for Fah Glow

The following table is an entirely fictional teaching example created for this guide. All customer names, order details, and branch assignments are invented. It is not a product screenshot, a research result, or a representation of any real customer's data. Its purpose is to show how the three-branch logic translates into concrete message choices, so you can reproduce the same reasoning with your own data.

To reproduce this example for your own shop, you need at minimum: a unique customer identifier, a list of order IDs (to count distinct orders, not rows), the date and category of the last confirmed order, any support ticket or return flags on the last order, and the product's median repurchase interval for the relevant category. Without distinct order IDs you cannot reliably count how many times a customer has ordered, since some exports include one row per item rather than one row per order.

Fictional Customer IDLast Order CategoryDays Since Last OrderSupport Flag on Last OrderAssigned BranchOpening Message Focus
FG-00291 (fictional)Vitamin C serum (replenishable)72 days (median repurchase: 42 days)NoneBranch A"Your serum routine — back in stock and selling fast"
FG-00847 (fictional)Night cream (replenishable)95 days (median repurchase: 45 days)Damaged item complaint, partial refund issuedBranch B"We owe you a better experience — here is what changed"
FG-01134 (fictional)Gift set (non-replenishable)110 daysNone, single orderBranch C"A new season, a new routine — does any of this fit yours?"
FG-00562 (fictional)Toner (replenishable)88 days (median repurchase: 40 days)None, three prior ordersBranch A"Is it time to revisit your skincare routine?"

A Fictional Script Fragment — Branch B (Labelled)

The following is a fictional illustrative script, created solely as a teaching example. It does not represent a real customer, a real campaign, or a proven template. It is labelled clearly so it cannot be mistaken for evidence of any outcome.

FICTIONAL SCRIPT — BRANCH B, EMAIL 1 (teaching example only):

Subject line: "We know your last order didn't go the way it should have."

Body: "Hi [First Name], we looked back at your last order with us and we can see it did not arrive the way it should have. We are sorry. Since then we have switched to a new fulfilment partner and added a packaging seal to all liquid products. If you are willing to give us another try, we would like to make it right — no discount yet, just a straight-forward promise that your next order will arrive properly. If it does not, contact us and we will replace it at no cost. [Link: Browse your last category]"

Why this works: it opens with the specific problem, not a generic apology; it states a concrete operational fix; it makes a service guarantee rather than a price concession; and it links back to the relevant product category rather than the homepage. The discount is deliberately withheld from the first touch — it is reserved for a later email if the customer does not respond, and only for Branch B customers in monetary quartiles 1 or 2 (1 is best, 4 is worst).

END OF FICTIONAL SCRIPT.

The Incentive Ladder: Earning the Discount

A well-designed win-back campaign does not begin with a discount. It earns the right to offer one. The incentive ladder is the structure that governs how and when a stronger offer appears in the sequence, and it is calibrated differently for each branch and each RFM priority tier. Throughout this section, 'monetary quartile' refers specifically to CasperBrain's monetary dimension score — the quartile derived from your store's own data distribution. It is not interchangeable with average order value (AOV) per transaction or with a single-order spend figure, though the two measures often correlate.

Email 1 for all three branches: no discount. Branch A gets a value-reminder message (new stock, bestsellers, FOMO). Branch B gets an apology and a fix. Branch C gets a habit-reset or a subscription prompt. The goal is to find out whether a nudge alone is sufficient — and for a meaningful share of lapsed customers, it will be.

If there is no open or click after 7 to 10 days, send email 2. For Branch A, add free shipping on the next order above a modest threshold (for example, orders over 500 baht). For Branch B, add a free-replacement guarantee and a small loyalty credit. For Branch C, offer a bundle that fits the seasonal moment. Still no discount code, because a percentage-off code handed to everyone equally erodes both margin and the perception of your pricing.

If email 2 produces no engagement after another 7 to 10 days, send email 3 — after allowing a further 7 to 10 days from the email 2 send before triggering it. This is where a conditional discount enters — but only for customers whose monetary quartile is 1 or 2. Customers in monetary quartile 3 or 4 — the worse monetary quartiles, where 1 is best and 4 is worst — receive a last-chance message without a percentage-off code; a gift-with-purchase or a free-shipping threshold is the most you should offer this group, because the economics of a deep discount for a customer who has historically contributed little on the monetary dimension rarely make sense.

Shopify's win-back guidance makes a similar point about proportionality: the incentive should be calibrated to the customer's historical value. Offering a 100-baht coupon to someone whose lifetime spend is 200 baht is irrational; offering the same coupon to someone who has spent 4,000 baht with you is a reasonable retention investment. Note that Shopify frames this in terms of average order size and lifetime spend, while CasperBrain's monetary quartile is a separate construct derived from your store's own distribution — the underlying principle of proportionality is shared, but the specific metrics differ.

Coordinate channels where your contacts have opted in. If you have an SMS opt-in, a short, direct message on day 5 between email 1 and email 2 can complement your email outreach. Omnisend data cited by Shopify found that combining SMS and email in the same automated workflow was associated with a 54% higher conversion rate compared to email alone — though this is an observed correlation across a broad merchant mix, not a causal estimate specific to any single shop's situation.

Incentive Ladder: Three-Email Win-Back Sequence

A fictional illustration of how offer intensity escalates across three email touches for each branch. Values are teaching examples only, not benchmarks or guaranteed outcomes.

  1. 01Email 1 — Value/Apology/Habit

    No discount. Branch A: FOMO/restock. Branch B: apology + fix. Branch C: habit-reset or subscription prompt.

  2. 02Email 2 — Soft Incentive

    Free shipping (Branch A), loyalty credit (Branch B), seasonal bundle (Branch C). Still no percentage-off code.

  3. 03Email 3 — Conditional Discount

    Sent after a further 7–10 day wait following email 2. Percentage-off discount code only for monetary quartile 1–2 customers (the best two monetary quartiles; 1 is best, 4 is worst). Monetary quartile 3–4 customers receive a gift-with-purchase or last-chance message only.

Sources: Shopify: Winback Campaigns — Strategies and Examples

Sunsetting: When to Stop and How to Do It Cleanly

Every win-back campaign needs a defined exit point. Sending indefinitely to contacts who have not engaged in months harms your deliverability — high-volume sends to unresponsive addresses raise spam-complaint rates and damage domain reputation — and it wastes budget that could go to customers who are more likely to return.

The practical rule, supported by Shopify's win-back guidance, is to sunset a contact after either 90 to 180 days of no open or click, or after three to four failed win-back attempts — whichever comes first. For Fah Glow, with a 45-day median repurchase interval and three emails each spaced 7 to 10 days apart, the third email lands roughly 14 to 20 days after the first send. After email 3, allow one final waiting period of 7 to 10 days before triggering the sunset — giving approximately three to four weeks of active opportunity from first send to exit. That is a reasonable window before treating the contact as non-responsive.

Before sunsetting, send one final message that is honest about what happens next. Tell the contact that you will be removing them from your marketing list and give them a single, clear action to stay connected if they want to — a link to re-confirm their subscription, a lighter-touch channel such as a social follow, or a preference centre where they can choose to receive only transactional emails. This last message serves two purposes: it gives genuinely interested customers a chance to self-identify, and it gives you a defensible record that you offered the contact a choice before removing them.

After sunsetting, move the contact to an archived or excluded segment in your email platform — a dedicated non-active list that prevents them from being accidentally re-entered into another marketing flow. Do not delete the purchase record, as historical order data is still useful for aggregate analysis. Keep in mind that moving a contact to an archived segment is an operational platform choice; it is distinct from your platform's automated suppression list, which is reserved for hard bounces, spam complaints, opt-outs, and other deliverability-driven exclusions as defined by your sending platform's own rules.

Sources: Shopify: Winback Campaigns — Strategies and Examples

Metrics to Track and What They Actually Tell You

Measurement is what separates a campaign that teaches you something from one that just runs. Six metrics matter most for a win-back campaign, and each one answers a different question.

Open rate tells you whether your subject line and sender name are recognisable enough to earn an open. A win-back audience has not seen your messages in a while, so open rates will typically be lower than your general list. If open rates on the first email are noticeably below your store's own baseline for this segment, test a more specific subject line that references the customer's last purchase category rather than a generic "We miss you" hook. Use your own historical data to set that threshold — there is no universal cutoff that applies across all categories and list sizes.

Click-through rate (CTR) tells you whether the content inside the email matches what the subject line promised. A high open rate with low CTR usually means the message is too generic once opened, or the call to action is not clearly linked to the customer's situation.

Conversion rate — the share of recipients who completed a purchase — is the metric that determines whether the campaign recovered revenue. Be careful to distinguish conversion rate (purchasers divided by unique recipients) from click-to-conversion rate (purchasers divided by clickers). Both are useful but answer different questions.

Repeat order rate measures whether the returned customer placed a second order after the win-back, not just one redemption. A customer who redeems a discount and disappears is less valuable than one who returns to a regular cadence. Track this at 60 and 90 days after conversion.

Unsubscribe rate is a warning signal. A spike in unsubscribes after a specific email usually means the tone was off, the message felt irrelevant, or the frequency was too high. If unsubscribes spike after your discount email, it may mean you sent it too early — before earning enough trust.

Bounce rate on the win-back list can be higher than on your active list, because a long gap between the customer's last order and your campaign means more email addresses may have become invalid in the interim. Remove hard bounces immediately after the first send and do not attempt to re-send to them.

MetricQuestion It AnswersCommon Problem Signal
Open rateDid the subject line earn an open?Well below your own segment baseline → subject line too generic or sender name not recognised
Click-through rate (CTR)Did the content match the promise?High open, low CTR → message too vague or CTA buried
Conversion rateDid recipients buy?High CTR, low conversion → landing page mismatch or offer too weak
Repeat order rate (60–90 days)Did the customer return to a habit?Low repeat → win-back converted a one-off, not a reactivation
Unsubscribe rateDid the message feel unwanted?Spike after discount email → incentive sent before trust was rebuilt
Bounce rateIs the list clean?Elevated bounce → long lapse may have made addresses invalid; clean list

Deliverability Foundations You Must Have in Place First

A win-back campaign sends email to addresses that have not received your messages in months. That audience is exactly what spam filters are looking for: a large batch of messages going to contacts with low recent engagement. Without the right authentication and monitoring in place, your campaign may hurt your domain reputation before it has a chance to work.

Three authentication records are non-negotiable before any bulk send. SPF (Sender Policy Framework) publishes a DNS record that tells receiving mail servers which services are authorised to send on behalf of your domain. DKIM (DomainKeys Identified Mail) adds a cryptographic signature to each outgoing message that receivers use to verify the sending domain is genuine. DMARC (Domain-based Message Authentication, Reporting, and Conformance) tells receiving servers what to do when an email fails SPF or DKIM, and sends you reports about failures — including attempts by others to spoof your domain. Shopify's win-back documentation recommends setting up all three before launching any reengagement campaign.

Inbox providers publish sender guidelines that set thresholds for spam complaint rates and may impose requirements such as one-click unsubscribe for senders above certain volume thresholds. Check the current requirements directly with your inbox providers and your email platform — these guidelines are updated periodically, vary by provider, and your email platform's documentation is the most reliable source for which rules apply to your sending volume and configuration.

Your email platform will typically provide reporting on spam complaint rates, domain reputation, and authentication pass/fail rates. For a win-back audience, start with a small batch — perhaps your highest-priority RFM segment only — and review those deliverability signals after 48 hours before sending to the full list.

Sources: Shopify: Winback Campaigns — Strategies and Examples

Putting It Together: A Practical Starting Plan

Here is a concrete starting plan for a shop in Fah Glow's situation — or any Thai online shop with a lapsed-customer list and a defined repurchase window. It is a conditional plan: results will depend on your specific list quality, product category, and message execution, and no outcomes are guaranteed.

Week 1: Pull your lapsed customer list from your order management system or CRM export. Filter to contacts with at least one confirmed order whose last order date exceeds 1.5 times your category's median repurchase interval. Remove all exclusions (hard bounces, spam complainants, unsubscribed, already-converted, suppression-listed). Sort the remaining list by monetary quartile (ascending: 1 first), then break ties by frequency quartile (ascending), then by recency quartile (ascending: 3 before 4). Throughout this plan, 'monetary quartile' refers to the monetary dimension score in CasperBrain's RFM model — it is not interchangeable with a single-order AOV figure or any other platform's scoring convention.

Week 1 also: Verify that SPF, DKIM, and DMARC are configured for your sending domain. Check that your email platform's unsubscribe mechanism is active and compliant with your providers' current requirements. Confirm that your platform's deliverability reporting is set up so you can monitor complaint rates and authentication results.

Week 2: Assign each contact to one of the three branches using the signals described earlier — product still in catalogue plus clean support record (Branch A), support flag or return on last order (Branch B), no complaint but no clear repurchase signal (Branch C). Write branch-specific email 1 for each segment. Do not include a discount code in any of them.

Week 2 also: Send email 1 to your top-priority RFM tier only (monetary quartile 1 and 2). Monitor open rate and CTR after 48 hours. Check your platform's deliverability reporting for complaint rate signals. If metrics look healthy, expand to the rest of the list.

Weeks 3 and 4: Send email 2 to contacts who did not open or click email 1, with the soft incentive appropriate to each branch. Exit anyone who converted after email 1.

Week 5: After allowing 7 to 10 days from email 2, send email 3 to remaining non-responders. Apply the percentage-off discount only to monetary quartile 1 and 2 customers. Send a last-chance message (gift-with-purchase or free-shipping offer, no percentage-off code) to monetary quartile 3 and 4 customers.

Week 7 onward: After a further 7 to 10 days with no engagement following email 3, sunset all contacts who did not engage across the full three-email sequence. Send the farewell message. Move non-responders to a clearly labelled archived or excluded segment in your email platform so they are not re-entered into future marketing flows — this is a platform list-management step, separate from your platform's deliverability suppression list. Document open rate, CTR, conversion rate, repeat order rate, and unsubscribe rate by branch and by RFM tier. Use those numbers to revise branch assignments, message copy, and the incentive ladder for your next campaign cycle.

Sources and editorial method

Examples are fictional and contain no customer records. Prepared by the CasperBrain team with AI drafting assistance; facts and language are checked before publication.