Mansouj Egypt prototype v4.1: changes and decisions
Revision of the v2 prototype, 28 October 2026. Design and research only: nothing on the live Shopify store was changed, and none of this is authorised for Shopify yet. The v2 prototype is kept as a backup (backup-v2/ in the project folder).
v4.1: restored Complete the bed builder and Complete the set upsell
| Component | Restored and improved |
|---|---|
| Complete the bed (open) | The original four-step builder: 1 mattress size chips (100–200 with bed names) → 2 fitted sheet image cards for jersey, percale and sateen (separate products, priced for the chosen size; colour swatches; mix & match pillowcases: included only / extra pair same colour / contrast colour) → 3 top layer image cards: handwoven coverlet (choose the design), duvet + cover (insert and cover in matching sizes, cover colour), or none → 4 protector checkbox (matched to the mattress) and 0 / 1 / 2 / 4 hotel pillows. Right-hand order summary with each item, subtotal, “Bundle discount: none” and total, plus “Add everything to cart”. On phones the summary becomes a sticky total bar with an expandable summary and an “Add all” button. |
| Accuracy rules | Nothing optional is pre-selected (start total = the sheet only). The 7% saving from the old screenshot is gone: total = sum of live prices. Included pillowcases are never charged; extras are separate lines. Duvet and coverlet sizes come from a fit guide (flagged for confirmation), not from the mattress size. If the sateen cover for a 100–120 cm bed (180 × 240) has no matching insert, the builder uses the percale cover and says so. |
| Complete the set (example: percale) | The original compact list under Add to cart: checkbox, thumbnail, name and variant, price on the right, thin dividers. All unticked by default. Ticking adds the price to the Add to cart button; unticking removes it; ticked items are added as their own cart lines with the right variant. Order for fitted sheets: same-size protector → matching extra pillowcases → coordinated handwoven coverlet → matching duvet cover. Items already in the cart or sold out are never offered. The separate recommendation cards under the product were removed so there is one upsell per page; the cart shows at most two further add-ons. |
Tested (headless Chrome, local and live): builder journey (size → fabric → top layer → protector on/off → pillows → summary → add all → cart lines and totals), Complete the set journey (size and colour → tick two → totals → untick → add → cart → remove an upsell → recalculation), 399 views across both homepages, EN/AR, desktop and 320–430 px: no JavaScript errors, overflow, clipped labels or broken images; the mobile total bar stays at the bottom of the screen at 320, 390 and 430 px in EN and AR.
v4 (28 Oct 2026): homepage A / B and restored sections
| Change | What it does now |
|---|---|
| Hero restored | “Sheets that stay put. Coverlets woven by hand.” in an editorial split layout with a real Mansouj photo (cream jersey set with a striped coverlet). CTAs: Shop jersey sheets / Find your fabric. On phones the photo sits above the copy at 16:11 so headline and both buttons fit in the first screen. “Mansouj… made to reflect you.” kept as the brand line. The old eyebrow “Egyptian cotton bedding” and the old trust strip (“Cash on delivery”, “Free delivery across Egypt”) were not restored: neither is verified. The confirmed delivery and returns strip sits under the hero instead. |
| Sets & bundles restored | Four sets built from live products: sheet + matching protector; sheet + extra pillowcases; sheet + matching duvet cover; complete the bed (sheet, protector, insert, cover). One mattress-size control sets all four; colour swatches only offer colours available for every item in that set and size. Each card lists every item with variant and price, and the total is the plain sum (no discount). “Add N items” adds them as separate cart lines; “Customise” opens Complete the bed pre-filled. |
| Fabric comparison restored | “Jersey, percale or sateen?”: feel, construction, best for, wrinkles, mattress depth, King 180 × 200 price and starting price, with links to each separate product and the full fabric guide. Table on desktop; stacked cards on phones (no sideways scrolling). Jersey has no thread count. Wrinkle lines are worded as general fabric behaviour (no “never needs ironing”) and flagged for owner confirmation. Depth is only stated where verified (jersey ≈30 cm); percale and sateen show “to confirm”. The v2 table’s “30 cm for every fabric”, “hot sleepers” and “cooler months” lines were dropped. |
| Wedding & gift edit restored | Split layout with the orange throw photo, three real gift picks and “Shop gifts”, which opens a curated list of real products (coverlets, throws, duvet covers). Labelled as a proposed concept: the live store has no gift collection, and no gift wrap or wedding packages are mentioned. |
| Shop by size removed from the homepage | Size shopping stays on product pages, sheet collection filters, the size guide, the menu, Complete the bed, bundles and recommendations. |
| Trust & FAQs | Delivery (2 days Cairo & Giza, 4 days other governorates), 30-day returns and exchanges, handwoven coverlets, and eight FAQs answered only with confirmed or catalogue facts. |
| Homepage A / B | Switch in the top bar (and two tabs). Language, device, width and concept stay as they are when you switch. Direct URLs: Homepage A · Homepage B. |
Homepage A vs B: what each is expected to do (not measured)
| A · Brand & shopping | B · Bundles first | |
|---|---|---|
| Order | Hero → categories → best sellers → sets & bundles → fabric → comparison → Akhmim → gifts → homes → trust/FAQ | Hero → sets & bundles → categories → best sellers → fabric → comparison → Akhmim → gifts → homes → trust/FAQ |
| Likely strength | Fast route to a single product for first-time visitors; categories and best sellers answer “what do you sell?” immediately. | Puts matched sets in the first scroll; may raise items per order and protector attach for shoppers already sure about sheets. |
| Likely risk | Bundles are further down, so fewer visitors may see them. | Asks for a size before shoppers have browsed; could slow visitors who just want to look. |
| Measure | Run as a 50/50 split on the live theme once approved: homepage → product page rate, add-to-cart rate, items per order, protector attach, AOV, by device and traffic source. Don’t pick a winner without that data. | |
1. v3 changes (before and after v2)
| Area | v2 (before) | v3 (now) |
|---|---|---|
| Percale and sateen | One “Cotton PDP” with a Percale/Sateen tab switch | Separate product pages, routes and cart lines, each with its own photos, sizes, colours and prices from the live catalogue. A “Percale vs Sateen” comparison opens in a sheet and never changes the selection. Sateen stripe 400 TC and sateen 1000 TC are also their own pages. |
| Policies | “Easy exchange”, mixed delivery wording | Owner-confirmed everywhere, in EN and AR: 30-day returns and exchanges; Cairo & Giza 2 days; other governorates 4 days. No 14-day text and no other delivery ranges anywhere. Free delivery is shown with a note: the live checkout returned 0 EGP on 27 Oct, but the owner hasn’t confirmed it. |
| Mobile PDP | 3-column size grid clipped at narrow widths; three-up trust badges; competing buttons | Size buttons drop to 2 columns under 420 px, each showing size, bed name and price, plus distinct selected, sold-out and not-in-this-colour states. Colour swatches are 40 px with names. One dominant Add to cart (with the live total). The sticky bar only appears once that button has scrolled away. Trust info is a stacked list. Tested at 320–430 px: no horizontal overflow. |
| Product clarity | Partial | Each PDP answers: what it is, feel, what’s included, size, colours, exact variant price, delivery, returns, complements. Jersey says “no thread count: knitted”, ~30 cm depth, 1 fitted sheet + 2 pillowcases 50 × 70. Duvet covers state “insert not included, sold separately”. |
| Upsells | Same-size protector; generic suggestions | A rules engine (see the “Upsell rules” screen) drives the PDP, cart and examples. It only suggests complements in the selected size and a compatible colour, skips sold-out variants and anything already in the cart, and never shows substitutes. Size choice carries across pages and into Complete the bed. |
| Complete the bed | Illustrative 7% bundle saving | Bed size → fabric and colour → protector → duvet insert + cover → extra pillowcases → coverlet. Shows each variant and price; the total is the plain sum of live prices. No discount: it is labelled as an idea that needs an approved promotion. |
| Homepage | Navy palette, proof strip, lookbook | Warm off-white, sand, espresso; circular categories with real photos; full-bleed lifestyle hero “Mansouj… made to reflect you.”; confirmed promise strip; shop by bed size; most chosen (real 90-day ranking); featured collections; fabric guide; Complete the bed; Akhmim heritage (coverlets only); Mansouj in your homes (labelled placeholders); brand story. |
| Coverlets | Sample of 8 with names | All 66 live coverlets in 4 weaving families (Taji 48, Atlas 6, Kinar 3, Zarzakhan 3, incl. 15 single). Filters for size, colour family and pattern; readable proposed names that keep the store code (e.g. “Taji · grey stripe · TA20”). |
| Claims | Some flagged | Removed from customer copy until verified: Oeko-Tex, organic, sustainability %, “89%” stat, allergen/bacteria claims, countdowns, fake sale, the 1,499 threshold, star ratings. Unverified description claims (Egyptian / Giza cotton, origin) appear only as review notes. |
| Viewer | Concept / device / language | Plus mobile widths 320, 360, 375, 390, 414, 430 and a Notes toggle that shows or hides review notes (amber: confirm or data issue; blue: illustrative; purple: placeholder). Every view has a direct URL. |
| Concepts | 3 + hybrid | All four kept and updated. The hybrid takes your earlier design’s identity. Premium Minimal, Warm Lifestyle and Conversion-focused remain for comparison on every screen. |
2. Your earlier homepage design: adopted, adapted, rejected
Source: the “Mansouj Website Prototype” design you shared (I read its template and copy; the four screenshots mentioned in your brief did not come through, so I worked from the design file itself).
| Element | Decision | Why |
|---|---|---|
| Warm off-white, sand, brown, restrained black; Cormorant Garamond + DM Sans | Adopted | Distinctive, premium and warm; now the hybrid’s tokens (Amiri for Arabic headings). CTA is near-black on off-white for contrast. |
| “Mansouj… made to reflect you.” | Adopted | Hero headline and footer sign-off, EN and AR. |
| Circular categories under the header | Adapted | Seven categories you listed with real product photos; scroll sideways on mobile so none are hidden behind a tap. |
| Hero with video placeholder and large empty side text | Adapted | Replaced by a full-bleed real Mansouj lifestyle photo with copy on top and two shopping CTAs, so the first mobile screen shows product, promise and a button. A short muted video can replace the photo later. |
| Featured collections with selectable names and a large visual | Adapted | Kept on desktop. On mobile it becomes swipe cards where every collection name is visible at once. |
| Mansouj in your homes | Adapted | Kept with your consent note; every tile tags a real product and variant. Tiles are clearly labelled placeholders until approved customer content exists. |
| Materials guide “Which weave suits you?” | Adopted | Homepage fabric cards and a full comparison page with linked, separate products. |
| Heritage copy (“Woven in Akhmim, by hand”; rest of range from factories) | Adapted | Kept the important distinction: handmade applies to coverlets only. Dropped “the same long-staple cotton” until origin is confirmed (the 1000 TC description says Italy). |
| Story copy (“A home isn’t built with furniture…”) | Adapted | Shortened to one section so it doesn’t push products down. |
| Ready-made looks | Adapted | Became Complete the bed: same idea, but every piece is size-matched and priced. |
| 4.9★ rating, star rows, “verified” sample reviews | Rejected | Not backed by data shown in the design. Reviews will come only from the store’s review app (Loox shows 110 product reviews). |
| “2 artisans · 1 day · 0 machines” counters | Rejected for now | Unverified. The Kinar description mentions two artisans per coverlet; can return once confirmed. |
| “Free delivery over LE 1,499 · 2–3 days” | Rejected | Conflicts with the confirmed 2 / 4-day policy and observed free delivery. |
| “Buy now” beside Add to cart; “limited” tags; chat widget with live status | Rejected | Competing actions and artificial urgency; the chat status can’t be guaranteed. |
| Arabic spelling “منسوچ” (with چ) | Question | The prototype uses “منسوج”. Please confirm the intended spelling. |
3. Verified data vs design assumptions
- Products, variants, prices, stock and photos: public products.json, fetched 28 Oct 2026 (96 products).
- Commercial problems from Shopify Analytics, 90 days vs previous 90: mobile add-to-cart 3.5%; jersey 62% of orders; AOV 6,300 EGP (from 8,789); items per order 2.0 (from 3.3); coverlets landing page 0.51% conversion; protector attach ~2%.
- Policies: owner-confirmed 30-day returns; 2 days Cairo & Giza; 4 days other governorates.
- Free delivery: live checkout rate 0 EGP on 27 Oct (observed, not owner-confirmed).
- Bed-size names (Single … Super king) help shoppers more than cm alone.
- Duvet size per bed (100–120 → 180 × 220/240; 140–160 → 220 × 240; 180–200 → 240 × 260).
- Coverlet colour and pattern tags (assigned by eye) are useful filters.
- Size-matched complements will lift protector attach and items per order.
Mobile add-to-cart rate, protector attach rate, items per order, AOV, coverlet collection conversion, PDP → cart rate for Facebook/Instagram traffic. Run as a before/after on matched periods or an A/B test. No uplift numbers are forecast here.
4. Customer journeys in the prototype
| Journey | Path in the prototype | Remaining risk |
|---|---|---|
| Facebook jersey ad, first visit | Lands on Jersey PDP (mobile): photo, price for the selected size, included items, colours, sizes with prices, protector checkbox, one Add to cart; sticky bar after scrolling; drawer suggests same-size complements. | Ad should deep-link to a colour/size; needs the Meta pixel in Phase 1. |
| Comparing percale and sateen | Either PDP → “Percale vs Sateen” sheet → closes back to the same selection; or Fabric guide → separate product links. | Feel words need owner sign-off. |
| Shopping by mattress size | Homepage “Shop by bed size” or menu → everything sold in that size with prices for that size; size then carries to PDPs and the builder. | Bed names need confirming. |
| Browsing Akhmim coverlets | Circles or heritage → Coverlets: family cards, size/colour/pattern filters, readable names → coverlet PDP with handmade facts and coordinating sheet in your size. | Tags need team review; 3 coverlets have no photos. |
| Adding a matching protector | Checkbox on every sheet PDP (same size, price shown) and first suggestion in the cart. | — |
| Building a full bed | Complete the bed: six steps, each line priced, add all as separate items. | Duvet sizing and the 180 × 240 / 180 × 220 mismatch. |
| Returning customer | Most chosen, size shortcuts and remembered size choice (session); account icon on desktop. | No saved-size memory across visits in the prototype. |
| Arabic-speaking mobile customer | Full RTL on every screen, Arabic headings (Amiri), Arabic numerals in prices and sizes. | Arabic copy needs a native editorial pass. |
5. QA performed
- Headless Chrome, 399 views (v4): 25 routes incl. Homepage A and B × EN/AR × desktop + 320/360/375/390/414/430 px (hybrid), plus the three other concepts on six key screens. Result after fixes: 0 JavaScript errors, 0 horizontally overflowing elements outside intentional scrollers, 0 clipped labels, 0 broken images.
- Cart maths: jersey 120 × 200 Mint 2,600 + protector 1,400 = 4,000; quantity +1 = 6,600; remove protector = 5,200. Complete the bed (180, sateen Mint, 2 extra pillowcases, coverlet) = 24,200 in both the summary and the cart.
- Variants: sateen 200 × 200 in Mint shows “Sold out” and can’t be added; percale offers only its four real sizes; choosing a size a colour doesn’t come in switches to an available colour and says so.
- Comparison sheet does not change the selected product, colour or size.
- Keyboard: every control is a real button, link, input or summary; Escape closes the cart, sheets and menu; focus rings are visible.
- Not tested: real phones and screen readers, and the live checkout. The public Netlify URL must be checked from a network that can reach netlify.app (this Mac’s network can’t).
6. Questions for the owner before any Shopify work
- Is delivery free on every order to every governorate? If not, what are the fees?
- Do 30-day returns and exchanges apply to handmade coverlets and to used or washed bedding? Any conditions the policy page should state?
- Are 2 and 4 days business days or calendar days, and is there an order cut-off time?
- Percale, sateen, stripe and 1000 TC sets: how many pillowcases, and what size?
- Fitted-sheet pocket depth per fabric (jersey: 30 or 35 cm?).
- What is in each “duvet cover set” (cover only, or with pillowcases)?
- Which duvet size suits each bed width? Does the 180 × 240 sateen cover fit the 180 × 220 insert?
- Cotton origin: which products are Egyptian cotton or Giza 86/45, and is the 1000 TC made in Italy?
- Do you hold Oeko-Tex or organic certificates? If not, remove the claims from live descriptions.
- Bed-size names in English and Arabic: approve or replace.
- Arabic brand spelling: منسوج or منسوچ?
- Which single phone/WhatsApp number should customers see?
- Coverlet names, colour and pattern tags: approve the scheme? Photos for the 3 coverlets without images?
- Coverlet pillowcases: real size and pack quantity (the live variant says 240 × 260).
- Customer photos and reels: who collects permission, and which Loox reviews may be featured?
- Any promotion you want to run (quantity tiers, bundle)? Otherwise none will be shown.
- Taji TA66 and sateen stripe pillowcases sell but aren’t in the public catalogue: hidden on purpose?
- Mattress toppers are sold out in every size: show as “coming back” or hide?
- Care instructions per fabric (wash temperature, ironing).
7. Implementation roadmap for Glozin 2.1.0
All work on an unpublished duplicate of the live theme, tested, then published only after your final approval. Effort is in working days for one Shopify developer; check each Glozin built-in setting before building custom.
| # | Phase | Scope | Effort |
|---|---|---|---|
| 1 | Trust and data | Confirmed policy text in announcement, PDP, cart, footer, FAQ, policy pages (EN/AR); remove timer, fake sale, threshold, unverified claims; fix product data (names, descriptions, size labels, coverlet pillowcase size); Meta pixel + Conversions API; abandoned-checkout email. | 4–6 |
| 2 | Product page | Size and colour buttons with availability and price; “What’s included”, depth and insert notes from metafields; delivery/returns block; one primary Add to cart; contextual sticky bar; size-matched protector checkbox; percale-vs-sateen sheet. | 6–9 |
| 3 | Recommendations | Size- and colour-matched complements on PDP and in the cart drawer using product/variant metafields and a small script; remove substitute recommendations. | 5–8 |
| 4 | Navigation and collections | Mega menu, category circles, shop by size, filters (fabric, size, colour, coverlet family/tone/pattern) via metafields + Search & Discovery; coverlet tagging and naming. | 5–8 |
| 5 | Homepage and brand | Hybrid tokens and typography; hero; featured collections; fabric guide; heritage; customer homes (once content is approved); Arabic editorial pass. | 6–9 |
| 6 | Complete the bed | Builder section with size-matched lines and Ajax add-all; promotion only if you approve one. | 6–10 |
| 7 | QA and launch | Device and RTL testing, speed check, analytics events, owner review, publish, 2-week monitoring. | 4–6 |
8. Native Shopify, existing apps, or custom
| Feature | How | Notes |
|---|---|---|
| Policy text, announcement, footer, FAQ | Native / theme settings | Policy pages in Settings → Policies; theme blocks for the rest. |
| Meta pixel + Conversions API | Free Shopify app (Facebook & Instagram) | Needs your Meta Business access. |
| Abandoned-checkout email | Native (Shopify Email/automations) | Turn on and translate. |
| Filters (fabric, size, colour, tone, pattern) | Native Search & Discovery (free) + metafields | Coverlet tags must be entered as metafields. |
| Mega menu, category circles, sticky add to cart | Theme (check Glozin settings first), else small custom sections | Not verified which of these Glozin 2.1.0 offers out of the box. |
| “What’s included”, depth, insert notes, care | Native metafields + theme blocks | One-time data entry per product. |
| Size-matched protector checkbox; size/colour-matched complements | Custom (theme code + metafields) | Search & Discovery “complementary products” can list items, but can’t choose the matching size variant. |
| Percale vs Sateen comparison sheet; fabric guide | Custom section (or metaobjects) | Content editable in admin. |
| Reviews and customer photos/reels | Existing app (Loox) | Use Loox widgets; no new app needed. |
| Complete the bed builder | Custom section + Ajax cart | Any bundle saving would be a native automatic discount, only if approved. |
| Upsell apps (FoxKit, Essential Upsell) | Review, likely remove | The audit found FoxKit made 1 order in 30 days and generic suggestions conflict with the rules. Don’t uninstall without your approval. |
No paid apps were installed and no Shopify settings were changed while preparing this.