The scenario
The brand sells premium straighteners and dryers direct to consumer, with an average ticket comfortably above the point where a Kuwaiti shopper starts doing instalment maths, and a following built mostly on Snapchat demo content rather than paid reach alone. The store was built two years ago by a freelance developer, on a theme designed for an English-first market, with the Arabic version added afterwards as a translation layer rather than a rebuild.
That order mattered more than anyone had noticed. The English pages behaved the way a Shopify store is supposed to; the Arabic pages, which carried most of the traffic once Snapchat and Instagram were doing their job, had never actually been tested by someone shopping on a Kuwaiti phone in the language most of the audience reads in.
- Monthly revenue band
- pending client sign-off
- Average order value
- pending client sign-off
- Fulfilment
- Own stock, local courier, next-day across Kuwait
- Team
- Founder plus one customer-service hire answering WhatsApp
The traffic was working. The checkout was not.
The account looked healthy from the outside: strong Snapchat click-through, a Thursday-night spike every single week as women shopped ahead of the weekend, and a product page that held attention well past the industry norm for a hair tool. The number nobody had looked at closely was how much of that attention survived the walk from add-to-cart to a completed order, split by device and by language rather than as one blended figure.
Split that way, the picture changed. Desktop and English-language sessions converted at something close to what the founder expected. Mobile Arabic sessions, which were the majority of all traffic once the paid channels were doing their job, fell away hard between the cart and the order confirmation. Session recordings on the busiest Arabic product pages showed the same three moments over and over: a free-text address box that customers typed into, deleted, and retyped; an eighty-dinar dryer whose Tabby instalment only appeared once the customer had already reached the final checkout step; and a cash-on-delivery fee that was never mentioned until the order was placed.
None of these were advertising problems, and none of them would have been fixed by a bigger budget or a new hook. The store had built a checkout for the customer it wished it had, not the one actually arriving from Snapchat on a Thursday night in Arabic.
What we did — the pages and offers we tested
The losers are here on purpose. A test with only winners was never a test.
Tabby instalment moved from checkout to the price block
Winner"From KD 6.67/month with Tabby" shown next to the price on the product page
- Format:
- Product page price block, single-variable test against the control
The instalment figure had always existed; it just lived on the step furthest from where the price anxiety actually starts. Moving it to sit under the eighty-dinar price tag, where the customer first does the mental maths, meant fewer people abandoned the page before ever reaching a cart, and fewer carts were abandoned by someone doing that maths for the first time at checkout.
A Kuwait-shaped address form replacing the free-text box
WinnerGovernorate, area, block, street and building as separate fields instead of one open box
- Format:
- Checkout address step, rebuilt fields, phone-first order
A single free-text box asks a Kuwaiti customer to compress an address system built around governorate, area, block and street into one line she has to guess the format for, on a phone keyboard, while the courier reads it cold. Splitting it into the fields Kuwait actually addresses by cut the retyping loop the recordings kept showing and produced fewer failed deliveries the customer-service line had been quietly absorbing.
A speed pass on the three product pages carrying most of the paid traffic
WinnerSame page, same photos, compressed and served without the two apps nobody was using
- Format:
- Image compression, unused-app removal, deferred non-critical scripts
The original photographer delivered images sized for a print catalogue, and two review and upsell apps were still firing scripts from a campaign that ended a year earlier. None of this is a page test — it is a floor everyone stands on — and it moved the load time on the exact pages a Thursday-night Snapchat click lands on, which matters more on a Kuwaiti mobile network than in a browser on a desk.
Raising the free-shipping threshold to lift average order value
Lost"Free delivery over KD 30" replacing the previous KD 20 threshold
- Format:
- Cart page banner and checkout summary, single-variable test
A reasonable idea that read the customer wrong. Most single-item carts in this category sit close to the price of one straightener or dryer, so raising the threshold did not encourage a second item — it just made the delivery fee visible and resented on a purchase that used to feel free, and it landed hardest on the cash-on-delivery customer who was already the most price-sensitive person in the funnel.
An email-capture pop-up on first visit
Lost"Get 10% off your first order" shown within five seconds of landing
- Format:
- Full-screen mobile pop-up, triggered on entry
It collected emails and cost more than it earned. On a mobile Snapchat session that already had one job — a customer landing on a specific product from a specific hook — a full-screen interruption before she had even seen the product pushed up bounce rate and measurably slowed the page, which mattered more to checkout completion than any email list was worth in a market where WhatsApp, not email, is where this brand's customers actually reply.
What we did — the optimizations, in order
Read the funnel by device and by language
We split every funnel step — page view, add-to-cart, checkout start, order — by device and by locale rather than reading one blended conversion rate for the whole store.
Why: A blended number had been hiding a healthy English desktop funnel sitting on top of a broken Arabic mobile one, and averaging the two told the founder nothing was wrong. Splitting the read is what turned a vague sense of underperformance into three specific, fixable moments.
Sit through session recordings in Arabic, on a phone
We watched real recorded sessions on the three highest-traffic product pages in the Arabic locale, on the same phone models the customer base actually uses, rather than testing the site in a browser on a desk.
Why: The address retyping loop, the missed Tabby badge and the surprise cash-on-delivery fee do not show up in an analytics dashboard as a single number — they show up as a pattern of hesitation and backtracking that only a recorded session makes visible. This is where the three real problems were found, not guessed at.
Fix the floor: speed, right-to-left, payment visibility
Compressed product images, removed two unused apps, deferred non-critical scripts, corrected right-to-left rendering issues on the size guide, and put the KNET, Tabby and cash-on-delivery badges on the product page rather than only at checkout.
Why: These fixes touch every visitor regardless of which page test wins or loses, which is why they come before any test rather than after it. A slow, badge-less Arabic page was suppressing the conversion rate of every single creative the paid team was running, no matter how good the ad.
Run one page or offer test at a time, per template
The Tabby placement, the address form and the free-shipping threshold were each tested one at a time against the existing page, with the audience, the ad and the price held identical across the test.
Why: Two live tests on the same template at once is how a store ends up with a result nobody can explain. Testing the address form and the shipping threshold separately is the only reason we can say with confidence which one helped and which one hurt.
Rebuild checkout around the phone and the Kuwaiti address
Phone number as the first field, structured governorate, area, block and street fields, a clear cash-on-delivery fee shown before the customer commits, and a WhatsApp link for anyone who stalls partway through the form.
Why: A checkout that matches how Kuwait is actually addressed removes the single biggest source of retyping and failed delivery, and showing the cash-on-delivery fee before the final click turns a surprise into a decision the customer has already made peace with by the time she confirms.
Time the review request after the tool is actually used
The review request moved from the day the order shipped to roughly a week later, timed to land after a customer has had a chance to use the straightener or dryer on her own hair rather than only unbox it.
Why: A review asked for on delivery day is a review about the packaging and the courier, not the product, and it reads as thin to the next shopper deciding whether an eighty-dinar tool is worth it. A week gives the result time to show, and the reviews that came back were longer and more specific.
Keep a weekly test log
Every test, its hypothesis, its result and the decision taken went into one shared log the founder reviews weekly, including the two that lost.
Why: Without a written log a small team re-runs the free-shipping test again in eight months because nobody remembers it already failed, and re-learns the same lesson at the cost of another quarter's worth of margin.
What changed
The table above carries the numbers once the client signs them off, and the shape worth flagging now is that the improvement did not come from a single dramatic fix — it came from closing three specific gaps between where the traffic actually was and where the checkout assumed it would be. Checkout completion moved because the address form stopped fighting the customer, not because of a discount or a new campaign.
The speed pass mattered more than expected. Because it touched every visitor rather than one test variant, it lifted the baseline every subsequent page test was measured against, which is part of why the Tabby placement test showed a cleaner result once it ran on a faster page than the one it would have run on three weeks earlier.
The two losing tests were worth running even though they lost. The free-shipping change confirmed that this category's basket size is set by the product price, not the delivery fee, and the pop-up confirmed that this audience's attention belongs to WhatsApp, not an email list. Both findings changed what the team tests next rather than what it keeps.
What we would do next
Take the structured address form to every page that collects an address, including the WhatsApp order flow the customer-service line still handles by hand for customers who never finish the online checkout. That is the same fix paying twice.
Second, get the speed and payment-visibility floor in place a month before Eid and wedding season, when Thursday-night Snapchat traffic multiplies and a checkout that leaks even a little at normal volume leaks a lot at peak volume.