E-commerce Pricing Compliance: FTC & EU Rules Guide

Compliance guides explain the rules. Few show you how to build the internal process that keeps you clean when a customer or regulator demands proof. The gap between knowing the rules and having a verifiable paper trail is where small stores get burned — not by bad intentions, but by missing records.

The EU Omnibus Directive took effect in May 2022 across all 27 EU member states. The FTC updated its deceptive pricing guidance that same year. Many Shopify stores still run promotions as if these rules don’t exist.

What Are the Most Common Pitfalls of Promotional Pricing in E-Commerce?

The most expensive pitfall in promotional pricing is running a real discount with no documentation to prove it. Stores get flagged — by customers, platforms, or regulators — because they cannot demonstrate the original price was legitimate.

Here is what the average Shopify store does. They set a "Compare At" price, run a sale, and call it a discount. That compare at price might have been accurate six months ago, or it might have been entered last Tuesday. There is no log, no timestamp, no internal policy. When a customer publicly challenges it, the store has nothing to show.

The concrete costs are not hypothetical. Amazon suspends listings flagged for deceptive reference pricing — sometimes with 48 hours’ notice and no appeal window. Meta and Google both pull ad campaigns containing misleading discount claims. The FTC’s Guides Against Deceptive Pricing have been enforced since 1964 and cover exactly this scenario: reference prices that do not reflect genuine, sustained prior pricing.

What most stores do wrong: They treat the "Compare At" field as a marketing lever. They set it to whatever creates the largest-looking discount, change it as needed, and never log the change.

What it costs: When challenged, they have no defense. The absence of records is not neutral — it is evidence of a problem.

The 20% move that actually works: Treat your "Compare At" field as a legal document. Every value in that field needs a date, a history, and a minimum active period before it can anchor a promotion.

A Shopify apparel store doing roughly $180k/year ran a "40% Off Summer" campaign in mid-2024. A competitor filed a BBB complaint flagging three SKUs for deceptive pricing. The store’s only response was that the original prices had "always been that way." They had no Shopify price history exports, no internal log, and no pricing policy on file. They pulled the compare at prices from all flagged SKUs mid-campaign. The resulting delay cost an estimated $4,200 in revenue — not from the complaint itself, but from the reactive 11-day pause while they regrouped.

A $600k/year outdoor gear store took a different approach after a similar scare. They built a Google Sheet with four columns: SKU, original price, date price was set, and date sale began. Setup took two hours. They have had zero pricing complaints in the 14 months since implementing it.

What Are the Actual Legal Requirements for E-Commerce Pricing Transparency?

Two frameworks govern most English-language e-commerce stores: the FTC’s Guides Against Deceptive Pricing (US) and the EU Omnibus Directive (EU). They are different rules, and they are not fully compatible. If you sell into both markets, you need to comply with both simultaneously — and the stricter rule usually wins.

FTC rules (US): A reference price — the "was" in "was/now" — must reflect a genuine former price at which you actually sold the product. The FTC does not mandate a specific number of days. But if that original price was active for a short period or was never actually transacted at, it is grounds for a deceptive advertising complaint. The enforcement standard is whether a reasonable consumer would be misled.

EU Omnibus Directive: This law is more precise. Any announced price reduction must reference the lowest price the product sold at during the 30 consecutive days before the promotion. That’s the floor — the lowest price, full stop. The 30-day window is mandatory with no exceptions for new launches or flash clearance, unless specifically disclosed. "Sale on a new product" is not a legal carve-out.

These two rules create a direct tension. Under FTC standards, you can legitimately reference a higher prior price if it was genuinely transacted. Under EU Omnibus, you must reference the 30-day prior low — even if that undercuts your discount story. Running a single global campaign without separate compliance paths means at least one of your markets is almost certainly misconfigured.

A UK-based health supplement brand doing €1.2M in European revenue ran a Black Friday "was €49, now €29" campaign in late 2023. The €49 price was accurate — but it had only been active for 22 days before the sale launched. Under EU Omnibus, the reference price required 30 days. Three customers filed complaints with national consumer authorities in Germany and France. The brand issued a mid-campaign correction. That correction cost them an estimated 8% of their Black Friday EU revenue — not from fines, but from the campaign interruption and the resulting loss of ad momentum during their peak window.

How Do I Find and Fix My Highest-Risk Pricing Exposures Today?

The fastest way to identify your legal exposure is to check your "Compare At Price" field against your actual price history. Every SKU with a compare at price that was not active for at least 30 consecutive days before a sale is a compliance risk. You can find every one of them in under two hours.

Go to your Shopify Admin. Navigate to Products → Export → Export CSV, selecting all products. Open the CSV and filter for any row where the "Variant Compare At Price" column has a value. That filtered list is your risk inventory.

Now verify each one. For each SKU on that list, check when the compare at price was last set. In Shopify, open the product and click "View timeline" — this shows edit history including price changes. Alternatively, use a third-party logging tool like Prisync or the Rewind backup app to pull historical price data. If you cannot confirm the compare at price was unchanged for 30 consecutive days before any sale went live, remove it now. Do not replace it until you have 30 days of documented history from today.

This one check covers your highest EU Omnibus exposure. It removes the FTC’s primary target — compare at prices with no verifiable history. And it creates a clean baseline for building an ongoing pricing log.

For ongoing compliance, build a simple alert: any price change exceeding 20% triggers a manual review before the change goes live. In Shopify, this is a native automation using Shopify Flow. Set the trigger to "Product variant price updated" with a condition that flags changes above your threshold. The rule is simple: no SKU enters a promotional campaign until its reference price has 30 days of documented, unchanged history after its most recent edit.

What Should You Actually Expect After Running This Audit?

This audit does not eliminate every pricing compliance risk you have. It eliminates the most urgent one: reference pricing with no documented history. That single category covers the majority of FTC complaints and EU Omnibus violations for stores under $10M in revenue.

Week one: You will find SKUs where the compare at price cannot be verified. Some will be products you have not touched in months. Remove those compare at prices immediately. Your visible discount depth on those products drops temporarily — accept that trade-off. You cannot defend a discount you cannot document.

After 30 days: Every SKU currently in a sale has a clean, logged pricing history. Your next promotion launches with verifiable reference prices. The EU Omnibus 30-day window has been met for any price you set today and leave unchanged.

After one quarter: The 20% alert in Shopify Flow intercepts any new pricing error before it enters a campaign. The audit becomes self-maintaining. You add a five-minute check to your pre-promotion launch process — compare at price, date set, days active — and that check becomes routine.

The realistic legal position: This process does not make you immune to complaints. It creates the documentation trail that determines whether a complaint goes anywhere. Most FTC enforcement actions against small retailers start with a consumer complaint and no countervailing records from the store. Your records are your primary defense. A dated spreadsheet and a Shopify export showing 30+ days of price history before a sale is a stronger position than any legal consultation that does not also produce a paper trail.


This week, run the CSV export. It takes 15 minutes. Any "Compare At" price you cannot verify against 30 days of documented history comes down before your next promotion goes live. That single check covers more compliance surface area than anything else you can do today. Build the log, set the alert, then run your promotions as aggressively as your margins support — with the records to back every claim you make.

UTKARSHDEEP
UTKARSHDEEP
Articles: 21