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 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.
| Requirement | Where it lives on the site | What has to be built | Hardest part |
|---|---|---|---|
| Prior price on every discount — the reduced price and the lowest price offered in the preceding 30 days | Product listing page, product detail page, cart, any promotional module | A price history store, and a price component that reads the 30-day minimum rather than a manually typed "was" price | You almost certainly do not have the price history. See below |
| Sponsored listings distinctly identified with clear and prominent disclosure | Search results, category pages, carousels, home page modules, recommendation strips | A persistent label inside the card, driven by the ad flag rather than by merchandising | Finding every surface where paid placement can appear, including third-party recommendation widgets |
| Annual dark pattern self-audit, with a certificate displayed prominently | A linked, crawlable page; typically footer-linked alongside policies | The audit itself, a dated certificate page, and a process to redo it yearly | The 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 offered | Footer, a dedicated contact or entity page, product pages for imported goods | Structured entity data rendered as HTML text, plus an importer field on the product model | The 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:
- Shopify's
compare_at_priceis 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. - WooCommerce's
_regular_priceand_sale_pricehave the same problem: the regular price is a current field, not a history. - 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.
| Window | Price 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 display | Reference price | Claimed discount | Compliant from 1 January 2027? |
|---|---|---|---|
| Struck-through MRP or list price | ₹2,499 | 24% | No — not the 30-day low |
| Manually set "compare at" field | Whatever was typed | Varies | No — unverifiable, and usually wrong |
| Price immediately before this change | ₹2,299 | 17% | No — ₹1,999 was lower inside the window |
| Lowest price in the preceding 30 days | ₹1,999 | 5% | 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.
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 pattern | Where it usually hides | How to test it | The version that passes |
|---|---|---|---|
| False urgency | Countdown 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 sneaking | Shipping protection, warranties, donations, express delivery, service charges added automatically | Add one product, open the cart, count the lines. Anything you did not choose is the finding | Unticked opt-in presented at the same step, with the price visible before it is added |
| Confirm shaming | Exit 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 fails | Neutral decline wording of equal visual weight to the accept action |
| Forced action | Mandatory account creation, forced app install, newsletter sign-up required to buy | Complete a purchase start to finish without creating an account | Guest checkout, with the account offered after the order is placed |
| Subscription trap | One-click subscribe, cancellation buried in help articles or behind a support email | Count the clicks from logged-in home page to confirmed cancellation | Self-serve cancellation in no more steps than sign-up took |
| Interface interference | Pre-ticked consent boxes, high-contrast accept against grey decline text, decline hidden below the fold | Screenshot the screen and view it in greyscale. Can you still find the decline? | Both options at equal visual weight; nothing pre-ticked |
| Bait and switch | Advertised variant out of stock with a pricier substitute pushed forward | Click 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 pricing | Platform fees, handling charges, convenience fees and delivery appearing only at the payment step | Compare the product page price with the final payable amount at the last checkout step | All-in price, or a clearly labelled estimate, at the first point a price is shown |
| Disguised advertisement | Sponsored products styled identically to organic results; advertorials inside editorial content | Ask someone outside the team to point out which results are paid | A persistent label inside the card, legible at mobile size, not a tooltip |
| Nagging | Repeated prompts for notifications, location, app install, review requests | Count the interruptions in one five-minute browsing session | Ask once, remember the dismissal across sessions |
| Trick wording | Double negatives on consent, ambiguous opt-outs, "uncheck to not receive" | Read each checkbox and state out loud what ticking it does. Hesitation is the finding | Plain statements of exactly what the customer is agreeing to |
| SaaS billing | Recurring charges for something presented as a one-off purchase; auto-renewal disclosed in terms only | Check whether term, amount and renewal date sit on the same screen as the pay button | Renewal terms adjacent to the price and the payment action, not linked from it |
| Rogue malware | Third-party ad slots, affiliate widgets and interstitials that push software downloads | Audit every third-party script and ad network allowed to render on your pages | Remove 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:
- 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.
- 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.
- 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.
- Easier cancellation lowers disputes. Hard cancellation converts into chargebacks, support load and one-star reviews, which cost more than the retained month.
- 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
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
Sources & further reading
- TaxGuru, full text summary: Consumer Protection (E-Commerce) (Amendment) Rules, 2026
- Law.asia, "India's tighter e-commerce rules take effect on 1 January"
- Mondaq, "Overview Of The Consumer Protection (E-Commerce) (Amendment) Rules, 2026"
- LawBeat, "Govt Mandates Annual Dark Pattern Audits, Prior Price Disclosures"
- Guidelines for Prevention and Regulation of Dark Patterns, 2023 (full text, PDF)
- CCPA advisory to e-commerce platforms on dark pattern self-audits (PDF)
- Digital Policy Alert, organisational requirements under the 2026 Amendment Rules