Dark patterns in your shop:
five you can measure
A timer that starts over on reload, a pre-ticked extra in the checkout, “only 2 left” without real stock: patterns that push towards a quick purchase can be recognised from the outside.
What we measure and where it is regulated
Whether a pattern is unfair in a given case is a legal question. Whether it is there is a measurement, and every fix is simpler than the question.
| What | EU reference |
|---|---|
| Countdown timer that restarts A countdown that is back at full time after a reload never ends. Annex I lists falsely stating that an offer is available only for a very limited time among the practices that are unfair in all circumstances. | Annex I No. 7 Directive 2005/29/EC |
| Scarcity without evidence “Only 2 left” or “15 people are looking at this” without coming from real stock data. Only the retailer knows whether the number is true; the scan sees that it cannot be verified. | Annex I No. 7 Directive 2005/29/EC |
| Pre-ticked paid extras Insurance, gift wrapping or express shipping already ticked. Extra payments need express consent; defaults the customer has to untick are not enough. | Art. 22 Directive 2011/83/EU |
| Costs that only appear in the checkout Shipping, payment fee or service charge show up only at the last step. The total price including shipping belongs before the order button, and shipping costs are already part of the offer. | Art. 6(1)(e) and Art. 8(2) Directive 2011/83/EU |
| Shaming decline text “No thanks, I prefer paying full price” in the newsletter popup. A neutral text costs nothing and takes the pressure out of the popup. | no specific EU rule for shops |
Step by step
Timer
Remove it, or tie it to a real end date that is the same for every visitor and keeps running on reload. In Shopify and WooCommerce the timer almost always comes from an app or plugin; set the fixed date there or remove the app.
Stock display
Instead of an “urgency” app, use the shop system's own stock display: Shopify shows stock through the theme, WooCommerce under WooCommerce, Settings, Products, Inventory. Remove visitor counters without real data.
Extras in the checkout
Leave every paid checkbox unticked by default. In insurance or climate offset apps, look in the app settings for “preselected” or “default on”.
Shipping costs
On the product page a “plus shipping” note with a link to the shipping costs, in the cart the estimated shipping costs. Avoid payment fees or name them up front as well.
Popup texts
“No, thanks” instead of a sentence that makes the customer look bad. In the popup tool that is a text field.
Questions
Are countdown timers banned outright?
No. A countdown to the real end of an offer is information. The problem is the false claim, such as a timer that never runs out.
Does the Digital Services Act apply to my shop?
The ban on manipulative design in Art. 25 of the Digital Services Act applies to online platforms such as marketplaces, not to a retailer's own shop. Shops are covered by the directives on unfair commercial practices and consumer rights.
How does the scan know whether “only 2 left” is true?
It does not. It reports the claim as unverifiable so you can check whether it comes from real stock data.
What a scan shows
It opens the home page, product pages and the checkout, reloads a page with a timer and compares, reads checkboxes and prices in the checkout and the texts in popups. Every find is in the report with page and text excerpt, as a note, never as a verdict. The checkout path also includes the order button.
As of 11 October 2026. We name the reference so you can read it yourself; this is not legal advice.
More guides
- Cookies before consent: what ePrivacy requires
- Price information in web shops: unit price and shipping
- Accessibility checker for web shops: EAA and WCAG
- Cookiebot not blocking?
- Usercentrics not blocking?
- Borlabs Cookie not blocking?
- Real Cookie Banner not blocking?
- Complianz not blocking?
- Check your cookie banner yourself in three steps
- Google Fonts: which plugin loads them?
- EU withdrawal button: what your shop needs
- Unit price and the “order with obligation to pay” button
- GPSR: manufacturer information in your web shop
- Google Consent Mode v2: how to check and set it up
- Cookie check for web shops: free, with the reject test