How to Build a Subscription Box on Shopify: The Technical Guide
Subscription boxes are the highest-LTV model in D2C ecommerce. A customer who subscribes to a monthly delivery of coffee, skincare, or baby essentials is worth 8-12x more over their lifetime than a one-time buyer. The math is compelling. The execution is where most brands stumble.
We've built subscription flows for D2C brands across India and the Middle East at Innovatrix Infotech, and the pattern is always the same: the founder has a great product, picks a subscription app based on a blog post comparison, launches without thinking about dunning or cancellation flows, and watches churn eat their recurring revenue within three months.
This guide covers the technical decisions that actually matter — not the marketing fluff about "recurring revenue is the future." You already know that. Let's talk about how to build it properly.
What You'll Learn
- The three subscription models and when each applies
- An honest comparison of subscription apps (Recharge, Loop, Skio, Seal, Shopify Native)
- Checkout flow differences between Standard Shopify and Shopify Plus
- Dunning logic: how to handle failed payments without killing your subscriber base
- Customer portal requirements that actually reduce churn
- Cancellation flow design: save offers, pause options, and exit surveys
- Inventory forecasting for subscription SKUs
Prerequisites
- A Shopify store on any paid plan (Basic or above)
- A product catalog suitable for recurring purchases (consumables, curated boxes, or access-based offerings)
- Shopify Payments or a supported payment gateway (required for recurring billing)
Three Subscription Models: Pick the Right One First
Before you touch any app, decide which model fits your product:
Replenishment subscriptions are for consumable products the customer uses up and reorders on a predictable schedule. Coffee beans every 2 weeks. Protein powder every month. Baby diapers every 3 weeks. The customer knows exactly what they're getting — same product, same quantity, same interval. This is the simplest model technically and the easiest to forecast inventory for.
Curated subscriptions (the classic "subscription box") deliver a selection of products chosen by the brand each cycle. The customer doesn't know exactly what's in the box — that's the appeal. Think beauty sample boxes, snack discovery boxes, or book clubs. This is the most complex model because you need to manage product rotation, avoid sending duplicates to long-term subscribers, and handle product availability across box tiers.
Access subscriptions grant members access to perks: exclusive products, member-only pricing, early access to launches, or premium content. No physical shipment required (though many brands combine access with product benefits). This model is the lightest operationally but requires the most compelling value proposition.
Most D2C brands in India start with replenishment because it's the lowest-complexity, highest-retention model. If you're selling consumables, start here. Curated boxes are sexier but operationally demanding — save them for when you have a dedicated operations person.
Subscription App Comparison: The Honest Version
Every comparison article ranks these apps differently because the authors haven't built production stores on all of them. We have. Here's what actually matters:
Loop Subscriptions
Best for: Indian D2C brands on standard Shopify plans.
Loop has emerged as the strongest option for Indian merchants specifically. Their pricing is competitive (₹ billing friendly), their customer portal is well-designed, and critically, they support Indian payment gateways properly — Razorpay, Cashfree, and PayU integrations that actually work for recurring billing.
The customer portal is where Loop excels. Subscribers can skip a delivery, swap products, change frequency, update payment methods, and add one-time products to their next subscription order — all without contacting support. Every one of those self-service actions is a churn-prevention mechanism.
Technical note: Loop uses Shopify's native checkout for subscription orders (no redirect to a third-party checkout), which means your checkout customizations, Shopify Scripts (on Plus), and discount codes all work as expected.
Recharge
Best for: High-volume stores (10,000+ subscribers) on Shopify Plus.
Recharge is the industry standard with the deepest feature set: advanced analytics, robust API, Flow integration, and Klaviyo-native events for email automation. Their enterprise tier handles complex multi-product subscriptions with conditional logic (e.g., "if subscriber has been active for 6+ months, offer premium product swap").
The downsides are real: Recharge is expensive (starting at $99/month + transaction fees), their migration process from other apps is involved, and their default customer portal requires significant customization to look good. On standard Shopify plans, Recharge historically used its own checkout (not Shopify's native checkout), which broke discount codes and certain payment methods. They've moved toward Shopify Checkout integration, but verify this is fully active for your plan before committing.
Skio
Best for: Brands prioritizing seamless checkout UX and passwordless login.
Skio's differentiator is their customer portal experience. They use passwordless SMS login (no email/password required), which dramatically reduces the friction of subscribers managing their accounts. For brands where a significant portion of subscribers contact support for changes that could be self-service, Skio's portal can meaningfully reduce support volume.
Technical note: Skio uses Shopify's native checkout and supports grouped subscriptions (multiple products on different schedules managed as a single subscription). This is useful for brands offering "build your own box" flows.
Seal Subscriptions
Best for: Bootstrap-stage brands needing basic subscriptions at minimal cost.
Seal offers a generous free tier and very affordable paid plans. The feature set is basic but covers the fundamentals: recurring billing, a customer portal, and Shopify checkout integration. If you're validating whether subscriptions work for your product before investing in a more robust solution, Seal is the right starting point.
Limitations: Limited analytics, basic dunning (compared to Recharge/Loop), and fewer integrations with email/CRM platforms.
Shopify Native Subscriptions
Best for: The simplest possible subscription setups with zero app cost.
Shopify's built-in subscription features have improved significantly in 2025-2026. You can now create selling plans, manage recurring billing, and offer subscribe-and-save discounts natively. The customer-facing experience is integrated into the standard Shopify checkout.
Limitations: The customer portal is minimal (subscribers have limited self-service options), analytics are basic, and advanced features like dunning management, build-a-box, and conditional product swaps aren't available. For brands testing the waters, it works. For serious subscription operations, you'll outgrow it within 3-6 months.
Decision Table
| Factor | Loop | Recharge | Skio | Seal | Shopify Native |
|---|---|---|---|---|---|
| Starting price | $99/mo | $99/mo | $299/mo | Free | Free |
| Indian payment gateways | Excellent | Good | Limited | Basic | Good |
| Customer portal quality | Strong | Needs customization | Excellent | Basic | Minimal |
| Dunning management | Good | Excellent | Good | Basic | Basic |
| Shopify checkout native | Yes | Yes (verify plan) | Yes | Yes | Yes |
| Build-a-box support | Yes | Yes | Yes | No | No |
| Best for Indian D2C | Yes | Overkill unless 10K+ subs | Too expensive for most | For validation only | For testing only |
Checkout Flow: Standard vs. Plus
This is a decision that impacts your subscription UX more than most founders realize.
Standard Shopify uses Shopify's default checkout for subscription orders. You can customize the look (logo, colors, fonts) but not the functionality. Discount codes work. Most subscription apps integrate cleanly. For 90% of Indian D2C brands, this is sufficient.
Shopify Plus unlocks Checkout Extensibility (formerly checkout.liquid), which lets you add custom UI elements to the checkout: subscription upgrade prompts, gift messaging for subscription orders, loyalty points displays, and conditional discount messaging. If you're running a sophisticated subscription program with multiple tiers, Plus checkout customization is worth the investment.
Our recommendation: Start on Standard. Move to Plus when your subscription revenue exceeds ₹50L/month and you have specific checkout customization needs that justify the cost. We've written a detailed comparison in our Shopify Plus vs Standard guide.
Dunning Management: The Silent Revenue Killer
Dunning is the process of handling failed payment attempts for recurring charges. Credit cards expire. Bank accounts have insufficient funds. UPI mandates lapse. If your dunning logic is bad, you'll lose 5-15% of subscribers to involuntary churn — customers who didn't choose to cancel but whose payments failed.
Here's the dunning sequence we configure for every subscription client:
Day 0 (payment failure): Automatic retry. Send a friendly WhatsApp/email notification: "Your payment didn't go through. We'll try again in 3 days. Update your payment method here: [link]."
Day 3: Second retry attempt. Send a second notification with more urgency but zero blame: "We still couldn't process your payment. Your next delivery is at risk. Update here: [link]."
Day 7: Third and final retry. Final notification: "This is your last chance to update your payment before your subscription is paused. We'd hate to lose you. [link]"
Day 10: If all retries fail, pause the subscription (don't cancel). Pausing preserves the subscriber's history, accumulated benefits, and makes reactivation frictionless. Cancellation should require explicit action from either the subscriber or a manual process.
Recharge and Loop both support configurable dunning sequences. If you're using Seal or Shopify Native, you'll need to build this logic manually using Shopify Flow or an n8n workflow.
The India-specific gotcha: UPI-based recurring payments (mandates) have specific failure modes that differ from card payments. UPI mandates can be revoked by the customer's bank app without notification. If you're relying on UPI for subscriptions, build in a mandate status check before each billing attempt and prompt customers to re-authorize if the mandate has lapsed.
Cancellation Flow: Where Most Brands Lose
This is the single biggest mistake we see in subscription implementations: launching without a cancellation flow.
When a subscriber clicks "Cancel," most stores show a confirmation dialog and process the cancellation. That's it. The subscriber is gone. No save attempt. No data captured. No pause offered.
Here's what a good cancellation flow looks like:
Step 1: Exit survey. Before processing the cancellation, ask why they're leaving. Use a single-select dropdown, not a text field: "Too expensive", "Not using products fast enough", "Quality declined", "Found a better alternative", "Just need a break", "Other". This data is invaluable for product and pricing decisions.
Step 2: Conditional save offer. Based on the reason selected, show a targeted offer:
- "Too expensive" → Offer a 20% discount for the next 3 months
- "Not using fast enough" → Offer to switch to a less frequent delivery schedule
- "Just need a break" → Offer to pause for 1-3 months instead of canceling
- "Quality declined" → Offer to connect with support for a product replacement
Step 3: If they still want to cancel, process it gracefully. Confirm the cancellation date, explain what happens to pending orders, and leave the door open: "You can reactivate anytime from your account page."
Loop and Recharge both support configurable cancellation flows with conditional save offers. We've seen properly designed cancellation flows recover 15-25% of subscribers who would otherwise have been lost. That's not a marginal improvement — at scale, it's the difference between a profitable subscription program and a leaky one.
Inventory Forecasting for Subscription SKUs
Subscription inventory is different from regular ecommerce inventory because a portion of your stock is pre-committed to upcoming subscription orders. If you sell a product both as a one-time purchase and as a subscription, you need to reserve inventory for subscribers.
The basic formula:
Required stock = (Active subscribers × Units per box) + Safety buffer (15-20%)
Available for one-time sale = Total stock - Required stock
For curated boxes, this gets more complex because you're rotating products monthly. We recommend maintaining a "substitution list" for each product in the rotation — if Product A goes out of stock, Product B from the same category replaces it automatically.
Most subscription apps (Recharge, Loop) provide subscription analytics that show upcoming order volumes by SKU. Use this data for your purchase orders. Don't forecast subscription inventory from general sales data — the ordering patterns are fundamentally different.
The Most Common Mistake: Launching Without a Pause Option
We see this constantly. A brand launches subscriptions with only two states: active or cancelled. The subscriber hits a month where they're traveling, or they've accumulated too much product, or they're temporarily short on cash.
Without a pause option, their only choice is to cancel. And once someone cancels, the reactivation rate drops dramatically — under 10% in most cases. But a paused subscriber reactivates at 40-60% rates because the mental commitment hasn't been broken.
Always launch with pause. Configure it in your subscription app from day one. Allow subscribers to pause for 1, 2, or 3 months. Send a reminder 3 days before reactivation. This single feature reduces churn more than any discount or loyalty program we've tested.
Implementation Checklist
Before launching subscriptions on Shopify, verify each of these:
- Subscription app installed and configured with your payment gateway
- Subscribe-and-save discount set (10-15% is the sweet spot for Indian D2C)
- Product pages display both one-time and subscription options clearly
- Customer portal tested: skip, swap, frequency change, payment update, pause, cancel
- Dunning sequence configured: 3 retries over 10 days, notifications at each step
- Cancellation flow built: exit survey → conditional save offer → graceful cancellation
- Pause option enabled with 1/2/3 month options
- Inventory reservation logic in place for subscription SKUs
- Email/WhatsApp notifications configured for: order confirmation, shipping, payment failure, subscription pause, subscription reactivation
- Analytics dashboard tracking: active subscribers, MRR, churn rate, LTV, save offer conversion rate
If you're building a subscription program on Shopify and want an engineering team that's done this before, book a discovery call. We handle the entire build — app setup, checkout optimization, dunning configuration, and customer portal customization — in a fixed-price, sprint-based engagement.
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