How We Built a Shopify Store That Sold ₹2,450 Bedsheets to People Who Couldn't Touch Them
Home furnishing is a tactile product category. Customers want to feel the thread count, run their fingers across block-printed cotton, shake out a quilt and smell the fabric. The entire sensory experience that makes someone buy a ₹2,890 bedsheet in a store is absent online.
This is the central problem we solved for House of Manjari — a Jaipur heritage textiles brand founded by Sarika Bhargava that sells handcrafted bedsheets, quilts, dohars, cushion covers, kaftans, and table linens, all of it hand-block-printed cotton made by artisans in Rajasthan.
When Sarika came to us, she had beautiful products and an online store that, in her words, "didn't do them justice." We had 45 days. Here's what we built, why we made each decision, and what happened.
The Core Problem: Selling Touch-Feel Products Without Touch or Feel
The luxury home textile market has a specific challenge that most Shopify developers miss entirely. The product itself is premium — ₹1,295 for a bedsheet, ₹4,870 for a quilt — but the digital experience has to do the work that in-store texture and smell would normally do.
For mass-market textile brands, this isn't a critical problem. For artisan brands at 2–3x the mass-market price point, it's existential. If a customer can't understand why hand-block-printed cotton costs ₹2,890 versus ₹890 on Amazon, they won't buy.
Our answer was what we call artisan storytelling architecture — a product page structure designed not just to show the product, but to explain the people, the process, and the material provenance behind it.
Stage 1: Collection Architecture
House of Manjari sells across 7+ product categories: bedsheets, quilts, dohars, cushion covers, table cloths, bathrobes, and women's clothing (kaftans, stoles, co-ord sets) plus kids' items. Getting the collection hierarchy right was the first structural decision.
Most D2C textile brands make one of two mistakes: either they flatten everything into one mega-collection, which makes discovery impossible, or they over-fragment into 20+ collections, which kills navigation clarity.
We structured it in two layers:
Primary navigation layer: Bedding & Quilts, Table & Kitchen, Apparel, Kids, New Arrivals, Sale. Clean and scannable.
Collection-level filtering: Within each primary collection, filter metafields for material (cotton, mulmul, cambric), print type (hand block, screen), and colour palette. This lets customers with specific preferences find products without browsing through 200 SKUs.
The Liquid code for the filter sidebar used Shopify's native predictive_search API for instant filtering — no page reload on filter change, which was critical for mobile UX.
{% comment %} Collection filter by metafield — House of Manjari {% endcomment %}
{%- for filter in collection.filters -%}
{%- if filter.type == 'list' -%}
<details class="filter-group" id="filter-{{ filter.param_name }}">
<summary>{{ filter.label }}</summary>
<ul>
{%- for value in filter.values -%}
<li>
<label>
<input type="checkbox"
name="{{ value.param_name }}"
value="{{ value.value }}"
{% if value.active %}checked{% endif %}
{% if value.count == 0 and value.active == false %}disabled{% endif %}>
{{ value.label }} ({{ value.count }})
</label>
</li>
{%- endfor -%}
</ul>
</details>
{%- endif -%}
{%- endfor -%}
This seems basic but the configuration of the metafields — what you expose as filterable, how you structure the taxonomy — determines whether customers can actually find what they're looking for.
Stage 2: Artisan Product Page Architecture
Free Download: The 47-Point Shopify Launch Checklist
The same checklist our team uses before every store goes live. Covers speed, SEO, payment testing, and mobile QA.
This is where we made our most opinionated decisions.
A standard Shopify product page template has: images, title, price, variants, add to cart, description. That structure is fine for commodity products. For hand-block-printed Jaipur cotton, it's insufficient.
We built a custom product page with seven distinct sections:
1. Hero image block — Full-width product photography optimized for mobile-first. Images were shot specifically for digital — flat lay on stone, lifestyle in a styled room, and a close-up texture shot that zooms in on the block print detail. Three images minimum per product, with the texture close-up mandatory. This single change — making texture visible — was more important than anything else on the page.
2. Artisan provenance block — Not a generic "handcrafted" tag, but specific content: which artisan community in Rajasthan, what block printing technique, how many blocks were used for this pattern. This content required working directly with Sarika to document what she knew about her suppliers — content that exists nowhere else on the internet, which is exactly what Google rewards.
3. Material transparency section — Thread count, weave type (cambric, mulmul, percale), washing behaviour, what changes after 20 washes, how hand-block printing feels different from screen printing. The goal was to give customers the information that a knowledgeable store assistant would give them.
4. Size and weight guide — Indian bed sizes are non-standard. A "double" bedsheet in Rajasthan might not fit a standard "queen" bed. We built a custom size guide metafield that rendered dimensions in centimetres, with a comparison table against common mattress sizes. This alone reduced sizing-related refund requests significantly.
5. Care instructions — Hand-block printed textiles have specific care requirements: cold water wash, no enzyme detergents, minimal sun exposure for colours. This isn't generic "machine wash cold" content — it's content that builds confidence in the purchase.
6. Photo reviews integration (Loox) — For tactile products, photo reviews do the work that touch would do in-store. We integrated Loox for review collection and configured it to specifically prompt photo uploads with requests phrased around texture and feel. Within 3 months, the most reviewed products had 15–25 customer photos showing the textiles in real bedrooms, which converted browsers substantially better than studio photography alone.
7. Cross-sell block — Collection-aware cross-selling that suggested coordinating pieces (matching cushion covers with the bedsheet pattern, complementary table linen for the same colourway) rather than generic "you might also like" recommendations.
Stage 3: Payment Stack — India-First, International-Ready
House of Manjari's customer base is primarily urban Indian millennials, but Sarika had aspirations for international customers — Indian diaspora in the UK, US, and Gulf, plus a growing interest in artisan Indian textiles globally.
Payment architecture decision: Razorpay as primary gateway with UPI autopay enabled, plus PayPal for international orders.
The Razorpay configuration was Shopify-native through their official integration. The important settings were:
{
"payment_options": [
"upi",
"card",
"netbanking",
"wallet",
"emi"
],
"emi_tenure": [3, 6, 9, 12],
"upi_collect": true,
"upi_intent": true
}
UPI intent (which redirects to the UPI app directly rather than asking for a VPA first) had meaningfully higher checkout completion than the collect flow for mobile users. This is a configuration choice many developers miss — they enable Razorpay and leave defaults.
For orders above ₹2,000, we surfaced the EMI option prominently at checkout — a ₹4,870 quilt at ₹1,623/month over 3 months at 0% reduces the psychological barrier substantially.
Free shipping threshold was set at ₹1,999 — deliberately positioned below the lowest-priced bedsheet bundle (₹2,590 for a set), so almost every single-product purchase qualified. This eliminated the most common abandonment reason in the category.
Stage 4: International Shipping Setup
For international orders, we configured:
Multi-currency: Shopify Markets enabled for USD, GBP, AED, SGD with automatic exchange rates updated daily. International customers see prices in their local currency; Shopify handles conversion at checkout.
Shipping zones: Domestic India flat rate; Gulf/MENA at a flat ₹1,500 international rate for orders under 2kg; UK/US/Europe at ₹2,500 for the same weight band. These rates were calibrated against actual courier quotes from Delhivery and Shiprocket international.
Customs documentation: Built a Shopify Flow automation to auto-generate commercial invoice and HS code documentation for orders flagged as international. Artisan textiles export from India has specific HS classifications (6301–6308 range) — getting this wrong causes customs delays that destroy customer experience.
Stage 5: Email Flows and WhatsApp Integration
Klaviyo handles all post-purchase email automation. The flows we configured:
Welcome series (3 emails): For new customers, a 3-part sequence over 7 days. Email 1: Order confirmation with artisan story. Email 2: Care guide for their specific product (personalised via Klaviyo conditional blocks based on product tag). Email 3: Introduce the full range with a "complete your bedroom" cross-sell.
Abandoned cart (2 emails + 1 WhatsApp): Cart abandonment at 1 hour and 24 hours via email, plus a WhatsApp message at 6 hours through WhatsApp Business API. The WhatsApp message outperformed both emails on recovery rate — consistent with what we've seen across multiple D2C clients.
Review request (1 email + Loox automation): Triggered at day 14 post-delivery (time for the product to actually be used). The email specifically asked: "How does it feel? We'd love a photo review."
Replenishment flow: For consumable/seasonal items (cushion covers, table linens), a replenishment reminder at 90 days with a personalised recommendation based on original purchase.
Stage 6: Instagram Shopping and Facebook Pixel
For a visually-led artisan brand, Instagram Shopping is table stakes. We set up the full Meta Commerce integration: Facebook Pixel firing on all standard events (PageView, ViewContent, AddToCart, InitiateCheckout, Purchase) with server-side API events for iOS14+ attribution accuracy.
Instagram Shopping was set up through the Shopify channel with product catalogue synced and collection-level tagging. Product images were tagged in a dedicated grid that Sarika's team could update from the Shopify admin without needing developer involvement.
The GA4 integration was configured with custom events beyond the standard Shopify GA4 integration — specifically tracking texture image clicks and care guide reads as engagement depth signals, which fed back into audience segmentation.
The Results After 45 Days of Build + 3 Months Live
Here's what the data showed:
+195% organic traffic in the three months following launch versus the three months prior. This came from the artisan provenance content we wrote for every product — unique, specific content that described specific block print patterns, specific artisan techniques, specific material properties. Google rewarded it because nothing else on the internet described these products with that level of specificity.
3.4% conversion rate — above the D2C Indian home textile category average of approximately 1.8–2.2%. The product page architecture, payment stack, and free shipping threshold all contributed.
₹2,450 average order value — strong for a category where the entry-level product is ₹1,295. Cross-sell blocks and the "complete your bedroom" email flow drove multi-product orders.
1.5-second page load on mobile — achieved through aggressive image optimization (WebP with Shopify's CDN, lazy loading for below-fold images, no third-party scripts firing synchronously on page load).
Sarika's summary: "We had beautiful products but an online store that didn't do them justice... Our online sales doubled in the first quarter."
What We Learned About the Artisan Category
Three months of live data on House of Manjari confirmed something we suspected going in: the biggest conversion lever in the artisan home textile category is not price or promotion — it's trust.
Customers who bought understood what they were buying. They understood the thread count difference between cambric and mulmul. They understood why hand-block printing creates slight variations that screen printing doesn't. They understood that the artisan provenance was real, not marketing copy.
Building that understanding at the product page level — through content, through texture photography, through Loox photo reviews — is what moved the conversion rate from category average to 3.4%.
The tech stack (Shopify, Razorpay, Klaviyo, Loox) was necessary but not sufficient. The content architecture was the differentiator.
Tech Stack Summary
For reference, here's the complete stack for House of Manjari:
- Platform: Shopify (custom Liquid theme, no page builder, built from Dawn base with extensive customisation)
- Payments: Razorpay (UPI-first) + PayPal for international
- Email automation: Klaviyo (5 flows, 18 active emails)
- Reviews: Loox (photo reviews with custom request prompts)
- Analytics: GA4 + Google Search Console + Facebook Pixel (server-side events)
- Social commerce: Instagram Shopping + Facebook Catalogue
- Customer messaging: WhatsApp Business API (via Klaviyo integration)
- International: Shopify Markets (multi-currency: INR, USD, GBP, AED, SGD)
- Shipping: Shiprocket for domestic, Delhivery International for GCC/UK/US
If you're building a Shopify store for a premium artisan or D2C brand and are evaluating what "done right" looks like, explore our Shopify development service or see more case studies in our portfolio. As an Official Shopify Partner, we have direct access to the Partner Dashboard and Shopify's API roadmap — which means we build on what's coming, not just what's current.
Free Download: The 47-Point Shopify Launch Checklist
The same checklist our team uses before every store goes live. Covers speed, SEO, payment testing, and mobile QA.
Frequently Asked Questions
Written by

Founder & CEO
Rishabh Sethia is the founder and CEO of Innovatrix Infotech, a Kolkata-based digital engineering agency. He leads a team that delivers web development, mobile apps, Shopify stores, and AI automation for startups and SMBs across India and beyond.
Connect on LinkedIn