Shopify & E-commerce · Compliance

India's new e-commerce rules change your product page, not just your policy page

Every summary of the Consumer Protection (E-Commerce) (Amendment) Rules, 2026 published so far explains the law. Almost none of them tell you what you have to build. Four of the requirements are front-end engineering work, one of them needs data you are not currently collecting, and the deadline for starting that collection is early December, not January.

The short answer

The rules were notified on 9 September 2026 and come into force on 1 January 2027. Four requirements are build work: display the lowest price of the preceding 30 days against any discount, label every sponsored listing, publish an annual dark pattern self-audit certificate, and expose seller and importer details. The prior price rule needs a price history store live by 2 December 2026.

What was notified, and when it starts to bite

The Department of Consumer Affairs notified the Consumer Protection (E-Commerce) (Amendment) Rules, 2026 on 9 September 2026. They come into force on 1 January 2027. That is a twelve-week runway from today, and the useful way to read the rules is not as a legal document but as a backlog: four of the requirements are front-end engineering work on your product, listing and checkout pages, and one of them needs you to start collecting data in early December or you cannot comply on day one.

Almost everything published about these rules so far explains what they say. Very little explains what you have to build. That gap is the whole of this article.

The four requirements that are front-end work

Most of the amendment tightens disclosure, grievance handling and seller transparency. Stripped to the parts that change rendered pixels and stored data, it looks like this.

RequirementWhere it lives on the siteWhat has to be builtHardest part
Prior price on every discount — the reduced price and the lowest price offered in the preceding 30 daysProduct listing page, product detail page, cart, any promotional moduleA price history store, and a price component that reads the 30-day minimum rather than a manually typed "was" priceYou almost certainly do not have the price history. See below
Sponsored listings distinctly identified with clear and prominent disclosureSearch results, category pages, carousels, home page modules, recommendation stripsA persistent label inside the card, driven by the ad flag rather than by merchandisingFinding every surface where paid placement can appear, including third-party recommendation widgets
Annual dark pattern self-audit, with a certificate displayed prominentlyA linked, crawlable page; typically footer-linked alongside policiesThe audit itself, a dated certificate page, and a process to redo it yearlyThe audit is a design review, not a legal sign-off, and it will produce a change list
Seller, entity and importer disclosure — legal name, principal geographic address, branch addresses, website details, customer care and grievance officer contacts; importer details where imported goods are offeredFooter, a dedicated contact or entity page, product pages for imported goodsStructured entity data rendered as HTML text, plus an importer field on the product modelThe importer field, if your catalogue does not carry one

Grievance handling also acquires clocks: a complaint must be acknowledged within 48 hours and redressed within one month, and the complainant has to be given a copy of the complaint as recorded by the grievance officer. That is a process and tooling change more than a design change, but if your "contact us" form posts to a shared inbox with no ticket identifier, it is a build item too.

The 30-day prior price rule is the one that will catch people out

Read the requirement precisely. Where a price reduction is announced, you must display both the reduced price and the prior price, and the prior price means the lowest price at which the item was offered in the preceding 30 days. It is not the MRP. It is not the list price. It is not whatever somebody typed into a "compare at" field.

That matters because the standard platform fields were never designed to hold this value:

  1. Shopify's compare_at_price is a manually entered number on the variant. It is whatever a merchandiser typed, with no relationship to what the item actually sold for last week. It does not satisfy the rule, and using it unchanged is the most likely compliance failure on 1 January.
  2. WooCommerce's _regular_price and _sale_price have the same problem: the regular price is a current field, not a history.
  3. Marketplace listing tools generally expose the current price and the current strike-through, and nothing about the trailing window.

So the build is a price history table: variant, price, currency, effective from, effective to, written on every price change and snapshotted daily as a safety net. The display value is then MIN(price) over the trailing 30 days, excluding the promotion you are currently announcing.

What that actually does to your discount claims

Here is a thirty-day price path that looks completely ordinary for an Indian D2C brand running through the festive season, and what each pricing convention would display on day 31.

