Skip to main content
Free checker · EU and UK price reductions

The EU 30-day lowest price rule, and what your compare-at price can be

In the EU, a sale must be shown against the lowest price you charged in the 30 days before it, and the percentage off is worked out from that price. Here is how to find it by hand, a free checker that reads your price history, and what the UK expects instead. Plain facts, not legal advice.

Check a sale priceNothing you paste leaves your browser.

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:

Any announcement of a price reduction shows the prior price.
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.

  1. 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.
  2. 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.
  3. Take the lowest. That is the prior price, even if it lasted only a day, and even if it was itself a sale price.
  4. 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.
  5. 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)PriceDays
28 Oct to 1 Nov€49.905
2 Nov to 26 Nov€59.9025
  • 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.

4 prices read.

More: currency, and sales that step down

For a sale that steps down without a break, in a country that uses the Article 6a(5) option, the window is the 30 days before the first step.

Prior price€49.90the lowest price from 28 Oct to 26 Nov 2026
Compare-at price€49.90with the sale price of €44.90
Most you can say off10%worked out from €49.90, rounded down
Price just before€59.90charged for 25 days; 25% off it is not the EU figure

Show €49.90 as the compare-at price and announce at most 10% off. That is the lowest price of the 30 days before the sale (28 Oct to 26 Nov 2026). Not €59.90 and 25% off: the lower price inside the window is the reference, even though the price later went up.

The price before the sale

The shaded days are the window.

30 days before the saleLowest €49.90Sale €44.90
4 Oct28 Oct27 Nov
  • €49.905 days
  • €59.9025 days

In Shopify, for EU customers

Price€44.90
Compare-at price€49.90
€44.90€49.90−10%Lowest price in the last 30 days: €49.90

For UK customers

No fixed 30-day rule. Guidance looks at the last price, €59.90, charged for 25 days, against a sale of 4 days. A comparison with it is more likely to be fair if the sale runs no longer than that and the product really sold at that price.

  • EU

    The price went up inside the 30 days. A raise does not reset the low: the prior price stays at the lowest price of the window, €49.90, not the higher price after the raise.

  • UK

    The price just before the sale, €59.90, was charged for only 25 days. UK guidance asks whether a "was" price was charged recently, for a meaningful time, and whether it really sold at that price.

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

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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