Max IT solutionsShopify App Store

EU Lowest-Price Rule on Shopify: Show Reductions Correctly

Updated , first published · 6 min read

If you sell to customers in the European Economic Area and announce a price reduction, the EU Price Indication Directive says you must show the lowest price you charged for that product in the previous 30 days or more. On Shopify the simplest way to do it is to enter that lowest price in Compare-at price and the new price in Price. This page summarizes Shopify’s guidance and is not legal advice. Shopify itself tells merchants to check national rules and to consult a lawyer with questions.

Everything below is from Shopify’s Help Center page on the European Price Indication Directive, read on October 23, 2026, unless marked as our own suggestion.

What the rule says

The rule is Article 6a of Directive 98/6/EC, added by Directive 2019/2161, the EU’s consumer-protection modernization package. It is meant to stop three things: fake price reductions, a reference price inflated just before a discount, and misleading claims about how big a discount is. The prior lowest price can be shown on a price tag in a store or on the product listing page online, and it includes any earlier reduced price that was announced as a promotion within the period.

Each EEA country writes the directive into its own law, and the national versions differ. Shopify notes that national law might require a period longer than 30 days. Shopify points to the EU’s Consumer Law Database for the national texts, and that is where to check every country you sell to in volume.

What counts as announcing a reduction

Shopify gives these examples of price reduction announcements:

  • a percentage off a previous price, such as 20% off;
  • a fixed amount off, such as 20 EUR off;
  • a lower price shown with a higher previous one, such as “now 50 EUR, was 100 EUR”;
  • a starting price shown with a higher future price, such as “now 50 EUR, will be 100 EUR”;
  • any technique that gives the impression of a reduction: a flash sale, sales price, special offer, Black Friday deal, Cyber Monday special, or “buy today without paying VAT”;
  • a store-wide reduction, such as “20% off everything”.

The directive might not apply where there is no announcement. Shopify lists price changes without a promotional statement (a change due to costs), personalized reductions (a loyalty discount or an individual code), comparisons with other prices (an MSRP or a competitor), general claims such as “best price”, combined offers such as “buy one, get two free” or “30% off when you buy three”, and cash-back offers paid by a manufacturer or distributor who doesn’t sell the product.

National rules can add exceptions of their own, for example for products that spoil or expire quickly, products on the market for less than 30 days, and a discount that grows without a break within one campaign. Shopify’s example of the last one is a Christmas campaign that starts at 10% off in early December, goes to 20% in mid-December and to 30% just before Christmas.

How to comply in Shopify

Step by step for a single reduction

  1. Before the sale, write down the lowest price each product had in the last 30 days, including any promotional price. Shopify has no field that remembers it, so this record is yours to keep. We would keep it in a spreadsheet next to the sale plan, with the date of each price.
  2. In Products, open the product, click Compare at in the Price section, enter that lowest price in Compare-at price and the new price in Price, then click Save. The compare-at value must be higher than the price for the sale to show.
  3. Check every variant. Products with variants carry a compare-at price per variant, and a variant left at its old compare-at price shows the wrong reference.
  4. After the sale, clear the compare-at prices or set them back, and keep the record. The sale price itself becomes the lowest price for the next 30 days.

If your primary market is in the EEA, the compare-at price is always displayed.

Selling into the EEA from outside it

If your primary market is elsewhere and you sell to the EEA with international sales tools such as Markets or Global-e, Shopify’s page contradicts itself on the default: one section says compare-at prices for those customers are displayed by default, another says hidden. Check the setting in each market that contains an EEA country: go to Markets, open the market, click Compare-at price under More Settings, make sure Hide compare-at is not selected, and save. Compare-at prices for specific products and countries can also be uploaded by CSV.

Metafields and theme text

Shopify suggests metafields to show the lowest previous price, or other price information such as the MSRP or a base price, on parts of your store. A product metafield shown under the price, labeled “Lowest price in the last 30 days”, lets you keep the compare-at field for the regular price. That is our suggestion for stores that run frequent promotions; it needs a custom metafield definition and a theme block to display it.

When you reduce more than once in 30 days

You can either apply the new discount to the lowest price of the last 30 days, or apply it to the regular price and disclose the lower price as well. Applying it to the regular price without disclosing the lower price isn’t allowed.

Shopify’s example, with every number filled in:

Amount
Regular selling price 150 EUR
Promotional price in the last 30 days 100 EUR
Option A: 50% off the 100 EUR price 50 EUR, shown against 100 EUR as the reference price, with no further disclosure
Option B: 50% off the 150 EUR price 75 EUR, with all four figures disclosed

For option B, the product page must state the discount (50%), the regular selling price (150 EUR), the previous lower price (100 EUR) and the discounted price (75 EUR). Shopify’s wording: “get 50% off 75 EUR instead of 150 EUR, our regular selling price. Our lowest promotional price in the past 30 days was 100 EUR.” The admin has only the price and compare-at fields, so Shopify suggests editing the theme to show both the regular price and the lowest prior price on each discounted product page, explained clearly enough not to confuse anyone.

MSRP, competitor prices and loyalty offers

A comparison with an MSRP or a competitor’s price falls outside the directive but under the Unfair Commercial Practices Directive (2005/29/EC), which forbids misleading customers about a price, how it is calculated or a price advantage. If customers would read the comparison as a reduction of your own price, it can breach both directives. If you use the compare-at field for an external price, label it clearly.

Loyalty-program discounts and personalized offers are outside the directive. Shopify’s examples are an individual code for future use after a purchase, an individual birthday discount, and a reduction at the moment of purchase that wasn’t announced beforehand. A code that any customer can use is a different case, even if the email calls it “a special discount just for you”; Shopify says the directive likely applies to it.

For the product-page mechanics of a sale, read how to put a product on sale; for the wider legal picture, pricing and consumer law; for big sale dates, the holiday season checklist. More pricing guides are in the pricing and sales hub.

FAQ

Does the 30-day rule apply to my Shopify store? The rule applies when you announce a price reduction to customers in the EEA, whether your store is based there or sells into it with tools such as Markets. National laws may set a longer period.

Does “Black Friday deal” count as a price reduction announcement? Shopify lists Black Friday deals, flash sales and special offers among the techniques that create the impression of a price reduction, so the rule likely applies.

What price goes in the compare-at field? Enter the lowest price you charged in the previous 30 days or more, including earlier promotional prices.

Do individual discount codes fall under the rule? An individual code, such as a birthday discount for one customer, is outside the directive. A code any customer can use likely falls under it, however personal the message sounds.