EU Omnibus Compliance Badge

Automatically display the legally required 30-day lowest price on every product page, satisfying the EU Omnibus Directive without any manual work.

What the EU Omnibus Directive requires

The EU Omnibus Directive (Directive 2019/2161/EU), in force across the EU since May 2022, requires that whenever a merchant advertises a price reduction, they must also display the lowest price charged for that product in the 30 days prior to the promotion. This is sometimes called the "prior price" or "reference price" requirement.

In plain terms: if a product's normal price is €100 and you put it on sale for €70, you must show a reference line like "Was €85 (lowest price in the last 30 days)" — not just the current sale price. If the product was actually €75 for most of the past month, you cannot use €100 as the reference.

The directive covers:

  • All price reductions announced to consumers (sales, flash deals, seasonal promotions)
  • Both online and offline retail
  • B2C transactions — if you sell to businesses only, the directive may not apply
Legal disclaimer: Oriens provides a technical tool to help satisfy the Omnibus price display requirement. This documentation is not legal advice. Consult a qualified legal professional to confirm your obligations in each market you sell to. For the full legal background, see our EU Omnibus Guide.

Potential fines for non-compliance

Enforcement is handled at the national level, meaning penalties vary by country. However, the directive sets a minimum: member states must introduce fines of up to at least 4% of annual turnover, or fixed maximum penalties of at least €2 million where turnover data isn't available. In practice, several countries have set their local caps higher:

  • Germany: Fines issued by the Wettbewerbszentrale (competitive association) can reach €250,000 per violation, with repeat infringements treated as separate violations.
  • France: The DGCCRF can issue fines up to €15,000 per violation for individuals and up to €75,000 for legal entities.
  • Poland: The UOKiK has issued fines exceeding €50,000 in cases involving misleading price history.
  • Netherlands, Belgium, Sweden: Active enforcement campaigns have begun, with formal warnings and administrative fines issued to e-commerce merchants.

Beyond fines, non-compliant advertising can be challenged by competitor associations and result in injunctions requiring you to stop promotions mid-campaign.

What the Oriens badge displays

The badge queries Oriens' price history database for the specific product variant being viewed and renders a small, unobtrusive label directly on the product page. It shows:

  • The lowest price recorded in the past 30 days for that variant
  • The date range the history covers
  • A brief descriptive label (customizable — default: "Lowest price in the last 30 days")

The badge is only displayed when there is at least 30 days of recorded history. Before that threshold is reached, the badge either shows a pending message or is hidden entirely — your choice in settings.

Sale prices set via Shopify's compare-at price are tracked separately and do not contaminate the 30-day baseline unless the compare-at price is the price actually charged.

Installation — Online Store 2.0 themes (recommended)

This method works with all themes built on Shopify's Online Store 2.0 framework, including Dawn, Sense, Refresh, Crave, Craft, and most third-party themes released since late 2021.

  1. Open the Oriens app from your Shopify admin.
  2. Go to Compliance Badge in the left sidebar.
  3. Click Add to theme. Shopify's Theme Editor will open with your active theme loaded.
  4. In the Theme Editor, use the page-type selector at the top to navigate to a Products › Default product template (or whichever product template your store uses).
  5. In the left-hand section list, find the Product information section (sometimes called "Product details"). Click on it to expand its blocks.
  6. Click Add block at the bottom of the block list and select Oriens Compliance Badge from the Apps section.
  7. Drag the block to sit directly below your Price block.
  8. Click Save in the top-right corner.

The badge is now live on all product pages using that template.

Installation — Classic themes (manual Liquid snippet)

If your theme was built before Shopify's OS 2.0 framework (themes like Debut, Brooklyn, Simple, Boundless, or older custom themes), Theme App Extensions may not be available. In that case you'll add the badge by pasting a Liquid snippet directly into your product template.

  1. In the Oriens app, go to Compliance Badge › Install manually. Copy the Liquid snippet shown there — it's specific to your shop and includes your Oriens app proxy URL.
  2. In your Shopify admin, go to Online Store › Themes, click Actions › Edit code on your active theme.
  3. In the file tree on the left, open Sections › product-template.liquid (the exact filename varies by theme — look for the file that contains product.price or similar).
  4. Find the line in the template that renders the product price. It typically looks like {% raw %}{{ product.price | money }}{% endraw %} or wraps a price block.
  5. Paste the Oriens snippet immediately after the closing tag of that price element.
  6. Click Save.
Not sure which file to edit? The Liquid snippet from Oriens includes a comment at the top explaining where to paste it. If you're uncomfortable editing theme code, contact your theme developer or reach out to Oriens support — we can do it for you at no charge.

Customization options

All customization is done in the Theme Editor (OS 2.0) or via the Oriens dashboard settings panel (classic themes).

OptionDescriptionDefault
Label textThe text shown before the price. Supports {days} as a dynamic placeholder."Lowest price in the last 30 days"
PositionAbove or below the price element.Below price
Show on sale onlyWhen enabled, the badge only renders if the product currently has a compare-at price set (i.e., it's on sale).Off (always show)
Text colorHex color or CSS variable.Inherits from theme
Background colorOptional pill/chip background. Set to transparent to disable.Transparent
Font sizeRelative to base font size (0.75rem – 1rem).0.875rem
Border radiusFor the badge chip, in px.4px

Verification checklist

After installation, confirm each of the following:

  • Visit a product page on your live storefront (not the Theme Editor preview) and confirm the Oriens badge text appears below the price.
  • Click View source in your browser and search for oriens-badge — you should find the rendered HTML element confirming the badge is not being hidden by CSS.
  • In the Oriens dashboard, open any product and confirm its compliance status shows a green checkmark (or a pending clock if under 30 days — this is expected and will resolve automatically).

Troubleshooting: badge not showing

1. Wrong product template

Shopify allows multiple product templates (e.g., a default template and a separate "pre-order" template). If the badge block was added only to the default template but some products use a different template, those products won't show the badge. In the Theme Editor, check which template each product is assigned to, and add the Oriens block to every product template you use.

2. Conflicting theme CSS or JavaScript

Some themes — particularly heavily customised ones — include CSS rules that hide or override elements from app blocks. Check your browser's developer tools (Inspect Element) to see if the badge HTML is present but hidden via display: none or visibility: hidden. If so, add a CSS override in your theme's custom CSS:

.oriens-badge { display: block !important; visibility: visible !important; }

3. Browser or CDN cache

After installing the badge, it can take a few minutes for the Theme Editor changes to propagate and for any CDN cache in front of your store to clear. Try visiting the product page in an incognito window, or append a cache-busting query string like ?nocache=1 to the URL to bypass the cache. If the badge appears in incognito but not normally, your CDN simply needs a few more minutes to invalidate.

Further reading

For the full legal background on the EU Omnibus Directive — including how it applies to specific countries, what counts as a "price reduction", and real examples of enforcement actions — see our in-depth guide:

Read the EU Omnibus Guide →