Diwali and festive-season Shopify readiness checklist (India)
A pre-festive Shopify checklist for Indian D2C brands — performance, inventory, offers, COD and RTO controls, ads, and code-freeze windows, mapped to the festive calendar so you go into peak season stable, not scrambling.

Get your Shopify store festive-ready in six to eight weeks: fix performance and Core Web Vitals in September, lock inventory and offers in early October, tighten COD and RTO controls, verify ad tracking, then freeze all code roughly ten days before your first big sale. Most festive outages are self-inflicted — plan the freeze and you remove your own biggest risk.
I am a senior Shopify developer based in Delhi/NCR, and every year I watch Indian D2C brands treat festive readiness as a one-week sprint the week before Diwali. That is exactly when stores break — under the highest traffic of the year, with a last-minute change nobody had time to test. This is the checklist I actually run with brands, mapped to the calendar, so you go into peak season stable instead of scrambling.
Why does the festive season break Shopify stores?
It usually is not Shopify. The platform is built for Black Friday scale and absorbs traffic spikes without blinking. What breaks is your store — the parts you control.
Three things go wrong during Indian festive peaks, in order of frequency:
- Self-inflicted changes. A last-minute banner edit, a new app installed two days before the sale, a discount rule that conflicts with another. The single biggest cause of festive-day incidents is someone pushing an untested change into live traffic.
- Performance debt catching up. A theme that loads fine at 200 sessions/day feels sluggish at 20,000. Heavy apps, uncompressed hero images, and render-blocking scripts do not cause a crash — they quietly drop your conversion rate exactly when every click costs more.
- Operational overload. COD orders spike, RTO climbs, inventory oversells, and support drowns. None of this is a code bug, but all of it eats the margin you spent on ads to earn.
I learned this the expensive way. Last festive season, a home and kitchen brand I work with pushed what they called a "small" change on day 3 of the sale: a new app, installed two days before the peak. Checkout silently stopped triggering for about 40 minutes while their ads kept spending. We rolled back to the duplicated theme and had it fixed in minutes, but the orders from those 40 minutes were gone. Since then I put a freeze date in the contract. The date moves every year, and the freeze clause stays.
The fix for all three is the same: do the work early, then stop touching things. Below is how I sequence it.
What is the festive readiness calendar for Indian D2C?
Indian festive commerce is not a single day. It is a two-month arc, and each phase needs different work. As of 2026 the exact dates shift each year, so anchor this to your own calendar — but the shape holds.
| Window | Rough timing | What you do |
|---|---|---|
| Foundation | 6–8 weeks out (early Sept) | Performance, Core Web Vitals, app audit, inventory forecast |
| Setup | 3–4 weeks out (late Sept) | Offers, bundles, landing pages, COD/RTO rules, ad testing |
| Freeze | 10–14 days out | Code freeze, load-test checkout, scale winning ads, brief support |
| Peak | Navratri → Dussehra → Dhanteras → Diwali → Bhai Dooj | Monitor, restock, protect margin, no theme changes |
| Recovery | Post-Diwali week | Win-back, returns handling, review of what broke |
The mistake is compressing all of this into the freeze window. The whole point of freezing is that the risky work is already done and tested. If you are still building offers ten days out, you have no freeze — you have a live experiment.
How do I get performance and scale ready?
This is the developer-heavy phase and the one brands skip most. Traffic during a big festive sale can be 20–50× a normal day. Shopify will serve those requests; the question is whether your store converts them or frustrates them into leaving.
Work through this in September:
- Core Web Vitals. Get LCP under 2.5s, INP under 200ms, CLS under 0.1 on mobile — the majority of festive traffic in India is mobile, often on patchy networks. If your homepage and top collection pages fail these, fix them now. I break down the diagnosis in why your Shopify store is slow.
- App audit. Every app can inject scripts that run on every page. Uninstall anything you cannot tie to revenue or operations, and remove the leftover theme code — uninstalling an app rarely cleans up its Liquid snippets. See how app overhead quietly kills performance.
- Image hygiene. Compress hero and product images, serve modern formats, and lazy-load anything below the fold. A 2 MB hero image is a conversion tax you pay on every session.
- Checkout path. Walk the full purchase flow on a real mid-range phone on 4G. This is the path that must never wobble under load — test it deliberately, not incidentally.
If performance work feels out of reach in-house, this is exactly where a Shopify developer earns their fee before peak — a slow store on the biggest traffic day of the year is the most expensive problem you can carry into Diwali.
How do I plan festive inventory without overselling?
Overselling during a festive sale is brutal: you take the money, you take the ad cost, then you cancel and refund an excited customer at your most-watched moment of the year. Undersell and you leave revenue on the table. Both are avoidable with a buffer.
- Forecast from last year plus growth. Pull last festive season's velocity per SKU, apply your growth rate, and add a safety buffer on hero products.
- Set inventory buffers. Hold back a small percentage of stock as a cushion against the lag between an order and inventory sync, especially if you sell on marketplaces too. If you run Shopify alongside Amazon, Flipkart, or Meesho, sync discipline matters even more — see the multichannel sync guide.
- Decide your out-of-stock behaviour. Hide sold-out variants, or show them with a back-in-stock capture? Pick deliberately before the rush, not reactively at 11pm.
- Pre-brief your 3PL. Talk to Shiprocket, Delhivery, or your fulfilment partner about capacity and pickup cutoffs now. Courier networks are stretched during festive weeks — the fulfilment guide covers how to set this up cleanly.
How do I set up festive offers safely?
Offers are where I see the most last-minute breakage, because discount logic interacts with everything — shipping, bundles, automatic discounts, and each other.
Build and test these in late September, not the week of the sale:
- Stack rules deliberately. Decide whether codes combine with automatic discounts and free shipping. Conflicting rules either fail silently or hand customers a discount you did not intend. Test every combination on a draft order.
- Bundles and tiered thresholds. "Buy 2 get 10% off," "free shipping over ₹999," gift-with-purchase — configure and test each one end to end, including the cart and checkout display.
- Landing pages. Build festive collection and campaign pages ahead of time and keep them unpublished or password-gated until launch. Do not build them live.
- Countdown and urgency. If you use urgency elements, make sure they do not add layout shift or block rendering — a janky countdown timer that tanks your LCP is a bad trade.
Test every offer against a real cart. The two minutes it takes to place a test order is the cheapest insurance you will buy all season.
How do I control COD and RTO during festive spikes?
This is the India-specific one, and it is where margin quietly bleeds. Festive COD volume surges, and RTO — return to origin — surges with it: reverse shipping cost, blocked inventory, and packaging loss on an order that never earned a rupee.
Tighten these before the rush:
| Control | What it does | Impact |
|---|---|---|
| COD order-value cap | Blocks COD above a threshold | Cuts high-value RTO risk |
| OTP / WhatsApp confirmation | Verifies intent on risky orders | Filters fake and impulse COD |
| Prepaid nudge (small discount) | Shifts orders to prepaid | Lower RTO, faster cash |
| High-risk pincode rules | Restricts COD in RTO-heavy areas | Protects worst-hit routes |
| Repeat-returner flags | Flags serial-return customers | Stops known losses early |
A prepaid discount of even ₹50–100 often pays for itself many times over in avoided RTO. Pair these controls with your gateway setup — the Shopify Payments, COD and GST guide covers how COD and prepaid fit together for Indian stores. Set the rules in early October and let them run through peak; do not tune COD logic live during the sale.
How should I handle festive ads and tracking?
The ad side has one governing rule: test in September, scale proven winners in October, do not experiment when clicks are most expensive. Festive CPMs in India rise sharply as every brand bids for the same attention, so peak season is the worst time to learn what works.
Before the freeze:
- Verify conversion tracking end to end. Confirm your pixel and server-side events (CAPI) fire cleanly on every add-to-cart and purchase. Broken tracking during peak means you scale blind and optimise on garbage data.
- Lock your winners. Identify the campaigns and creatives already performing and prepare to pour budget into them — not into untested variants launched into peak spend.
- Prepare abandoned-cart recovery. Festive shoppers compare and stall. A tight abandoned-cart flow recovers orders you already paid to acquire — set it up ahead of time using the abandoned-cart automation guide, and automate restock and tagging with Shopify Flow.
- Watch your landing page speed under ad load. Paid traffic hits specific pages hard. The pages you are spending on must be your fastest.
If your store gets the clicks but not the orders, the leak is usually on-site, not in the ad account — the not-converting checklist is where I would look first.
What exactly is a code freeze, and when do I start it?
A code freeze is a window — usually the ten to fourteen days around your biggest sales — where you stop pushing theme and app changes to the live store. No new apps, no theme edits, no "quick tweaks." Everything you need is already built, tested, and live before the freeze begins.
Why it matters: analyse festive-day incidents and the overwhelming majority trace back to a change made in the final days. Freeze, and you remove the single largest category of risk from your worst-possible-timing window.
How to run it cleanly:
- Duplicate your live theme as a dated backup before the freeze, so you have a known-good rollback point.
- Announce the freeze internally — everyone knows the store is locked and why.
- Keep one emergency path for genuine break-fixes only (a broken checkout, not a colour change), tested on a preview theme first.
- Load-test the checkout path one last time before you lock it.
- Brief support on offers, shipping timelines, and COD rules so they answer fast without escalating to you mid-sale.
The freeze is the whole payoff of preparing early. If you did the foundation and setup work on time, the freeze is calm. If you did not, the freeze is where you find out.
What does festive readiness cost?
Most of this is operational and free — inventory buffers, offer setup, app hygiene, an internal freeze. The cost, when there is one, is developer time for the work that genuinely needs it: performance, safe theme changes, COD/RTO logic, and checkout load-testing.
For rough budgeting, in INR with approximate USD (₹ ÷ 83), as of 2026:
| Festive prep work | Typical range (INR) | Approx USD |
|---|---|---|
| Performance / Core Web Vitals pass | ₹40,000 – ₹1,50,000 | $475 – $1,800 |
| COD/RTO + offers setup (single feature) | ₹40,000 – ₹1,50,000 | $475 – $1,800 |
| Broader festive hardening (theme + logic) | ₹1,50,000 – ₹4,00,000 | $1,800 – $4,800 |
| Retainer through the season | ₹40,000 – ₹80,000/mo | $475 – $950/mo |
Set against a festive weekend that can be a quarter of annual revenue, this is cheap insurance — provided you engage early enough for the work to be tested before the freeze. Booking a developer three days before Diwali does not buy readiness; it buys panic.
The one-page festive checklist
If you read nothing else, run this:
- Core Web Vitals green on mobile (LCP, INP, CLS)
- App audit done, dead apps and leftover code removed
- Hero/product images compressed, modern formats, lazy-loaded
- Inventory forecast + buffers set, out-of-stock behaviour decided
- 3PL briefed on capacity and pickup cutoffs
- Offers built, tested on real carts, stacking rules confirmed
- COD cap, OTP/WhatsApp confirm, prepaid nudge, pincode + returner rules live
- Conversion tracking + CAPI verified end to end
- Winning ads identified; abandoned-cart flow live
- Live theme duplicated as backup
- Code freeze scheduled 10–14 days out and announced
- Checkout load-tested; support briefed on offers and timelines
What's next
If you want your store hardened before peak — performance, COD/RTO controls, and a clean code freeze — tell me about your store on /start and I will send an honest, fixed-scope plan for what to fix and when. For the full picture of how I work with Indian D2C brands, see the Shopify developer in Delhi page. Engage in September and there is time to test everything before the freeze; engage the week of Diwali and there is not.
Related reads
- Why your Shopify store is slow, and how to fix Core Web Vitals — the performance work that matters most before peak.
- Shopify Payments, COD, and GST for India — how COD, prepaid, and gateways fit together.
- Hidden costs of running a Shopify store in India — the recurring costs that festive volume amplifies.
Sources
FAQ
Frequently asked questions
When should I start preparing my Shopify store for the festive season?
Start six to eight weeks before Diwali. Use September for performance and inventory work, early October for offers, COD and RTO controls, and ad testing, then freeze code roughly ten days before your first big sale. Brands that begin in the last week almost always ship risky changes into peak traffic and pay for it in downtime.What is a code freeze and why does it matter during festive sales?
A code freeze is a window — usually the ten to fourteen days around your biggest sales — where you stop pushing theme and app changes to the live store. It matters because most festive-day outages are self-inflicted: a last-minute edit or new app that breaks checkout under load. Freeze, and you remove your own biggest risk.How do I stop RTO losses during festive COD orders?
Set a COD order value cap, add an OTP or WhatsApp confirmation step for high-value or high-risk pincodes, nudge prepaid with a small discount, and flag repeat-return customers. Festive COD volume spikes and so does RTO, so tightening these controls before the rush protects margin far more than any extra ad spend does.Will my Shopify store crash during a big festive sale?
Shopify itself handles the traffic — it is built for Black Friday scale. What actually breaks is your store: a bloated theme, heavy apps, an unoptimised hero image, or a last-minute change. Fix Core Web Vitals, trim apps, and freeze code before the sale, and a traffic spike becomes a revenue event rather than an outage.How many apps should I remove before a festive sale?
There is no fixed number, but audit every app and remove any that is not earning its place. Each app can add scripts that slow your store and can break under load. As a rule, if you cannot name what an app does for revenue or operations, uninstall it and remove its leftover theme code before the freeze.Do I need a developer to get my Shopify store festive-ready?
For inventory buffers, simple offers, and app hygiene, no — an operator can handle it. You want a developer for Core Web Vitals work, safe theme changes under a freeze, COD and RTO logic, and load-testing the checkout path. Given a festive weekend can be a quarter of annual revenue, senior help before peak usually pays for itself.Should I run new ad campaigns during Diwali or reuse proven ones?
Test in September, scale proven winners in October. Festive CPMs rise sharply as everyone bids, so launching untested creative into peak spend wastes budget. Lock your best-performing campaigns, make sure conversion tracking and CAPI are firing cleanly, then pour budget into what already works rather than experimenting when clicks are most expensive.
Revision history· 2 entries
September 23, 2026
Added a first-hand festive-sale incident (an app installed two days before peak broke checkout for about 40 minutes) and why I now contract a code freeze.
September 08, 2026
Initial post. Pre-festive Shopify readiness checklist for Indian D2C brands — performance and scale, inventory, offers, COD and RTO controls, ads, and code-freeze windows, mapped to the India festive calendar.
Last updated September 23, 2026






