SafeSale · Blog

Countdown timers and was/now prices after Emma Sleep

What the CMA's 2026 Emma Sleep case settled on countdown timers, urgency and 'was' prices, the EU 30-day rule, and how to run a Shopify sale that holds up.

For four years the mattress company Emma Sleep and the UK's Competition and Markets Authority argued about three things most online stores do without thinking: a countdown timer on the product page, a line saying demand was high, and a struck-through price next to the one you pay. In 2026 the argument finished, in two parts, and the results are the most concrete guidance a small Shopify merchant has had on what a sale is allowed to look like.

This post goes through what was actually decided, what the EU already requires on the same subjects, and then gets practical: how to run a sale on Shopify so that the timer, the badge and the “was” price are all telling the truth. It uses SafeSale for the mechanics because that is the app we build, but the rules apply to any sale, however you set it up.

Part one: the settlement, 22 May 2026

The CMA opened its investigation in November 2022 and, when Emma would not give undertakings, took the company to the High Court in October 2024. On 22 May 2026 the court confirmed a settlement in which Emma Sleep admitted it had broken consumer law by using misleading countdown timers, and false “high demand” messages and “discount” claims that created false pressure to buy. The undertakings it gave are binding and enforceable by the court, and they are specific. Emma must not create a false impression that people need to act quickly, and it may not run “limited time” sales or discounts where substantially similar deals continue after the deadline passes.

That last clause is the one to read twice. The CMA's objection was never to the existence of a clock. It was to a clock that reached zero and then, as the CMA's announcement put it, a substantially similar deal appeared. A timer is a promise that something changes when it ends. If nothing does, the promise was false, and the fact that the numbers were counting down accurately is no defence.

Part two: the judgment, 30 July 2026

The settlement left one issue for trial: reference pricing, the “was £1,000, now £500” format, or the same thing with a struck-through figure. Emma had accepted what the court called duration requirements, meaning it would not use a reference price unless the product had actually been offered at that price for a certain length of time. The CMA wanted more: a fixed volume requirement, in essence that for every two units sold at the lower price, one had to have been sold at the higher one.

On 30 July 2026 the High Court declined to impose that ratio. The court found Emma had infringed the law on the points it had already admitted, but made no further finding, and said that whether a was/now price misleads depends on the individual circumstances rather than on a prescribed formula. The CMA and Emma were asked to agree the terms of a further order between them.

For a merchant this cuts both ways. There is no arithmetic rule you can hide behind in the UK. But there is also no arithmetic trap. The question a regulator or a court will ask is the plain one: did the product genuinely sell at the “was” price, for long enough and in a way that makes the comparison honest? A compare-at price that was typed in the week before Black Friday and never charged to anyone is the clearest way to fail that test, and it is also the single most common way Shopify sales are set up.

The EU already has a number: 30 days

If you sell into the EU, the discretion the UK court preserved does not exist. Article 6a of the Price Indication Directive, added by the Omnibus Directive and in force since May 2022, requires that any announcement of a price reduction indicate the prior price, and defines the prior price as the lowest price the trader applied during a period of not less than 30 days before the reduction. National laws implement it with small variations, and some member states allow an exception for progressive reductions within one continuous campaign, but the baseline is fixed: your “was” price is the lowest price of the last 30 days, not the highest, and not the recommended retail price.

The practical consequence is that back-to-back sales eat their own reference price. Run 20% off for two weeks, take a week off, then run 30% off, and in the EU the second sale's prior price is the first sale's discounted price, because that was the lowest price in the last 30 days. A struck-through figure showing the full price would be wrong. Merchants who treat the compare-at field as a marketing knob rather than a record of what was charged run into this constantly, usually without knowing it.

Why the DMCC Act changes the stakes

The Emma case was fought under the CMA's old powers, which required a court order. Since April 2025 the Digital Markets, Competition and Consumers Act lets the CMA decide for itself that a business has infringed consumer law and impose fines directly, up to 10% of global turnover for the most serious cases. The CMA has said publicly that urgency claims, fake scarcity and misleading discounts are among its priorities. Emma Sleep is a large company that got a four-year process. A small store is more likely to get a letter and a deadline, and the practices the letter describes will be the ones the undertakings list.

What an honest sale looks like on Shopify

Take the three things the CMA objected to and map them onto a Shopify store.

The timer

A countdown is honest when it is bound to a scheduled end that will actually happen, and when what comes after is different. In SafeSale a sale has a start and an end, and the Sale countdown block in the theme editor does not have its own clock. It reads the end time of the live sale from a metafield SafeSale writes on the product, or the shop-wide one if you allow the fallback, and renders nothing unless a sale with an end exists. When the end passes, the storefront script hides the block on its own, even if the metafield has not been cleared yet. You cannot configure it to count down to a sale that is not scheduled, which sounds like a limitation and is in fact the whole point. Our earlier post on scheduling a sale to end at midnight in the right time zone covers the part where the end time itself has to be correct.

