Most agency portfolios show you a screenshot and a logo. Here's what actually goes into building a custom Shopify store for an Indian D2C brand — the brief, the decisions, the trade-offs, the results.
Note: This is a composite case study based on real D2C Shopify projects we've delivered. Client details are anonymized and some specifics are composited for confidentiality. The technical decisions, integration challenges, and performance outcomes are all real.
The Brief
The client: a premium Indian skincare D2C brand. They'd been selling on marketplaces (Amazon, Nykaa) for about 18 months and had built a following on Instagram. They wanted their own storefront for three reasons:
- Margins. Marketplace commissions were eating 25–35% of every sale.
- Brand control. They couldn't tell their story on a marketplace product listing.
- Customer data. They had zero access to customer emails, purchase patterns, or repeat behavior.
Their requirements:
- Mobile-first (80%+ of their traffic came from Instagram on mobile)
- Premium look that matched their brand positioning (think Aesop, not Nykaa)
- Indian payment and shipping integrations (Razorpay, Shiprocket)
- WhatsApp as the primary customer communication channel
- Launch in 8 weeks
Their budget: ₹4–5 lakh all-in for design, development, and launch support.
Discovery and Planning (Week 1–2)
Before writing a single line of code, we spent two weeks understanding the business:
Customer research:
- Analyzed their Instagram DMs and comments (with permission) to understand purchase triggers
- Reviewed marketplace reviews to identify common objections
- Mapped the typical customer journey: Instagram → Link in bio → Browse → WhatsApp question → Purchase
Competitive audit:
- Analyzed 8 Indian D2C skincare brands on Shopify (load times, mobile UX, checkout flow)
- Identified what worked: ingredient-forward product pages, routine builders, minimal navigation
- Identified what didn't: heavy homepages, complex mega-menus, pop-up overload
Technical scoping:
- Shopify Plus was overkill for their volume (₹8–12 lakh/month in revenue). Standard Shopify plan.
- Custom theme vs. premium theme: we chose to customize a premium theme (Dawn-based) rather than build from scratch. More on this decision below.
The Custom vs. Premium Theme Decision
This is the single most impactful decision in any Shopify build, and it's where most agencies upsell you.
Full custom theme (from scratch):
- Complete design freedom
- 3–4x the development time
- Higher maintenance burden (you own every line of code)
- Makes sense when: your brand needs something Shopify's section architecture can't support
Customized premium theme (Dawn/Ride/Sense):
- 70–80% of the visual flexibility at 30% of the cost
- Shopify maintains the core, you customize on top
- Faster updates and better compatibility with new Shopify features
- Makes sense when: you need a premium look with standard ecommerce patterns
We went with a heavily customized Dawn theme. The client's needs were well-served by Shopify's section architecture — they needed beautiful product pages, a routine builder, and brand storytelling sections. All achievable with sections and metafields.
"We were quoted ₹12 lakh for a fully custom theme by another agency. The customized Dawn approach gave us 90% of what we wanted at a third of the price — and we launched a month earlier." — Composited client feedback
Design Decisions (Week 2–4)
Mobile-First, India-First
When 80%+ of your traffic is mobile and a significant chunk is on mid-range Android devices with inconsistent connections, design choices change:
- No hero videos. We used high-quality compressed images with subtle CSS animations instead. A 15MB hero video that buffers on a Redmi Note is worse than no video at all.
- Thumb-zone navigation. Key actions (Add to Cart, WhatsApp chat, navigation) placed in the lower third of the screen.
- Progressive image loading. Low-quality placeholders that sharp-load, so the page feels fast even on 4G.
- Minimal font weights. Two weights of one typeface. Every additional font file is 20–50KB that Indian mobile users pay for.
Product Page Architecture
The product page is where D2C revenue lives. We built it around objection-handling:
- Hero area: Product image gallery (swipeable, pinch-to-zoom) + price + Add to Cart
- Ingredient spotlight: Scrollable ingredient cards with source and benefit — built using metafields
- Routine placement: "Use this in your AM/PM routine" section showing where this product fits
- Social proof: Instagram UGC feed pulled via MetaPixel + review widget
- FAQ accordion: Product-specific questions, not generic ones
- You may also like: Algorithm-driven recommendations
Each section was a Shopify section, reorderable by the client in the theme editor. No developer needed for layout changes.
Technical Implementation (Week 3–6)
Shopify 2.0 Architecture
We leveraged Shopify 2.0 features heavily:
- Sections everywhere: Not just the homepage. Product pages, collection pages, and informational pages all use modular sections.
- Metafields for structured content: Ingredients, routine data, hero claims — all stored as metafields so the client can update content without touching code.
- Metaobjects for complex data: Skincare routines were built as metaobjects with references to products, creating a "routine builder" the client manages from Shopify admin.
- Predictive search: Implemented with the Search & Discovery app + custom Liquid to show product images and prices in search results.
Liquid Templating
Key customizations in Liquid:
- Custom product card component with ingredient count badge and "bestseller" tag logic
- Dynamic pricing display (MRP strikethrough + sale price + "You save X%" calculation)
- Conditional free shipping bar that updates based on cart value ("Add ₹299 more for free shipping")
- Structured data (JSON-LD) injected per product for rich search results
Key Integrations
This is where Indian D2C Shopify builds diverge significantly from Western ones. The ecosystem is different.
Payment: Razorpay
Shopify Payments isn't available in India (as of this project). Razorpay was the obvious choice:
- UPI, cards, net banking, wallets — one integration covers everything
- UPI intent flow on mobile (opens Google Pay / PhonePe directly)
- Implemented Razorpay's Shopify plugin with custom checkout branding
- Added COD (Cash on Delivery) as a payment option — still accounts for 30–40% of Indian D2C orders
Shipping: Shiprocket
- Auto-syncs orders from Shopify
- Rate calculator at checkout (shows cheapest and fastest options)
- Automated tracking page and WhatsApp notifications
- Configured NDR (Non-Delivery Report) management for COD orders
- Pincode serviceability checker on product pages ("Enter your pincode to check delivery")
WhatsApp: Interakt
- WhatsApp chat widget on every page (replaces traditional live chat)
- Automated order confirmation via WhatsApp
- Abandoned cart recovery messages (WhatsApp has 3–5x the open rate of email in India)
- Post-delivery review request via WhatsApp
Reviews: Judge.me
- Photo and video reviews
- Automated review request emails post-delivery
- Review widget on product pages with filtering
- Imported 200+ existing reviews from marketplace listings
Loyalty: Yotpo (Basic)
- Points per purchase and referral
- Birthday rewards
- Tiered membership (Bronze / Silver / Gold based on lifetime spend)
- Kept it simple — complex loyalty programs confuse customers more than they retain them
Performance Optimization
Core Web Vitals aren't optional. Google uses them for ranking, and slow sites lose Indian mobile users instantly.
What We Did
- Image optimization: All product images converted to WebP with responsive srcset. Average product image went from 800KB to 120KB.
- Critical CSS inlining: Above-the-fold styles inline, everything else deferred.
- App audit: Removed 3 apps the client had installed during their marketplace phase that injected unused JavaScript. Each app was adding 50–150KB of JS.
- Lazy loading: Everything below the fold, including review widgets and Instagram feeds.
- Font subsetting: Loaded only Latin + Devanagari character sets instead of the full font file.
- Preconnect hints: Added preconnect for Razorpay, Shiprocket, and CDN domains.
Results
| Metric | Before (Old Site) | After (New Shopify Store) |
|---|---|---|
| Mobile PageSpeed Score | 34 | 88 |
| LCP (Mobile) | 6.2s | 1.8s |
| CLS | 0.34 | 0.04 |
| Total Page Weight (Homepage) | 8.2MB | 1.4MB |
| Time to Interactive | 9.1s | 3.2s |
Launch and Results
Project Timeline
| Phase | Duration | Deliverables |
|---|---|---|
| Discovery & Planning | Week 1–2 | Customer research, competitive audit, technical scope, sitemap |
| Design | Week 2–4 | Figma mockups (mobile + desktop), client feedback rounds |
| Development | Week 3–6 | Theme customization, sections, metafields, integrations |
| Content & QA | Week 6–7 | Product content migration, cross-browser/device testing |
| Launch & Handoff | Week 8 | DNS migration, monitoring, training session, documentation |
Total timeline: 8 weeks, as scoped. We hit the deadline because the scope was locked after Week 2 and we said no to three "nice-to-have" feature requests that would have pushed us to Week 12.
Business Results (First 90 Days)
- Conversion rate: 1.2% → 2.8% (marketplace traffic was higher but lower intent; owned traffic converts better)
- Average order value: ₹1,200 → ₹1,650 (routine builder and cross-sell sections working)
- Repeat purchase rate: 18% within 90 days (up from ~5% estimated on marketplaces)
- WhatsApp opt-in rate: 42% of customers opted into WhatsApp updates
- Cart abandonment recovery: 12% of abandoned carts recovered via WhatsApp (vs. 3–4% via email)
Shopify Store Launch Checklist
Here's the checklist we use before every Shopify launch. Steal it.
- All products have complete descriptions, images, and metafields
- Pricing is correct (including compare-at prices for sale items)
- Tax settings configured for Indian GST
- Shipping zones and rates configured
- Payment gateway tested with real transaction (refund immediately)
- COD settings and limits configured
- All forms work and submit to correct destinations
- Email notifications customized (order confirmation, shipping, delivery)
- WhatsApp flows tested end-to-end
- Mobile testing on at least 3 Android devices + iPhone
- Page speed tested on 4G throttled connection
- Favicon, social sharing images, and SEO metadata set
- 301 redirects configured for any old URLs
- Google Analytics 4 and Meta Pixel installed and firing
- Backup of all theme code stored in version control
- Client trained on Shopify admin, theme editor, and order management
- Post-launch monitoring plan for first 72 hours
Lessons Learned
1. COD Is Not Going Away
We initially suggested making COD available only for orders above ₹500 to reduce RTO (Return to Origin). The client pushed back — and was right. Removing COD on lower orders would have eliminated 35% of their first-time buyers. We compromised: COD available on all orders, but with a small COD fee (₹49) that covers most of the RTO risk.
2. Instagram Is the Homepage
For this brand, the Shopify homepage was not the most visited page. Instagram was. The link-in-bio landing page (which we built as a custom Shopify page) got 3x more traffic than the homepage. Design accordingly.
3. Don't Over-App
The client came to us with 14 Shopify apps installed from their marketplace era. We launched with 6. Every app adds JavaScript, increases load time, and creates potential conflicts. If an app's function can be replicated with native Shopify features or a few lines of Liquid, skip the app.
4. Content Migration Is the Hidden Time Sink
We estimated 1 week for content migration. It took 1.5 weeks. Product descriptions needed rewriting (marketplace listings don't translate to D2C product pages), images needed reshooting for the new layout, and ingredient data had to be structured into metafields. Always add 50% buffer to content migration estimates.
5. Train the Client, Don't Just Hand Over
We did a 2-hour screen-share training session covering: how to add/edit products, how to use the theme editor, how to read basic Shopify analytics, and what NOT to touch (theme code). We recorded it. The client still references that recording months later.
FAQ
How much does a custom Shopify store cost in India?
For a D2C brand, expect ₹3–8 lakh for a professionally built store with custom theme work, Indian payment/shipping integrations, and launch support. Below ₹3 lakh usually means you're getting a pre-made theme with minimal customization. Above ₹8 lakh is Shopify Plus territory or highly custom functionality.
Should I use Shopify or WooCommerce for D2C in India?
Shopify if you want to focus on selling and marketing, not managing servers. WooCommerce if you need deep customization and have a developer on staff. For most D2C brands doing ₹5–50 lakh/month in revenue, Shopify is the right choice. The hosting, security, and PCI compliance alone justify the subscription.
Do I need Shopify Plus for my D2C brand?
Probably not. Shopify Plus starts at ~$2,000/month and makes sense at ₹1 crore+/month in revenue or when you need checkout customization, B2B features, or multiple expansion stores. Standard Shopify (₹2,399/month) handles everything most D2C brands need for their first few crores of annual revenue.
How long does a Shopify store build take?
6–10 weeks for a properly scoped D2C store with custom theme work and Indian integrations. Anyone promising 2 weeks is either using a stock theme with zero customization or planning to cut corners on testing. The timeline is: 2 weeks discovery/design, 3–4 weeks development, 1–2 weeks content/QA, 1 week launch.
Can I migrate from WooCommerce to Shopify?
Yes. Products, customers, and order history can be migrated. The main challenges are: URL structure changes (you'll need 301 redirects), losing WordPress SEO equity temporarily, and rebuilding any custom WooCommerce functionality. Budget 2–3 extra weeks for migration on top of the build timeline.
What about Shopify's transaction fees in India?
Shopify charges a 2% transaction fee on the Basic plan when using third-party payment gateways like Razorpay (on top of Razorpay's own fees). This drops to 1% on Shopify plan and 0.5% on Advanced. For most D2C brands, the Shopify plan (₹7,447/month) hits the sweet spot where the lower transaction fee pays for the plan upgrade.
Thinking About Building Your Own Store?
A Shopify store isn't a website. It's a revenue engine. The design, the integrations, the performance — every decision either helps you sell or gets in the way.
Planning a Shopify store? Book a discovery call. We'll help you plan the build — even if you don't hire us.