WindowPrice offered
Days 1–10₹2,499
Days 11–14 (festive promotion)₹1,999
Days 15–27₹2,499
Days 28–30 (short flash sale)₹2,299
Day 31 — new offer launches₹1,899

The lowest price offered in the preceding 30 days is ₹1,999. So the compliant display on day 31 is ₹1,899 against ₹1,999, which is a 5% reduction. The display most brands would ship is ₹1,899 against a struck-through ₹2,499, which reads as 24% off and is not a prior price under the rule.

What you displayReference priceClaimed discountCompliant from 1 January 2027?
Struck-through MRP or list price₹2,49924%No — not the 30-day low
Manually set "compare at" fieldWhatever was typedVariesNo — unverifiable, and usually wrong
Price immediately before this change₹2,29917%No — ₹1,999 was lower inside the window
Lowest price in the preceding 30 days₹1,9995%Yes

Two consequences follow, and both are commercial rather than legal. First, running frequent short promotions permanently suppresses the discount you are allowed to claim, because each one lowers the trailing minimum for the next thirty days. A brand that discounts every fortnight will find it can never advertise a large reduction again. Second, the honest headline number gets smaller, which means the rest of the product page has to do more work. That is a conversion problem, and it is the reason to treat this as a design project rather than a compliance checkbox.

The date nobody has noticed

To display a compliant 30-day prior price on 1 January 2027, you need price history reaching back to 2 December 2026. If you start capturing prices in January, your first compliant display is in February. The real engineering deadline for the price history store is the end of November, not the end of December — and it lands in the middle of the festive and year-end trading period when most teams have frozen deploys.

A dark pattern self-audit you can actually run

The amendment makes compliance with the Guidelines for Prevention and Regulation of Dark Patterns, 2023 a statutory obligation, adds a yearly self-audit, and requires a certificate to that effect to be displayed prominently. The 2023 guidelines, issued by the Central Consumer Protection Authority on 30 November 2023 under section 18 of the Consumer Protection Act, 2019, name thirteen specified dark patterns in their annexure. The CCPA had already pushed platforms to self-audit through an advisory in June 2025; the amendment turns that from a request into a recurring duty.

A self-audit is a design review, not a legal opinion. Below is each of the thirteen patterns mapped to where it usually hides on a real e-commerce site, a test you can run in an afternoon, and the version that passes. Work through it with a browser, a private window and someone who did not build the site.

Specified dark patternWhere it usually hidesHow to test itThe version that passes
False urgencyCountdown timers, "only 2 left", "14 people are viewing this"Reload in a private window. Does the timer reset or the stock figure change without a sale having happened?Stock counts read from real inventory; timers tied to a real end time that does not reset per session
Basket sneakingShipping protection, warranties, donations, express delivery, service charges added automaticallyAdd one product, open the cart, count the lines. Anything you did not choose is the findingUnticked opt-in presented at the same step, with the price visible before it is added
Confirm shamingExit popups and decline links: "No thanks, I don't like saving money"Read every decline label aloud. If it would be rude said to a customer's face, it failsNeutral decline wording of equal visual weight to the accept action
Forced actionMandatory account creation, forced app install, newsletter sign-up required to buyComplete a purchase start to finish without creating an accountGuest checkout, with the account offered after the order is placed
Subscription trapOne-click subscribe, cancellation buried in help articles or behind a support emailCount the clicks from logged-in home page to confirmed cancellationSelf-serve cancellation in no more steps than sign-up took
Interface interferencePre-ticked consent boxes, high-contrast accept against grey decline text, decline hidden below the foldScreenshot the screen and view it in greyscale. Can you still find the decline?Both options at equal visual weight; nothing pre-ticked
Bait and switchAdvertised variant out of stock with a pricier substitute pushed forwardClick your own top twenty ad and listing URLs. Does the advertised price and variant exist on arrival?Honour the advertised offer, or stop serving the placement
Drip pricingPlatform fees, handling charges, convenience fees and delivery appearing only at the payment stepCompare the product page price with the final payable amount at the last checkout stepAll-in price, or a clearly labelled estimate, at the first point a price is shown
Disguised advertisementSponsored products styled identically to organic results; advertorials inside editorial contentAsk someone outside the team to point out which results are paidA persistent label inside the card, legible at mobile size, not a tooltip
NaggingRepeated prompts for notifications, location, app install, review requestsCount the interruptions in one five-minute browsing sessionAsk once, remember the dismissal across sessions
Trick wordingDouble negatives on consent, ambiguous opt-outs, "uncheck to not receive"Read each checkbox and state out loud what ticking it does. Hesitation is the findingPlain statements of exactly what the customer is agreeing to
SaaS billingRecurring charges for something presented as a one-off purchase; auto-renewal disclosed in terms onlyCheck whether term, amount and renewal date sit on the same screen as the pay buttonRenewal terms adjacent to the price and the payment action, not linked from it
Rogue malwareThird-party ad slots, affiliate widgets and interstitials that push software downloadsAudit every third-party script and ad network allowed to render on your pagesRemove the inventory source. You are responsible for what renders on your domain

