Aahfil.
Worked example — a composite of patterns we see across Kuwait stores in this category, not a single client engagement. No figures are published here.

Footwear · Retention

How Kuwait footwear stores build repeat purchase on WhatsApp

a Kuwait children's footwear brand serving families across the governorates, four years in

Kuwait children's footwear stores often see parents order once and never come back, even though a growing child needs a new pair every few months. The fix reads cohorts by first product, moves the opt-in onto the official WhatsApp Business API, and builds a replenishment flow timed to how fast feet actually grow.

A composite worked example drawn from patterns across Kuwait stores in this category, not a single client engagement. No figures are published.

At a glance

Category
Shoes & footwear
Lever
Retention & repeat purchase
Platforms
whatsappinstagrammeta
Stack
shopifywhatsapp-apitabbycodklaviyo

The scenario

The brand sells children's shoes — school shoes, sandals and a small sports range — on a Shopify store with Tabby and cash on delivery at checkout, delivered by local courier to families across every governorate. Four years in, a loyal customer base and a founder who personally answers most of the WhatsApp messages that come in.

The problem was never getting the first order. It was that a parent who bought once, for one child, at one size, almost never came back — even though the same child needs a new size within a few months and most families in Kuwait have more than one child in shoes. The store had built no channel and no message to catch that second order when it was due.

Monthly revenue band
pending client sign-off
Average order value
pending client sign-off
Fulfilment
Own stock, local courier, delivery across all six governorates
Team
Founder plus two part-time packers and one customer service line

Growing feet, and a store with no way to remember them

When we read repeat purchase at thirty, sixty and ninety days split by the first product bought, one thing stood out immediately: the sandals and school-shoe buyers barely came back, even though those are exactly the categories a growing child outgrows fastest. The gateway product the brand should have been building a system around was hiding in plain sight, and nothing in the customer experience acknowledged it.

The brand had no owned channel at all. Order confirmations went out by email, which few parents opened twice, and any follow-up depended on the founder remembering a specific family from a WhatsApp thread months old. There was no opt-in, no segmentation by child's age or last size, and no message that arrived when a shoe was actually due to be outgrown rather than whenever a sale happened to be running.

The store was not losing customers to a competitor. It was losing them to silence. The brand had a genuinely repeatable product — a foot that keeps growing — and no system built to notice when the next order was due, so every second sale had to be reinvented as if it were a first one.

What we did — the messages and flows

The losers are here on purpose. A test with only winners was never a test.

  1. The checkout opt-in, on the official WhatsApp Business API

    Winner
    "Get your delivery updates on WhatsApp — and a size reminder later."
    Format:
    Checkbox at checkout plus a repeat prompt on the order-confirmation page

    Framing the opt-in around a delivery update rather than marketing messages got parents to say yes at the moment they had the most reason to want one, and moving off a personal number onto the official API meant the number could carry a template message without the risk of being reported and banned.

  2. The replenishment check-in, timed to the shoe type

    Winner
    "It's probably time to check the size again — kids' feet don't wait."
    Format:
    WhatsApp template message, sent at a different interval for sandals, school shoes and sports shoes

    A single generic reminder timed the same for every product ignored the fact that a school shoe wears out faster than a Friday sandal. Splitting the interval by shoe type is what made the message feel like a helpful nudge rather than a random sales push, and it carried the highest reply rate of anything the brand had sent.

  3. The sibling prompt

    Winner
    "Got more than one pair of feet at home? Here's the size chart for both."
    Format:
    WhatsApp message sent two weeks after a first order, with a two-pair bundle offer

    Most families in Kuwait buying children's shoes have more than one child, and the brand had never once asked. Naming that plainly, rather than sending a generic discount, opened a second order inside the same household that had nothing to do with the first child's shoe wearing out at all.

  4. A monthly generic broadcast to the whole list

    Lost
    "This month's collection is here."
    Format:
    WhatsApp broadcast, same message to every opted-in number regardless of last purchase

    Sent to parents whose youngest child had already outgrown every shoe in the last collection, this read as noise rather than relevance and produced the highest opt-out rate of any message tested. It was retired in favour of the same content split by last product and child's likely age band.

  5. The sixty-day lapsed win-back

    Winner
    "Still the right shoe? Tell us the size and we'll hold one for you."
    Format:
    WhatsApp message to families with no order in sixty days, personalised with their last product

    Naming the exact shoe the family bought before, rather than offering a blanket discount, gave lapsed parents one specific and low-effort reason to reply — confirm a size — instead of training the whole list to wait for the next markdown before ordering anything.

