Skip to content

Omnibus Directive · in force since 28 May 2022

The 30-day lowest price, under every discount

When you announce a price reduction to EU consumers, you have to state the lowest price you charged in the 30 days before it. StoreCompliant shows that 30-day lowest price as a line under the discounted price, with the figure worked out for each variant.

On every plan, the free one included. Available for Wix Stores.

The price area of a product page: US$80.00 crossed out, US$50.00 as the sale price, and under it the line “Lowest price in the 30 days before this discount: US$80.00”.

On your storefront

What shoppers see

One plain line under the price: “Lowest price in the 30 days before this discount”, followed by the figure.

  • It appears only while a product is discounted. When the sale ends, the line goes away without you doing anything.
  • Each variant gets its own figure, so size S and size L of the same product can show different amounts.
  • It is written in the language of the shop page, in any of the 24 official EU languages.
  • On Wix it adds itself to the product page. There is no code to paste and no theme to edit.

The figure

How the 30-day lowest price is worked out

The rule is in Article 6a of the Price Indication Directive 98/6/EC, added by the Omnibus Directive (EU) 2019/2161: the prior price is the lowest price the trader applied during a period of not less than 30 days before the reduction.

  1. 1

    Every price change is recorded

    From the moment you install the app, it records each change of price and the time of the change, variant by variant.

  2. 2

    The window is the 30 days before the discount

    When a variant goes on sale, the app looks at the 30 days before that discount started, not at the sale price itself.

  3. 3

    The lowest price in that window is shown

    The lowest price on record in those 30 days is the figure in the line under the discounted price.

An example with two variants

An illustration: a shirt comes in two sizes. Both go on sale at €39 on 1 June. Size S had been changed from €50 to €45 on 20 May; size L had stayed at €50. A single figure for the whole product would be wrong for one of them, which is why the app keeps a price history per variant.

Example: the 30-day lowest price for two variants of one product
VariantPrice in MayFigure in the line
Size S€50, changed to €45 on 20 May€45.00
Size L€50 throughout€50.00

Discounts that were already running

No record, no figure

Recording starts when the app is installed. For a product that was already on sale at that moment, the app shows nothing until you give it the earlier prices.

The 30-day lowest price is a statement of fact about what you charged. For a discount that began before the app arrived, the app has never seen the price that came before the sale. Any figure it showed would be a guess: the crossed-out price might be the right answer, or the product might have been cheaper three weeks earlier.

So the careful choice is to show nothing for that product. A missing line is something you can see and fix. A wrong figure under your price looks fine and is not. The Products tab of the dashboard lists, for every product, whether the line is showing.

How to fill the gap

Import the product’s earlier prices from a CSV file. Once the app has a record of what the product cost before the discount, it shows the line. The import is included on every plan, the free one too.

The Products tab of the StoreCompliant dashboard: each product with its current price, its 30-day low and whether the price line is showing, and a warning that one product’s “was” price needs a review.

In the dashboard

A check on the crossed-out price

The line under the price is one half. The other half is the crossed-out “was” price you set yourself.

  • The dashboard flags discounts whose crossed-out price is higher than anything on record for the 30 days before the discount. The note starts: “we have no record of this ‘was’ price being charged…”
  • It states what is on record and nothing more. The app does not judge the discount and does not change your prices.
  • In case C-330/23 (Aldi Süd, 26 September 2024) the Court of Justice of the EU held that an advertised reduction, such as a percentage, must be calculated from the lowest 30-day price. The flag shows you which discounts to look at first.
  • The Products tab lists every product with its current price, its 30-day low and whether the line is showing.

Records, wording and languages

Evidence you can export, wording you can adjust

Price evidence export Paid plans
Export the price records as a PDF and as a CSV file, for when a customer or an authority asks what a product cost before a sale.
Your own wording Paid plans
The standard wording is recommended and needs no work. If you prefer your own phrasing, you can write it for your shop’s fallback language; other languages keep the standard translation.
24 languages, chosen automatically
The line is available in all 24 official EU languages and follows the language of the shop page. A fallback language, which you choose, covers pages in any other language.
EU and EEA visitors only Paid plans
If you also sell outside Europe, you can show the line to visitors from the EU and EEA only.

See what each plan includes

The “Wording & languages” tab: a fallback language, a choice between the standard wording and custom text, a “Who sees it” setting and a preview of the line under a product’s price.

Questions about the 30-day lowest price line

What exactly does the price line say?

It reads “Lowest price in the 30 days before this discount:” followed by the figure, in the language of the shop page. It sits under the price while the product is discounted and disappears when the sale ends.

Is the 30-day lowest price worked out per product or per variant?

Per variant. Each size, colour or other option has its own price history, so two variants of the same product can show different figures.

Why is there no line on a product that was already on sale when I installed the app?

The app records prices from the moment it is installed, so it has no record of what that product cost before the sale. It shows nothing rather than a figure it has no record for. Import the product’s earlier prices from a CSV file and the line appears.

What does the “was” price check tell me?

It flags discounts whose crossed-out price is higher than anything on record for the 30 days before the discount. It is a prompt to look at that discount. What you do about it is your decision; the app does not change your prices.

Can I change the wording of the line?

On paid plans, yes. The standard wording is recommended and is translated for every shopper automatically. See pricing for what each plan includes.

Does the app apply national exceptions to the 30-day rule?

The directive lets Member States set different rules for goods liable to deteriorate or expire rapidly, for goods on the market for less than 30 days and for progressively increasing reductions. The app shows one figure: the lowest price on record for the 30 days before the discount. Check which rules apply in the countries you sell to; the guide to the 30-day lowest price rule is a starting point.

StoreCompliant is a compliance aid, not legal advice. All questions and answers

Put the three EU notices on your storefront

Free for up to 50 products. Set-up takes a few minutes and needs no code.

Shopify is in development and WooCommerce is planned. See all platforms.