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.

Eyewear · CRO

How Kuwait eyewear stores fix a product page built for one product, not three

an eyewear brand in Kuwait running two mall counters plus an online store, founder-run

Kuwait eyewear stores often share one product page template across sunglasses, prescription frames and coloured lenses, and paid traffic leaves without adding to cart. Reading the funnel by product type, watching real sessions, and rebuilding the page around what each buyer actually needs to see before committing is what fixes it.

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
Eyewear & lenses
Lever
Conversion rate optimization
Platforms
instagramsnapchatgoogle
Stack
shopifyknettabbycodga4

The scenario

The brand sells sunglasses, prescription frames and coloured contact lenses from two mall counters and one Shopify store, with the online side built to reflect whatever the counters were selling that season rather than treated as its own channel. KNET, Tabby and cash on delivery were all live, but only appeared at checkout, not on the product page itself, which is where a Kuwaiti shopper decides whether to keep going.

The founder had invested properly in paid traffic — Google Shopping for people already searching by brand, Instagram and Snapchat for discovery — and the click-through numbers looked healthy. What happened after the click was the unexamined part of the business, and it turned out to be where most of the paid budget was quietly being wasted.

Monthly revenue band
pending client sign-off
Average order value
pending client sign-off
Prescription handling
Customer uploads her own prescription; a partner optician confirms lens specs before dispatch
Fulfilment
Mall counters plus online, courier delivery across Kuwait

The same page template for sunglasses, a semi-medical product and a Snapchat impulse buy

Every product on the store, regardless of type, sat on the same template: a photo gallery, a price, a size dropdown and an add-to-cart button. That template answers the sunglasses buyer's questions reasonably well. It answers almost none of the frames buyer's questions — nowhere did it say what happens to her prescription after she uploads it, who checks it, or how long that takes — and it gave the lens buyer no way to see the colour on anything but a stock model's eye.

Analytics split by device and language told part of the story: mobile add-to-cart on frame pages sat noticeably below sunglasses pages, and Arabic sessions on those same pages ran shorter than English ones. Neither number said why on its own, which is what made the session recordings necessary rather than optional.

The recordings showed shoppers scrolling past the add-to-cart button on frame pages, appearing to look for something, then leaving. On the Arabic version, the Tabby instalment figure sat behind a right-to-left layout bug that pushed it below the fold entirely. The store was not losing these visitors to price or to a competitor. It was losing them to a page that never answered the one question each of them actually had.

What we did — the pages and offers we tested

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

  1. Three product templates instead of one shared page

    Winner
    A frame page that leads with prescription handling; a lens page that leads with colour on skin tone; a sunglasses page that leads with fit
    Format:
    Three Shopify page templates, same brand components, different order and different modules per product type

    The single biggest change in the project. Splitting the template let the frames page open with the prescription-handling explanation instead of burying it in an FAQ tab, and let the lens page open with an eye-tone colour guide. Add-to-cart on frame pages moved the most of any single change, because the page finally answered the visitor's actual first question.

  2. Frame width in millimetres plus a measuring guide

    Winner
    "This frame is 138mm. Measure your own face in ten seconds."
    Format:
    A small on-page widget under the price, plus a printable measuring guide linked from it

    The session recordings showed shoppers scrolling in search of a number rather than a description, and giving them the width in millimetres rather than only small, medium or large answered that directly. This module moved add-to-cart on both frames and sunglasses, which told us the underlying want — a checkable fact — was shared across product types even though the trust objection differed.

  3. Payment badges on the product page, not only at checkout

    Winner
    KNET, Tabby and cash-on-delivery logos placed directly under the price on every product page
    Format:
    A fixed row of payment badges, right-to-left corrected on the Arabic page

    The Tabby instalment figure had been visible only after the right-to-left layout bug was fixed, and even then it sat at checkout rather than on the page. Moving the badges up, and fixing the Arabic rendering at the same time, removed a hidden reason for hesitation the analytics alone could never have surfaced.

  4. A case and cleaning cloth bundle on sunglasses pages

    Neutral
    "Add a case and cleaning cloth for a small extra amount."
    Format:
    A checkbox add-on under the size selector on sunglasses product pages only

    Tested as an average-order-value lever rather than a conversion one, since the sunglasses page already converted acceptably. Take-up was modest and inconsistent across weeks, which reads as neither a clear win nor a clear loss — worth another round with a different framing rather than a verdict either way.

  5. The original shared template with tabs for each product type

    Lost
    One page layout with "Sunglasses / Frames / Lenses" tabs to switch content within the same template
    Format:
    A single Shopify template with conditional tab content, kept live as the control

    An interim fix tried before committing to three full templates, on the theory that tabs would be cheaper to build than separate pages. It lost to the split templates on every metric because the tab itself became one more click between the visitor and the answer she needed, and most visitors never opened the second tab at all.