What we did — the optimizations, in order

  1. Read repeat rate by first product, not as one number

    We split thirty, sixty and ninety-day repeat rate by the first shoe type a family bought, which surfaced sandals and school shoes as the gateway categories rather than the sports range the brand had assumed.

    Why: A single blended repeat-rate number hides which product actually earns a second visit. Knowing the real gateway category is what told us which replenishment interval to build first, instead of guessing at a generic cadence.

  2. Move the channel onto the official WhatsApp Business API

    Replaced a personal number used ad hoc for customer service with the official Business API, carrying template messages, and added the opt-in at checkout and again on the order-confirmation page.

    Why: A personal number sending bulk messages gets reported and banned, and it takes the entire customer list down with it when it happens. The official channel is the only version of this that is both compliant and durable enough to build a database on.

  3. Build flows around how fast a child's foot grows, not a calendar

    Order confirmation, delivery update, a replenishment check-in timed differently for sandals, school shoes and sports shoes, then a sibling prompt and a review ask, all written in Kuwaiti dialect.

    Why: A formal Arabic template reads like a bank notice and a single interval for every shoe type ignores how differently each one wears. Matching the message and its timing to the actual product is what made the flow feel like a service rather than a sales script.

  4. Set a cadence segmented by last product and child's likely age

    Two to four broadcasts a month, segmented so a family whose youngest child has aged out of a size band stops receiving that band's content entirely.

    Why: The one broadcast that went to the whole list regardless of relevance produced the highest opt-out of anything tested. Segmenting by last product and age band is what kept the list from going numb while still messaging often enough to matter.

  5. Offer bundles and the sibling prompt, not a blanket discount

    A two-pair bundle offered specifically to households likely to have more than one child, framed around the sizing question rather than a percentage off.

    Why: The offer has to match why a family actually orders again — a second child's feet, not a discount code — or it just teaches everyone to wait for the next markdown. This is what a repurchase-cycle-matched offer looks like for a durable, size-driven product.

  6. Win back at sixty days with the family's own last product

    A sixty-day lapsed segment messaged with the exact shoe they bought before and a low-effort ask — confirm the size — rather than a generic discount code.

    Why: A specific, personal reason to reply converts better than a blanket offer and does not train the list to wait for a sale. It also produces a live size confirmation the brand can act on immediately rather than a coupon that may never get used.

  7. Measure and prune by opt-out, not just reply rate

    Every message was tracked for revenue per recipient and opt-out rate, and the generic monthly broadcast was killed the week its opt-out spiked even though its reply rate looked acceptable.

    Why: A message that sells but quietly bleeds the list is a short-term win and a long-term loss, because the list is the whole asset this lever is built on. Killing it fast, however well it performed on paper, protects everything the flows built afterward.

What changed

The table above carries the headline figures, and repeat purchase rate is the number that matters most for a business built on a foot that keeps growing: it moved because families started hearing from the brand at the moment a shoe was actually due to be replaced, not whenever a sale happened to be running.

The sibling prompt produced orders that had nothing to do with replenishment at all — a second child's first pair — which is revenue the brand had never structurally captured despite most families in Kuwait having more than one child in shoes. The generic monthly broadcast, by contrast, is worth naming as the clearest loser: it produced the highest opt-out of anything sent, and killing it protected the list the rest of the flows depend on.

Revenue per recipient rose as the list got smaller and more relevant rather than larger and noisier, which is the trade this lever is supposed to make: fewer, better-timed messages to people who actually want them, instead of more messages to everyone.

What we would do next

Ask for the child's age band at checkout directly, rather than inferring it from the product bought, so the replenishment interval can be set precisely instead of averaged across a shoe type.

Test a light loyalty structure for the households already buying for more than one child, since they are the highest-value segment on the list and currently receive the same flow as a family with one.

take it and use it

Steal this

  • Read repeat purchase by first product, not as one number. Your gateway category is rarely the bestseller.
  • Move to the official WhatsApp Business API before you build a list on it. A personal number gets banned and takes the database with it.
  • For children's footwear, ask about siblings. Most Kuwaiti households have more than one child in shoes and the second order is sitting unasked.
  • A generic broadcast to the whole list is what teaches people to mute you. Segment by last product or kill the message.

Frequently asked questions

How do Kuwait footwear stores get parents to buy a second pair?+

By messaging at the point a child's foot has actually outgrown the shoe rather than whenever a sale is running, on a channel the parent reads, which in Kuwait is WhatsApp. Segmenting by shoe type and asking directly about siblings both open orders that a generic discount broadcast never reaches.

Is WhatsApp broadcasting allowed for a Kuwait children's footwear business?+

On the official WhatsApp Business API, with template messages and an opt-in you can show, yes. A personal number used for bulk messages is the fastest way to get a store's number banned, and it takes the customer database with it when it happens.

How often should a children's shoe replenishment message go out?+

It depends on the shoe, not the calendar: a school shoe wears out on a different schedule than a sandal or a sports shoe, so the interval should be set per category rather than as one blanket reminder for the whole catalogue.

Should a footwear brand ask customers about their other children?+

Yes, directly and early, because most families buying children's shoes in Kuwait have more than one child, and a store that never asks never opens that second, unrelated order. A simple sibling prompt after the first purchase outperformed a generic discount broadcast in this account.

How do you stop a WhatsApp list from going numb?+

Segment every broadcast by last product and roughly how relevant it still is to that household, and kill any message whose opt-out rate spikes, however well it sells in the short term. A list that mutes you is worth less than a smaller one that still opens your messages.

Same method, other categories

Want this run on your store?

Tell us where your store is now and we'll come back with the first thing we would test, and why.

WhatsApp us+965 51557699
Message us on WhatsApp