The part no app can do for you is the week after. If you schedule a “48 hours only” sale and then schedule an identical one starting Monday, the timer was accurate and the claim was false. Leave a real gap, or change the deal, or do not call it limited.

The scarcity line

“Selling fast” and “high demand” messages are not something SafeSale produces, and after Emma Sleep we would suggest being careful with any app that generates them from a formula rather than from your inventory. If a badge says only three are left, three had better be the number in your Shopify inventory at that location. A number that is invented, or reset nightly, is exactly the false pressure the undertakings describe.

The “was” price

Shopify shows a struck-through price whenever a variant's compare-at price is higher than its price. Nothing in the platform checks where that compare-at came from. Two setups pass the honesty test and one fails.

  • Automatic discount, prices untouched. SafeSale in its Functions mode creates an automatic discount that applies at checkout. The stored price never changes, so there is no compare-at to get wrong; the countdown says “-20% at checkout” and the shopper sees the full price and the deduction. This is the simplest way to be compliant, at the cost of no strike-through on the product page. We compare the two approaches in automatic discount vs compare-at rewrite.
  • Price rewrite from a snapshot. SafeSale in price-rewrite mode takes an immutable snapshot of every variant's price and compare-at before it writes anything. The new compare-at is the snapshotted price: the number shoppers were paying the day before, not a figure typed into the sale editor. At the end the snapshot is restored exactly. The sale editor also warns you when a variant already carries a compare-at that will be replaced, and separately when that existing compare-at is lower than the price, which usually means a previous sale never got cleaned up.
  • Typed compare-at. Bulk-editing compare-at to a round number, or to the RRP, and then running a sale against it. This is what fails, in the EU on the 30-day rule and in the UK on the plain question of whether anyone paid it.

The snapshot does one more thing that matters here: it is a record. SafeSale keeps an append-only change log of every variant write, with the price and compare-at before and after, and offers the snapshot as a CSV. If someone ever asks what the price of a product was on a given date, and under the DMCC regime someone might, the answer is in the log rather than in a staff member's memory.

A pre-flight for the next sale

  1. Look at the last 30 days of prices for everything in the sale. If a variant was already discounted in that window, its EU prior price is that discounted figure. In the UK, ask whether the “was” price was genuinely charged for a meaningful period.
  2. In the SafeSale preview, read the compare-at warnings. A variant flagged as having an existing compare-at lower than its price is carrying a stale sale; fix the underlying price before you layer a new one on top.
  3. Set a real end time and decide now what happens after it. If the answer is “the same sale again”, drop the timer and the word “limited”.
  4. Remove or verify any scarcity messaging. If it is not reading a live inventory number, it is a claim you are making up.
  5. After the sale ends, confirm the revert ran and the compare-at fields are back to their snapshot values. A strike-through that lingers for weeks is both a pricing error and, in the EU, the start of the next sale's 30-day problem.

None of this makes sales less effective. Emma Sleep's mattresses did not stop selling when the fake clocks came down. What changes is that the pressure a sale creates has to come from a real deadline and a real saving, which is the kind of pressure a customer does not resent afterwards. SafeSale is built so that the timer, the badge and the struck-through price all come from the same scheduled sale and the same snapshot, which is the easiest way we know to keep them honest.

Frequently asked questions

Are countdown timers on a Shopify store illegal in the UK?

No. A timer that counts down to a deadline that is real, after which the offer genuinely stops or changes, is fine. What Emma Sleep admitted to in May 2026 was timers and 'high demand' messages that suggested a deadline or scarcity that did not exist, and 'limited time' sales followed by substantially similar deals. The problem is the false impression, not the clock.

What counts as a valid 'was' price on Shopify?

In the EU, the Price Indication Directive says the reference price must be the lowest price you charged in the previous 30 days. In the UK there is no fixed formula: the July 2026 High Court judgment in the Emma Sleep case declined to impose the CMA's proposed 1:2 sales ratio and said it depends on the circumstances, but a 'was' price you never actually sold at for a meaningful period is the clearest way to fail. In Shopify terms, the compare-at price should be the price the product really carried before the sale.

Does SafeSale invent a compare-at price for the sale?

No. In price-rewrite mode SafeSale snapshots the live price and compare-at of every variant before it writes anything, and the compare-at it writes during the sale is that snapshotted price, the one shoppers were paying the day before. If a variant already had a compare-at that would be replaced, the preview warns you before you publish. At the end of the sale the snapshot is restored exactly.

How does SafeSale's countdown know when the sale really ends?

The countdown block reads the sale's end time from a metafield SafeSale writes on the product (or shop-wide) while a sale is live. It shows nothing unless a sale with an end time exists, and the storefront script hides it the moment that time passes, even if the metafield has not been cleared yet. There is no setting to show a timer for a sale that does not exist.

Do the Emma Sleep undertakings apply to my store?

Directly, no; they bind Emma Sleep. But they are the CMA's clearest statement of what it considers misleading urgency, and since April 2025 the CMA can fine businesses directly under the DMCC Act rather than going to court. Treat the case as a description of what not to do: fake deadlines, fake scarcity, and discounts measured against prices nobody paid.