In brief
- When you announce a price reduction to consumers in the EU, you must show the prior price: the lowest price you applied in at least the 30 days before the reduction.
- A raise inside those 30 days does not reset it. Earlier sale prices inside the window count.
- The percentage off is worked out from the prior price, not from a higher price you charged just before the sale (Court of Justice, Aldi Süd, 2024).
- If the sale price is not below the 30-day low, there is no reduction to announce: no compare-at price and no percentage.
- The UK has no fixed 30-day rule. Its guidance looks at whether the "was" price is the last price, charged recently, for a meaningful time, with real sales.
The rule, in plain words
Article 6a of the Price Indication Directive (98/6/EC) has applied across the EU since 28 May 2022.1 It says two things:
Prior price = the lowest price you applied in at least the 30 days before the reduction.Directive 98/6/EC, Article 6a(1) and (2), as inserted by Directive (EU) 2019/2161.
The European Commission's guidance on Article 6a fills in the details.2 It covers struck-through prices, "now €X, was €Y", and percentage or amount-off claims for specific goods, online and in shops. The lowest price includes any earlier reduced price in those 30 days, so a short promotion a few weeks ago counts. Where a product has different prices in different sales channels, the prior price is the lowest price in each channel.
What it does not cover: ordinary price changes you do not announce as a reduction, general claims such as "best prices", comparisons with a recommended retail price or another shop's price, and standing loyalty discounts. Those fall under the general rules on misleading practices instead. Countries may set different rules for goods that go off quickly, and a shorter period for goods on the market for less than 30 days.1
The rule applies to you if you sell to consumers in the EU, wherever your business is: the guidance says traders outside the EU who target EU consumers can be covered.2
Work out the prior price by hand
You need a dated record of each price change for the product, going back at least 30 days before the first day of the sale. If you do not keep one, start now: a spreadsheet with a row per change, or a product export saved the day before you change prices.
- Mark the window. It is the 30 days before the first day of the sale price. A sale that starts on 27 November looks at 28 October to 26 November.
- Write down the price on every day of the window. Include the price already in force on the first day, carried over from before, and every change after it.
- Take the lowest. That is the prior price, even if it lasted only a day, and even if it was itself a sale price.
- Compare the sale price with it. If the sale price is lower, show the prior price as the "was" price. If it is not lower, there is no reduction to announce.
- Work out the percentage from it: (prior price − sale price) ÷ prior price. Round down, so you never claim more than you give.
A worked example. A lamp sold for €49.90 from 1 September, had a one-week promotion at €39.90 from 6 October, went back to €49.90 on 13 October and rose to €59.90 on 2 November. The Black Friday price is €44.90 from 27 November.
| Days in the window (28 Oct to 26 Nov) | Price | Days |
|---|---|---|
| 28 Oct to 1 Nov | €49.90 | 5 |
| 2 Nov to 26 Nov | €59.90 | 25 |
- The €39.90 week ended on 12 October, before the window opened, so it no longer counts.
- The lowest price in the window is €49.90. That is the prior price, even though the lamp sold at €59.90 for the 25 days just before the sale.
- The sale can show €49.90 struck through, and 10% off at most: (49.90 − 44.90) ÷ 49.90 = 10.02%.
- "€59.90, now €44.90, 25% off" would not follow the rule.
Had the €39.90 promotion run from 30 October instead, it would sit inside the window and the prior price would be €39.90. A €44.90 Black Friday price would then not be a reduction at all.
The percentage off comes from the prior price
In case C-330/23, Aldi Süd advertised bananas at €1.29 with €1.69 struck through, and printed below it that the lowest price of the last 30 days was €1.29. A German consumer association challenged it. On 26 September 2024 the Court of Justice ruled that a reduction shown as a percentage, or a promotional claim that highlights how good the price is, must be determined on the basis of the prior price under Article 6a(2).3
So printing the 30-day low in small type next to a bigger, older "was" price does not work. The compare-at price and any percentage must both come from the 30-day low. The Commission's guidance gives the same reading: a percentage reduction must be based on the prior price.2
Sales that step down
Article 6a(5) lets each country decide that, when a reduction is increased step by step in one uninterrupted sale, the prior price stays the price before the first step.1 Not every country uses this option, and it only covers one sale that keeps going without a break.2
An example: a coat at €100 since June goes to €85 (15% off) on 25 September, €75 (25% off) on 16 October and €65 (35% off) on 6 November. Where the option applies, all three steps can be shown against €100. Where it does not, the third step's prior price is the lowest of the 30 days before 6 November, which is €75, so it is 13% off €75.
In Shopify
A Shopify product has two price fields: Price, which customers pay, and Compare-at price, which themes show struck through. For a reduction under the EU rule, the prior price goes in Compare-at price. Shopify's own help page on the Price Indication Directive says the same, and adds that the compare-at price must be higher than the price for a sale to show.4
- If your primary market is in the EEA, compare-at prices always show. If it is outside the EEA and you sell to the EEA through Markets, compare-at prices are hidden for EEA customers by default, and you can show them again in the Markets settings.4
- The product page has only these two price fields. To show the 30-day low as a line of its own, "Lowest price in the last 30 days: €49.90", the help page points to a theme edit or metafields.4
- The help page also asks you to check each EEA country's own rules, because some set different exceptions or longer periods.4
Before you change prices for a sale, export them, so you have both your record for the 30-day low and a way to put the prices back. The safe sale checklist walks through it.
The UK: guidance, not a fixed 30 days
The UK did not adopt Article 6a. Price reductions are judged under the rules on misleading practices, now in the Digital Markets, Competition and Consumers Act 2024. The Chartered Trading Standards Institute's Guidance for traders on pricing practices, reviewed in April 2026, explains how they apply to prices; it is guidance, not law.5 According to it, a comparison with a higher price is more likely to be fair when:
- the higher price is the last price the product was sold at, with no other prices in between;
- it was charged recently, and the product sold in real numbers at it;
- the sale runs for the same time as the higher price was charged, or less.
The guidance also asks you to keep records of your prices, stock and sales, for normal and promotional periods alike. In the lamp example, a UK shop would compare the sale with the last price, 59.90, which was charged for 25 days. The guidance would look at what really sold at that price, and the sale would run for 25 days or fewer.
Check a sale price
Paste the product's price history, one line per change with the date and the price, or upload a CSV with a date column and a price column. Add the day the sale starts and its price. The checker runs the same reference price code as Mufatech Clearance and nothing you type leaves your browser.
The checker counts whole days and carries each price forward to the next change. Two prices on one day count as the lower one. It cannot know about a price in another channel or market, so check each channel's own history.
For every product at once
The checker handles one product. Across a catalogue, the hard part is the record: a dated price for every product in every market, kept every day, so the 30-day low is there when you need it.
Mufatech Clearance, our markdown app, keeps a daily price history from the day it is installed. When it marks stock down, it sets the compare-at price and the percentage from the lowest price of the 30 days before, warns when a price was raised shortly before or a sale runs too long, and can show the 30-day low on the product page. It is coming to the Shopify App Store and cannot be installed yet. When it is listed it will have a Free plan, and Pro at $3.99 a month with the 30-day low.
Store Diagnosis, free and read-only.
- Dead and slow stock valued at cost
- A suggested markdown per product
- Best-sellers about to run out
- Discounts and refunds that cost margin
Store Diagnosis is live on the Shopify App Store and free. It finds the stock that has stopped selling, values it at cost and suggests a markdown per product. It never changes a price.
Frequently asked questions
What is the prior price under the EU rule?
When you announce a price reduction to consumers in the EU, you must show the prior price: the lowest price you applied in at least the 30 days before the reduction. It comes from Article 6a of Directive 98/6/EC, in force since 28 May 2022. Earlier promotional prices inside those 30 days count.
Can I raise a price before Black Friday and then discount it?
You can change prices, but a raise does not reset the 30-day low. If a product was €49.90 until 1 November and €59.90 from 2 November, a Black Friday sale on 27 November still has €49.90 as its prior price, so €44.90 is 10% off, not 25%.
How do I work out the percentage off under the EU rule?
From the prior price: (prior price − sale price) ÷ prior price. The Court of Justice confirmed this in case C-330/23 (Aldi Süd, 26 September 2024): a reduction shown as a percentage or a promotional claim must be determined on the basis of the prior price.
What if my sale price is above the lowest price of the last 30 days?
Then there is no price reduction to announce in the EU: no struck-through compare-at price and no percentage off. Either price below the 30-day low, or start the sale once the lower price is more than 30 days back.
Does the UK have a 30-day lowest price rule?
No. The UK has no fixed period. Guidance for traders on pricing practices (Chartered Trading Standards Institute, April 2026) says a reference price is more likely to be fair when it is the last price the product sold at, was charged recently and for a meaningful time with real sales, and the sale runs no longer than that price was charged.
Is this legal advice?
No. The page sets out the rules and the official guidance as plain facts, with links to each source. Some EU countries add their own options, for example for progressive reductions, perishable goods or new products. For a decision about your store, check your country's rules or ask a lawyer.
Sources
- EUR-Lex. Directive 98/6/EC on consumer protection in the indication of the prices of products offered to consumers, consolidated text of 28 May 2022, Article 6a(1) to (5), inserted by Directive (EU) 2019/2161. Read 10 Oct 2026. law
- European Commission. Guidance on the interpretation and application of Article 6a of Directive 98/6/EC, OJ C 526, 29 December 2021, p. 130 (2021/C 526/02): scope, the prior price including earlier reduced prices, the low per sales channel, percentages from the prior price, progressive reductions, traders outside the EU. Read 10 Oct 2026. official guidance
- Court of Justice of the European Union. Judgment of 26 September 2024, Verbraucherzentrale Baden-Württemberg v Aldi Süd, C-330/23: facts of the banana offer and the ruling on Article 6a(1) and (2). Read 10 Oct 2026. law
- Shopify Help Center. Pricing Indication Directive: the compare-at price field, EEA display by primary market, showing the lowest prior price with a theme edit or metafields, checking national rules. Read 10 Oct 2026. vendor-published
- Chartered Trading Standards Institute. Guidance for traders on pricing practices, reviewed April 2026: reference prices, the last price, recency, sales at the higher price, comparison length, records; based on the Digital Markets, Competition and Consumers Act 2024. Non-statutory guidance. Read 10 Oct 2026. official guidance