Run this honestly and most Indian e-commerce sites will find between three and six findings, usually concentrated in basket sneaking, drip pricing, interface interference on consent, and disguised advertisement. The certificate you then publish should be dated, name the scope audited (web, mobile web, apps), and say what was remediated. A certificate asserting a clean platform that contradicts what a regulator can see in thirty seconds is worse than no certificate.

The ranking definition quietly got wider

The amendment expands the definition of "ranking" from the relative prominence given to goods and services to include the relative prominence given to sellers on the platform. If you run a marketplace, or a brand site with multiple fulfilment partners, that pulls seller-level sort order into the disclosure perimeter alongside product-level sort order. Practically: if a seller gets better placement because of commercial terms, that is a ranking parameter and a paid-placement question, not a merchandising detail.

Which of these changes actually help you

It is worth separating the requirements that cost conversion from the ones that were good practice anyway. Our read, from running this kind of work on checkout funnels:

  1. Removing forced account creation usually pays for the whole project. Guest checkout is one of the few changes that reliably moves completion rate, and it is also a compliance requirement now.
  2. Showing the all-in price early tends to help, not hurt. The fear is that the bigger number kills intent at the top. What actually happens is that the abandonment moves earlier, to people who were never going to pay the full amount, and completion among the rest improves. We went through the evidence for this in the all-in pricing laws piece.
  3. Honest stock counts cost you a little and are worth it. Real scarcity still works. Fake scarcity works until a customer notices, and the people most likely to notice are repeat buyers.
  4. Easier cancellation lowers disputes. Hard cancellation converts into chargebacks, support load and one-star reviews, which cost more than the retained month.
  5. The prior price rule is the one with a genuine commercial cost. Smaller advertisable discounts, and a constraint on promotion frequency. This is where the product page has to get better rather than louder.

A twelve-week plan

  1. October, weeks 1–2. Run the thirteen-pattern audit above and write the findings down. Separately, inventory every surface where a sponsored or paid placement can appear, including third-party recommendation and ad widgets. Confirm whether your catalogue has an importer field.
  2. October, weeks 3–4. Build and deploy the price history store. This is the only item with a hard upstream dependency, because the data has to accumulate. Deploy it before your festive freeze, not after.
  3. November. Build the price display component against the 30-day minimum, the sponsored labels, the entity and importer disclosure, and the grievance ticketing with acknowledgement timestamps. Remediate the audit findings.
  4. Early December. Verify the price history is capturing correctly. From 2 December the trailing window that matters on 1 January is live, so a gap here is not recoverable later.
  5. Mid-December. Publish the self-audit certificate page, footer-linked and crawlable as HTML text. Re-run the audit on the remediated site rather than certifying the version you audited in October.
  6. Late December. Switch the price display to the compliant reference price. Re-plan the January promotional calendar against the new discount ceilings, because the headline percentages your marketing team is used to quoting will not be available.

If you are also rebuilding or replatforming, fold these into the build rather than retrofitting them, price history, sponsored labelling and entity disclosure are now standard scope on any e-commerce website build for the Indian market. The price history store in particular is cheap to design in and tedious to bolt on, in the same way the items on a launch checklist are cheap before launch and expensive after.

Who this applies to

