The scenario
The store imports and sells treadmills, adjustable benches, power racks and free weights in Kuwait, direct to consumer, on a Shopify store with KNET, Tabby and Apple Pay at checkout. Cash on delivery had been switched off for heavy items after too many failed handoffs at the door, which meant every heavy-item order had to be paid in advance, and the checkout had never been rebuilt to make that trade worth it.
Two founders, a small warehouse team and a delivery partner who also does the carrying and the basic assembly, because almost nobody buying a power rack in Kuwait has a way to get it up three flights themselves. The indoor summer months, when outdoor exercise and gym car parks both become unpleasant, are this store's real season, well ahead of any single campaign moment.
- Monthly revenue band
- pending client sign-off
- Average order value
- pending client sign-off
- Fulfilment
- Imported stock, delivery partner handles carrying and basic assembly
- Team
- Two founders, a small warehouse team, one delivery partner
A checkout that only told the truth about delivery at the very last step
The product pages were doing their job. Traffic from search and social was landing, browsing specifications and adding a treadmill or a rack to the cart at a healthy rate. The break was further along: a large share of carts with a heavy item in them were abandoned at the exact step where the delivery and assembly fee first appeared, which in the existing checkout was after the address was entered and the card details were half filled in.
That is a bad place to surprise a buyer who has already committed thirty minutes of decision-making to a purchase this size. The fee itself was not unreasonable, and shoppers on this kind of product generally expect to pay for delivery and assembly of something too heavy to carry themselves. What they did not expect was to find that number for the first time after they thought they were nearly done.
There was a second, quieter leak in the same place: nothing on the product page told a shopper in a smaller Kuwait apartment whether the equipment would actually fit through her door or up her stairwell, so a share of the carts that did complete came back as returns once the item arrived and did not. The checkout was not broken. It was honest too late, and the product page was not honest about size at all.
What we did — the pages and offers we tested
The losers are here on purpose. A test with only winners was never a test.
Delivery and assembly fee shown on the product page, not at checkout
Winner"Delivery and assembly for this item: shown here, not at checkout."
- Format:
- Product page module, price plus fee side by side above the fold
The single highest-leverage change tested: moving the number a shopper was already going to see, but earlier, so it is absorbed as part of the decision rather than discovered as a surprise at the door of the checkout. Cart abandonment on heavy-item pages fell noticeably once the total landed cost was visible before the add-to-cart click rather than after it.
A doorway and stairwell size check
Winner"Will it fit through your door? Check the box dimensions here."
- Format:
- Product page widget with boxed dimensions and a short measuring guide
Aimed at the return driver rather than the checkout drop, and it worked: a simple boxed-dimension callout with a one-line measuring instruction gave apartment shoppers a way to self-select before ordering, and the products carrying this module returned less than the ones without it.
A booked delivery slot instead of a vague promise
Winner"Pick your delivery window at checkout — a real date, not 'soon'."
- Format:
- Checkout step with a calendar picker for heavy-item delivery
For a purchase this size, a vague delivery promise reads as a risk rather than a convenience. Letting the shopper commit to an actual window at the point of payment, rather than waiting for a call after the order, raised checkout completion because it closed the last real uncertainty in the purchase.
A bundled fee, hidden inside the item price
Lost"Free delivery — price already includes it."
- Format:
- Product price shown as a single inflated number with no delivery line
Tested on the assumption that hiding the fee would remove the friction entirely, and it lost: a home fitness shopper in Kuwait comparison-shops on the base price across two or three sites, and a quietly inflated number made this store look more expensive than it was, which cost more add-to-carts than the honest fee ever cost at checkout.
A single-page checkout collapsing every step into one screen
Lost"Everything on one page — address, payment, delivery date."
- Format:
- Single long-scroll checkout replacing the three-step flow
Reasonable on paper for a considered purchase, but it performed worse on mobile specifically, where the long page made the delivery-slot picker harder to reach and pushed the payment buttons further down. For a heavy-ticket item bought mostly on a phone, the shorter, staged checkout beat the single long page.
Tabby instalments shown as a weekly figure on heavy items
Neutral"Or four payments, starting from about this much a week."
- Format:
- Product page price block with the instalment figure beside the full price
Neutral on its own, but it changed which items got added to cart: shoppers moved toward higher-specification machines once the instalment framing made the gap between models feel smaller, which lifted average order value without a discount on any single item.
What we did — the optimizations, in order
Read the funnel by device and by product weight
We split analytics between light accessories and heavy equipment and looked separately at mobile and desktop, because the two product types were leaking at completely different steps of the same checkout.
Why: A blended funnel would have hidden the real story: light accessories converted normally, while heavy items had a specific, isolatable drop the moment the delivery fee appeared, which meant the fix could be targeted instead of a general checkout rebuild.
Watch real sessions on the three heaviest product pages
Recordings and heatmaps on the treadmill, the power rack and the adjustable bench, in both languages, tracking exactly where a visitor scrolled looking for delivery or dimension information.
Why: The recordings showed the same pattern on every heavy page: a scroll down to the specifications table looking for weight and dimensions, then a scroll back up looking for delivery cost, then a tab switch to a competitor. That sequence is what told us the missing information, not the price, was the actual friction.
Fix the floor: speed, dimensions and the fee, all on the page
Compressed the heaviest product images, added the boxed-dimension widget, and put the delivery and assembly fee directly beside the price rather than behind a link or a tooltip.
Why: Every one of these fixes touches every visitor to a heavy-item page, which is why they came before any test: speed and honesty about size and cost are not variables to experiment with, they are the floor a considered purchase needs before anything else can move it.
Test the fee placement and the checkout shape, one variable at a time
Ran the delivery-fee placement test and the staged-versus-single-page checkout test in sequence rather than together, with two live tests per template as the hard limit.
Why: Running both at once would have made it impossible to know whether a change in completion came from where the fee was shown or from how many steps the checkout had, and this store's order volume was not large enough to split-test more than one thing at a time with a trustworthy result.
Rebuild checkout around a booked delivery slot
Added a calendar picker for heavy-item delivery inside checkout itself, phone-first fields, and address entry by area, block and street the way Kuwait is actually addressed.
Why: Since cash on delivery is off for these products, the checkout has to do more work to earn the prepayment: a booked date replaces the trust that a cash handoff would otherwise provide, and it was the single change with the clearest lift on its own.
Post-purchase: confirm the slot, then the assembly
A WhatsApp confirmation of the exact delivery window, followed by a second message the day before with the assembly crew's expected arrival time.
Why: The moment a buyer pays for a heavy item in advance, the anxiety does not end at checkout, it moves to whether the delivery will actually show up as promised. Confirming twice on WhatsApp closed that gap and measurably reduced the pre-delivery messages the founders were fielding by phone.
Keep a weekly test log ahead of the indoor summer season
A running log of every hypothesis, the result and the decision, reviewed weekly and used to plan the checkout ahead of the indoor summer months when this category's real demand shows up.
Why: Without a written log, a small store re-runs the same fee-placement question every time a founder has a new theory. Testing before the season means the checkout is already settled by the time the heaviest traffic of the year arrives, instead of being rebuilt mid-peak.
What changed
The headline number is in the table above, and where it moved matters more than how far: checkout completion on heavy-item orders specifically, the exact segment that had been leaking. Light accessories, which had never had the fee problem, stayed roughly where they were, which is the confirmation that the fix landed on the actual cause rather than a general seasonal lift.
The clearest instructive result was the bundled-fee test failing. The instinct to hide a cost and call it free is a natural one for a founder watching cart abandonment happen, and it is exactly backwards for a category where the buyer is actively comparing base prices across stores. Honesty about the fee, shown earlier rather than removed, is what actually worked.
Returns also moved, and for a specific reason rather than a general improvement in satisfaction: once the doorway and stairwell dimensions were visible before ordering, fewer heavy items arrived at apartments they were never going to fit into in the first place.
What we would do next
Extend the dimension widget to a short video showing the assembly crew handling one machine in an average Kuwait apartment stairwell, since the return driver that remains is less about the box and more about the effort of getting it upstairs.
Test a pre-booked assembly appointment shown at the same moment as the delivery slot, so the two anxieties this buyer carries, arrival and setup, are closed in the same screen instead of one being confirmed only after the other.