The scenario
The store sells everyday wear, school basics and occasion pieces for children from newborn to around age eight, on a Shopify site with KNET, Tabby and cash on delivery. Founder-run, sourcing from a handful of suppliers, with a genuinely loyal Instagram following built over several Ramadan and Eid seasons of drops.
The traffic side was healthy: paid and organic visits to product pages were both climbing, and the founder had already fixed the obvious things — fast pages, clear photography, a real size-in-centimetres note under most listings. What she had not looked at was the cart itself, because it had not changed since the store's first year, back when most orders were for a single child.
- Monthly revenue band
- pending client sign-off
- Average order value
- pending client sign-off
- Fulfilment
- Own stock, local courier, delivery promise stated in days at checkout
- Team
- One founder, one part-time packer during peak seasons
One size per line, and a mother ordering for three children
Session recordings on the cart page told a consistent story: a mother would add a shirt, change the size selector three or four times, then leave the tab open or abandon it entirely. The size chart listed age ranges only — two to three years, four to five years — with no height or weight band, which is a poor match for how children that age actually vary in Kuwait's own school-uniform and growth patterns.
The deeper issue only showed up once we watched a full session end to end: several of the abandoned carts had the same product added twice, at different sizes, which meant the shopper was trying to order the same shirt for two children in one cart and the interface would not let her set a different size per line without starting a second, separate line item that reset the bundle discount.
The store did not have a traffic problem or a trust problem. It had a size chart built for one child and a cart built for one order, sold into a market where the typical basket has more than one of both.
What we did — the pages and offers we tested
The losers are here on purpose. A test with only winners was never a test.
Height-and-weight chart replacing age-only
Winner"Measure once. Not every child the same age is the same size."
- Format:
- Product page, size chart with height and weight bands beside the age range, single-variable test against the control
The age-only chart was the single most common reason a size selector got changed and re-changed in the recordings. Adding a height and weight band next to the age range let a mother check her own child's measurement instead of guessing from age, and it moved the exchange conversation out of the returns process and back onto the page before the order was even placed.
"Add another child" line inside the same cart item
Winner"Ordering for more than one? Set a size for each child, one cart."
- Format:
- Product page and cart, a multi-size quantity picker replacing the single size dropdown
This directly answered the duplicated-line pattern we saw in recordings. Letting one add-to-cart action carry two or three sizes of the same item kept the sibling order as one basket instead of two, which meant it correctly qualified for the multi-item bundle discount instead of silently losing it.
Delivery-date countdown ahead of Eid
Winner"Order by Thursday to have it before Eid."
- Format:
- Product page banner, a rolling delivery-date promise shown above the add-to-cart button
Occasion wear in this category is bought against a fixed date, not on demand, and the site had never stated one anywhere before checkout. Making the delivery promise visible on the product page rather than only after payment reduced the number of pre-purchase WhatsApp messages asking whether an order would arrive in time.
Size-guide PDF gated behind an email form
Lost"Get our full size guide — enter your email to download."
- Format:
- Popup on the product page offering a downloadable size chart in exchange for an email address
A reasonable idea that lost for a simple reason: a mother already unsure of a size does not want a form and a download, she wants the answer on the same screen in the next five seconds. The popup measurably increased exits from the product page, because it added a step in front of the one thing that would have kept her there.
Prepaid discount pushed ahead of cash on delivery
Lost"Pay online and save. Cash on delivery available at checkout."
- Format:
- Checkout page, prepaid discount shown first with cash on delivery moved one click further down
This test tried to shift payment mix and instead lowered completion. A first-time buyer who is still unsure of a size wants cash on delivery precisely because she may need to reject the size at the door, and hiding it a click further down read as the store making the safer option harder to find, which cost more orders than the discount recovered.
What we did — the optimizations, in order
Read the funnel by device and by language
We split analytics between product page, cart and checkout by device and by Arabic versus English storefront, which showed the drop concentrated at the cart step specifically on mobile.
Why: A store with healthy traffic and a healthy conversion rate can still be losing most of its orders at one specific step, and that step is invisible until the funnel is read on its own rather than as a single top-line rate.
Watch full sessions on the cart page, not just the heatmap
Recordings on the three highest-traffic product pages showed the repeated size-selector changes and the duplicated-line pattern from mothers ordering for more than one child.
Why: A heatmap shows where a click landed. It does not show that the same shopper clicked the size dropdown four times in ninety seconds, which is the behaviour that actually told us the chart was the problem rather than the price or the photography.
Fix the size chart and the delivery promise first
Height and weight bands added beside every age range, and a delivery-date promise stated in days on the product page rather than only after checkout.
Why: These two changes touch every single visitor regardless of which page test is running, so fixing them before testing anything else meant every later test was measured against a fairer, already-cleaner baseline.
Rebuild the cart for more than one child, then test the offer
The multi-size add-to-cart replaced the single dropdown, and only after that shipped did we run the sibling-bundle discount and the prepaid-versus-cash test on top of it, one variable at a time.
Why: Testing an offer on top of a cart that structurally could not hold a real sibling order would have produced a result that meant nothing, because the shopper it was aimed at could not complete the flow either way.
Keep cash on delivery visible at the exact point of doubt
Cash on delivery stayed shown at the same step as the prepaid option rather than a click behind it, after the test that hid it lowered completion instead of shifting payment mix.
Why: In a category where size doubt is the top objection, cash on delivery is not a payment preference, it is the mechanism that lets a first-time buyer say yes despite the doubt, and removing it from view removes the reason she was willing to order at all.
Log every test with the hypothesis and the decision
Every page test, live or killed, went into one weekly log with what it changed, what happened, and whether it shipped, rolled back or needs a longer run.
Why: Without the log the store would have re-run the size-guide popup or the hidden cash-on-delivery test again next season on a new theme, having forgotten why each one was rejected the first time.
What changed
The headline number is in the table above, and the shape of the change is the important part: checkout completion moved on mobile specifically, which is where the funnel read had shown the leak concentrated, and it moved fastest right after the size chart and cart rebuild rather than after any single offer test.
Return rate for wrong-size exchanges also fell, which the founder had never connected to the checkout problem until we showed her the recordings — a customer who guessed a size at checkout because the chart gave her nothing better was the same customer opening a return two weeks later, and average order value rose as sibling orders stopped splitting themselves into two smaller baskets.
The two tests that lost were both instructive rather than wasted. Adding a step in front of a doubtful shopper, whether a download form or a hidden payment option, cost more than either was designed to gain, and both losses now sit in the test log so nobody re-runs a version of them by accident.
What we would do next
Extend the height-and-weight chart into a saved profile per child, so a returning mother of two or three does not re-enter the same measurements on every visit — the data already exists in her order history.
Test a light referral nudge on the order-confirmation page aimed at the WhatsApp groups this category actually sells through, now that the cart itself can handle the multi-child order those referrals tend to produce.