The rules apply to e-commerce entities offering goods or services to consumers in India, covering both marketplace and inventory models, and they reach entities established outside India that systematically offer to Indian consumers. Enforcement sits with the Central Consumer Protection Authority under the Consumer Protection Act, 2019. If you sell to Indian consumers from a Shopify store run out of Dubai or Singapore, read the applicability clause carefully rather than assuming distance helps.

One more thing worth saying plainly: none of this is a reason to panic-buy a compliance tool. Eleven of the thirteen dark patterns are fixed by design decisions your team can make this month. Only the prior price requirement needs new infrastructure, and it needs about a week of backend work plus a month of patience while the data accrues.

Frequently asked questions

When do India's new e-commerce rules come into force?

The Consumer Protection (E-Commerce) (Amendment) Rules, 2026 were notified on 9 September 2026 and come into force on 1 January 2027. The practical deadline is earlier for one requirement: to show a compliant 30-day prior price on 1 January 2027 you need price history going back to 2 December 2026, so price capture has to be live by the start of December.

What does the prior price rule require you to display?

Where a price reduction is announced, you must show both the reduced price and the prior price, and the prior price is defined as the lowest price at which the item was offered during the preceding 30 days. It is not the MRP, not the list price, and not a manually entered compare-at value. If an item was briefly sold at a lower price inside that 30-day window, that lower price becomes the reference, which reduces the discount percentage you can advertise.

Does Shopify's compare-at price satisfy the prior price requirement?

No. Shopify's compare_at_price is a manually entered field on the variant with no relationship to the item's actual price history, and WooCommerce's regular price field has the same limitation. Complying requires a price history store that records every price change with effective dates, so the displayed reference price can be computed as the minimum over the trailing 30 days.

What is the dark pattern self-audit, and what has to be published?

E-commerce entities must comply with the Guidelines for Prevention and Regulation of Dark Patterns, 2023, conduct a yearly self-audit confirming the platform is free of them, and display a certificate to that effect prominently. The 2023 guidelines name thirteen specified dark patterns: false urgency, basket sneaking, confirm shaming, forced action, subscription trap, interface interference, bait and switch, drip pricing, disguised advertisement, nagging, trick wording, SaaS billing and rogue malware. The audit is a design review of your live interfaces, not a legal sign-off.

Do these rules apply to businesses outside India?

They apply to e-commerce entities offering goods or services to consumers in India, across both marketplace and inventory models, and they reach entities established outside India that systematically offer to Indian consumers. Selling into India from an overseas store does not by itself place you outside the scope, so check the applicability clause rather than assuming it does.

Will complying with these rules hurt conversion rate?

Mostly the opposite. Removing forced account creation, showing the all-in price early and making cancellation self-serve are changes that tend to improve completion rate and reduce disputes. The one requirement with a real commercial cost is the prior price rule, because it shrinks the discount percentage you can advertise and penalises frequent short promotions, each of which lowers the trailing 30-day minimum for the next month.

How quickly do we have to respond to consumer complaints now?

A grievance officer must acknowledge a complaint within 48 hours and redress it within one month, and must give the complainant a copy of the complaint as recorded. If complaints currently arrive in a shared inbox with no ticket reference or timestamp, you need ticketing before you can evidence compliance.

The takeaway

Treat this as a backlog, not a legal memo. Run the thirteen-pattern audit this month, because eleven of the thirteen findings are design decisions your team can make without new infrastructure. Then build the price history store before your festive freeze, because it is the only requirement where starting late makes compliance on 1 January arithmetically impossible. And re-plan January's promotional calendar early: once the reference price is the trailing 30-day low, the discount percentages your marketing team is used to quoting will not be available, and frequent short promotions will keep suppressing them.

Rahul Gupta

Founder of HyberX, a digital growth agency working with brands across the US, Europe, the Middle East and India. Writes on web design, paid media and conversion optimisation.

More about Rahul · LinkedIn

Related reading

Need the audit and the price history build done before December?

We run the thirteen-pattern review on your live site, hand you a prioritised findings list, and build the price history and disclosure components your platform does not ship with.

Book a Growth Call