What we did — the optimizations, in order

  1. Read the funnel by product type, device and language

    We split add-to-cart and checkout completion three ways — sunglasses, frames, lenses — and again by device and language, instead of reading one blended funnel for the whole store.

    Why: A blended funnel on a three-product store hides exactly which product is leaking and where, the same trap a blended ad campaign falls into. The split showed the frames line leaking before add-to-cart while sunglasses leaked later, at checkout — two different problems needing two different fixes.

  2. Watch real sessions on the highest-traffic pages, in both languages

    Recordings and heatmaps on the three product pages taking the most paid traffic, watched in Arabic and in English separately rather than assuming they behave the same.

    Why: The dashboards showed a number; the recordings showed a shopper scrolling for a millimetre figure that did not exist and a right-to-left layout bug hiding the Tabby number entirely. Neither would have been found from analytics alone.

  3. Fix speed, right-to-left rendering and payment visibility first

    Compressed product photography, corrected the right-to-left layout bug hiding the Tabby figure, and moved KNET, Tabby and cash-on-delivery badges onto the product page before touching any offer.

    Why: These floor fixes touch every visitor regardless of product type, so they were done first and read on their own before any page-specific test began, keeping the later tests attributable to one variable each.

  4. Split the shared template into three, one variable at a time

    Tested the tabbed interim version first, then the fully separate templates, then the millimetre widget and the bundle add-on, each live for long enough to reach a conclusion before the next change went in.

    Why: Running two page changes at once on a three-product store makes it impossible to say which product's fix caused which movement. Sequencing the tests, one variable at a time, is what let us credit the template split specifically rather than a bundle of simultaneous changes.

  5. Rebuild the prescription step inside checkout, not after it

    Moved the prescription upload into the checkout flow itself with a WhatsApp fallback for anyone who does not want to attach a file on mobile, and stated clearly that a partner optician confirms the lens specification before dispatch.

    Why: Frame buyers had previously been asked to upload a prescription after paying, by email, which reads as an unresolved order rather than a confirmed one. Handling it inside checkout, with a plain statement of who checks the lens specification, closes the loop the customer was previously left waiting on.

  6. Time the post-purchase messages to what each product actually needs

    Order confirmation on WhatsApp for all three lines, a specific optician-confirmation update for frames, and a review request delayed until after the item would realistically have arrived and been worn rather than sent the day it shipped.

    Why: Frame buyers specifically wanted to know their prescription had been checked, not just that a parcel had shipped, and a generic confirmation message left that anxiety unanswered right up until delivery. A product-specific update closed a gap the checkout fix alone did not.

  7. Keep a weekly test log split by product line

    One shared log with the hypothesis, the result and the decision for every test, tagged by which of the three product lines it belonged to.

    Why: Without the product-line tag, a test log for a three-product store reads as a single history and hides that the frames line still has open questions the sunglasses line already answered. The tag is what stops the store re-running a sunglasses-specific test on a frames page next quarter.

What changed

The table above carries the headline figure, and the shape underneath it is what makes the fix repeatable: conversion moved because add-to-cart moved first, and add-to-cart moved first because the frames page finally explained the prescription process instead of leaving it as an unanswered question three scrolls down.

The floor fixes — speed, the right-to-left layout bug, payment badges on the product page — moved every line at once, because they touched every visitor regardless of which product she was looking at. The template split moved the frames line specifically, which is the number that mattered most since it had been the account's clear laggard.

The bundle test on sunglasses pages produced the least conclusive result of the round, and that is worth stating plainly rather than dressing up: not every test moves the number, and a neutral result on an add-on is a cheaper lesson than the months the store had spent not testing at all.

What we would do next

Retest the case and cleaning cloth bundle with a different framing — shown as part of a gift set around Eid rather than a generic checkbox — since the flat result may be about timing and presentation rather than the offer itself.

Extend the frame page's prescription clarity into the WhatsApp confirmation flow with a specific message once the partner optician has actually checked the lens specification, closing the loop the checkout fix opened but does not yet fully complete.

take it and use it

Steal this

  • A shared product template on a three-product store hides which product is losing conversion. Split the funnel before you split anything else.
  • For prescription frames, the trust fix is a clear answer to "who checks my lenses", not a prettier photo gallery.
  • Payment badges belong on the product page, not only at checkout. Kuwaiti shoppers decide on the page.
  • Not every test moves the number. A neutral result on an offer is cheaper information than not testing at all.

Frequently asked questions

Why do visitors leave an eyewear product page without adding to cart?+

Usually because the page answers a question the visitor did not have, and leaves the one she did have unanswered — frame width, who handles the prescription, or what the lens colour looks like on her own skin tone. A generic gallery-and-price template covers none of those specifically.

Do I need KNET, Tabby and cash on delivery all three for an eyewear store?+

For most eyewear price points, yes. KNET covers the default card buyer, Tabby carries anything above roughly twenty dinars comfortably, and cash on delivery converts the first-time buyer who has not bought glasses online before. Showing all three on the product page rather than only at checkout is where the actual difference showed up here.

How do you handle prescription uploads without making a medical claim?+

The page and the checkout describe a process, not an outcome: the customer sends her prescription, and a partner optician confirms the lens specification before the frame is dispatched. Nothing on the page claims to correct vision or judge eye health — it simply states who does what and when.

What is a good conversion rate for a Kuwait eyewear store?+

It varies more by product line within the same store than most owners expect — sunglasses typically convert differently from prescription frames, which carry a longer decision. The number worth tracking is your own rate per product line over time, split the way this study split it, rather than one blended average.

How long before conversion fixes show up in revenue?+

The floor fixes — speed, layout, payment visibility — usually read within two to three weeks because they touch every visitor. Page-specific tests like a template split need enough sessions on that specific product to be conclusive, which for a mall-plus-online eyewear store typically means three to four weeks per test.

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