Show the lowest price of the last 30 days on every discounted product

OmniBuzz keeps a price history for each variant and market, works out the prior price the EU Omnibus rules ask for, and prints it next to your sale price on the product page.

A price-display tool. Not legal advice.

Sample values. The wording is the built-in English text and can be edited per language.

The rule fits in one example

Article 6a of the Price Indication Directive says a price reduction must show the prior price: the lowest price you applied in the 30 days before the reduction. Not the last price. Not the crossed-out price.

  • A percentage has to be calculated from the prior price (CJEU, C-330/23, 26 September 2024).
  • Raising a price shortly before a sale does not change the reference. The lowest price still wins.
  • A sale price that is not below the prior price is not a reduction, and OmniBuzz warns you about it.
How the prior price is calculated
A jacket sold at 100, raised to 160, then put on sale at 50
€100 €160 Prior price €100 €50 30 days before the sale

Reduction on 5 November

-50% from the prior price (€100)

-68% if measured from the crossed-out €160

Worked example from the app's test cases.

How it works

OmniBuzz reads prices. It never changes them.

  1. Install and run the first check

    OmniBuzz reads the prices of every enabled market and starts a history for each variant. You can start up to 2 checks yourself every 24 hours.

  2. Prices are read every night

    Shortly after midnight in your shop's time zone, OmniBuzz reads prices again and recomputes each prior price. A price you change during the day is picked up that night, and until then the storefront hides a label whose price no longer matches.

  3. The label appears on the product page

    Add the Omnibus price block to your product template once. It shows the lowest price and, if you keep it on, the percentage, and it follows the shopper's variant and market.

What is in the app

A history per variant and per market

Each variant in each market keeps its own price history, in the currency the shopper sees. Days are counted in your shop's time zone, and a price that applied for any part of a day counts for that day. Price changes older than 180 days (730 days on Plus) are deleted, except the last known price of each variant and market.

Percentages from the prior price

The discount is calculated from the prior price and rounded down, never from the crossed-out price. When the sale price is not below the prior price, the page shows the prior price alone.

A theme block, no code

An app block for themes that support app blocks on the product page. Four settings: show the percentage, text size, text color and alignment. It updates when the shopper switches variant.

Ten languages, your wording

Built-in text in English, German, French, Italian, Spanish, Dutch, Polish, Portuguese (Portugal), Swedish and Czech. Edit the label and the badge for each language and check them in a preview.

A switch per market

Labels are on by default for markets with an EU or EEA country and off for the rest. For markets in another currency, set an exchange-rate tolerance from 0% to 5%. The default is 2%.

Warnings that name the problem

The Home page lists variants whose sale price is not below the prior price, variants priced above it, and how many variants have less than 30 days of history.

Pricing

Four plans, billed by Shopify. Start on Free and move up when you need more products or markets.

Plan Price Products Markets
Free $0 per month 50 products 1 market
Business $11.99 per month 5-day free trial 1,000 products 3 markets
Pro $23.99 per month 5-day free trial 10,000 products All markets
Plus $79.99 per month 5-day free trial Unlimited products All markets

Prices are in US dollars per month and charged on your Shopify invoice. Paid plans start with a 5-day free trial.

Go over a product limit by up to 25% and everything stays covered. Beyond that, a 15-day grace period starts before labels are limited.

Price history is kept for 180 days on Free, Business and Pro, and for 730 days (24 months) on Plus. Plus can also download the price history as a CSV file.

How limits work

Questions merchants ask

Does OmniBuzz make my store compliant?

No. OmniBuzz calculates the prior price the way Article 6a describes it and shows it, and it warns about common problems. Whether a promotion is lawful also depends on national rules and on how you run it. It is not legal advice, so talk to a lawyer about your case.

Which countries does it cover?

Article 6a applies in the 27 EU member states and, through the EEA Agreement, in Iceland, Liechtenstein and Norway. It does not apply in Switzerland or the United Kingdom. Labels are on by default only for markets that include at least one of those countries, and you can switch any market on or off.

Does it change my prices?

No. OmniBuzz reads prices and writes its own metafield on your variants for the theme block to use. The crossed-out price on the page is your theme's compare-at price, which the app cannot change. It warns you when the sale price is not below the prior price and when a price is above the prior price. It does not check your compare-at price, so compare it with the prior price shown.

How are the 30 days counted?

By calendar day in your shop's time zone, ending the day before the reduction starts. The lowest price that applied on each day counts, including earlier promotional prices. If the price drops again inside the same sale, that drop counts as a new announcement.

What happens right after I install?

OmniBuzz knows the prices it has seen since install, not what you charged before. Until 30 days pass it uses the history it has, shows the label, and counts the variant as having partial history on the Home page. A product already on sale at install has no earlier price on record, so it shows no label for that sale.

Will it work with my theme?

The label is an app block, so the theme needs to support app blocks on the product page. Online Store 2.0 themes do. You add the block in the theme editor. A theme that predates app blocks cannot show it.

How does it handle several currencies?

Each market has its own history and prior price in its own currency. Shopify converts prices with a daily exchange rate, so OmniBuzz accepts a small drift, 2% by default, before it hides a label. You can change that tolerance from 0% to 5%.

What happens to my data if I uninstall?

Uninstalling removes the app's sessions and stops updates. Shopify sends a shop redact request about 48 hours later, and OmniBuzz then deletes the shop's data. The app stores no personal data about your customers.

Run your first price check

The Free plan covers 50 products and one market. Paid plans start with a 5-day free trial.