The scenario
The brand sells espresso machines, dallah sets, cups and serveware for a full gathering, aimed squarely at households that host often. Four years in, it has a loyal following built on Ramadan and Eid content, and a product range where almost everything sold — descaling tablets, replacement filters, extra cups for a bigger majlis, a second tray for a bigger crowd — has a natural reason to be bought again.
None of that repeat demand was being captured. Checkout collected a phone number for delivery and nothing else, order confirmations went out as a plain SMS, and the only outreach after a sale was a seasonal Instagram post the customer may or may not have seen.
- Monthly revenue band
- pending client sign-off
- Average order value
- pending client sign-off
- Fulfilment
- Own stock, local courier, next-day across Kuwait
- Team
- Two founders, one customer-service hire answering WhatsApp and calls
Every product in the catalogue asks to be bought again, and nothing was asking back
When we read the order history by first product bought, the gateway pattern was obvious within a day: customers who bought a dallah set alongside their first machine came back roughly twice as often as customers who bought the machine alone, almost always to buy cups, a tray or descaling tablets. Nobody at the brand had noticed, because nobody had ever split the cohort that way — the founders were reading total monthly revenue and assuming growth had to come from new customers.
The channel problem sat underneath the cohort problem. The brand had phone numbers for delivery but had never asked for WhatsApp consent, so it had no way to reach a past customer except a seasonal post competing with everything else in that person's feed. A customer whose machine needed descaling at the three-month mark, or whose Ramadan hosting set needed a second tray, had no message waiting for her at the moment she actually needed one.
The brand did not have a product problem or a demand problem. It had captured no channel to the customer it had already sold to, on a shelf of products that are designed to be repurchased.
What we did — the messages and flows
The losers are here on purpose. A test with only winners was never a test.
WhatsApp opt-in at checkout and again on the confirmation page
Winner"Get your delivery updates and hosting tips on WhatsApp instead."
- Format:
- Checkbox at checkout on the official WhatsApp Business API, repeated on the order-confirmation screen
Framing the opt-in around a delivery update rather than marketing gave customers a concrete reason to say yes, and asking twice — once at checkout, once on confirmation — caught the share who skip checkboxes under time pressure but read the confirmation screen properly.
A usage flow timed to the descale cycle, not the delivery date
Winner"Three months in — here's when to descale, and the tablets in one tap."
- Format:
- Automated WhatsApp message triggered ninety days after machine delivery, with a direct reorder link
A generic reminder a month after delivery would have arrived before the need existed. Timing it to the machine's actual descale interval turned a maintenance chore into a message that felt useful rather than promotional, and it became the single highest-converting flow in the account.
The pre-Ramadan hosting-set check-in
Winner"Ramadan is close — need a second tray or more cups for the majlis?"
- Format:
- Broadcast to anyone who bought a dallah or serveware set the previous year, sent four weeks before Ramadan
This audience already owns the base set and hosts predictably during Ramadan, which makes the message a genuine convenience rather than a cold pitch. Sending it a month early, rather than the week before, gave enough lead time for delivery ahead of the first gathering.
A weekly general broadcast to the whole list
Lost"This week's offer, for everyone on our list."
- Format:
- Unsegmented weekly WhatsApp broadcast to every opted-in number
It lost, and predictably: a generic weekly message to a list that included people who had bought a single ten-dinar tray alongside people who owned the full hosting set trained a visible share of recipients to mute the number within a month, which put the entire channel at risk rather than just one campaign.
What we did — the optimizations, in order
Read repeat rate by first product bought
We split ninety-day repeat purchase by the customer's first product — machine alone, machine with dallah set, serveware only — rather than reading one blended repeat rate for the store.
Why: The gateway product turned out to be the dallah set, not the flagship machine everyone assumed drove the business, and that finding is what redirected the whole cross-sell strategy toward pairing the two at first purchase.
Capture WhatsApp consent on the official Business API
We added the opt-in at checkout and again on the confirmation page, connected to the official WhatsApp Business API with template messages, replacing the plain SMS confirmation.
Why: A personal number or an unofficial tool gets banned and takes the customer database with it. The official API is what let the brand send template messages at scale without risking the channel it had just built.
Write flows around usage moments, in dialect
Order confirmation, delivery update, the descale check-in at ninety days, the review ask, then a replenishment or cross-sell message — each written first as a sentence in Kuwaiti dialect rather than a formal Arabic template.
Why: A formal Arabic reminder about descaling reads like a bank notice; a dialect message about the machine needing attention reads like advice from someone who knows the product. The difference showed up directly in how many people clicked the reorder link rather than just reading and ignoring it.
Segment the cadence, kill the general blast
Broadcasts moved from one weekly message to everyone to two to four a month, segmented by first product and how recently the customer last bought.
Why: The general weekly blast was training people to mute the number regardless of what it said. Segmenting by product and recency meant a serveware owner stopped receiving machine-accessory offers that had nothing to do with what she owned.
Match the offer to the repurchase cycle
Descaling tablets and filters were offered as a subscription-style reminder timed to the machine's own cycle; hosting-set owners were offered early access to new serveware pieces ahead of the season rather than a blanket discount.
Why: A consumable and a durable do not repurchase on the same clock, and treating them identically with a generic discount trains everyone to wait for the next one instead of buying when the actual need arrives.
Build a lapsed-customer win-back at sixty and ninety days
Customers who had not reordered by sixty and ninety days after their descale reminder were moved into a separate flow, each given a specific reason to come back — a new dallah design, a bundled offer — rather than a repeated blanket discount.
Why: A repeated blanket discount teaches even active customers to wait for the next one. A specific reason tied to something new keeps the win-back from cannibalising full-price sales to people who were going to reorder anyway.
Measure opt-out alongside revenue per recipient
Every flow and broadcast was tracked for both revenue per recipient and opt-out rate, with any message whose opt-out spiked pulled and rewritten, however well it appeared to sell.
Why: A message that sells well while quietly costing opt-outs is spending down the channel's future value to hit this month's number. Watching both side by side is what caught the general weekly blast before it did lasting damage.
What changed
The table above carries the numbers once the client signs them off, and the shape worth flagging now is that the repeat rate did not move because of one clever campaign — it moved because the brand finally had a channel to a customer it had already sold to, timed to when that customer's product actually needed attention rather than whenever the brand felt like posting.
The descale-cycle flow was the single strongest performer, which is not surprising once you see the gateway product finding: this brand's repeat business runs on maintenance and hosting-season needs, not on discovering new products, and the flow that met people exactly there earned trust the general blast spent.
The failed weekly broadcast was worth running because of what it confirmed rather than what it sold: this list punishes generic messaging fast, and the opt-out rate it produced is now the ceiling every future broadcast is measured against before it goes out.
What we would do next
Pair the dallah set with the flagship machine at first purchase as a default bundle, since the cohort data shows that pairing alone roughly doubles the odds of a second order.
Second, build a referral flow for hosting season specifically, since a household that hosts often is also a household whose guests ask where the set came from — a warm introduction this brand has never asked for.