Countdown Timer Pop-ups: Using Urgency Without Dark Patterns
A countdown timer is one of the most direct ways to tell shoppers that a sale ends soon. It is also one of the easiest things on a store to fake, and regulators have noticed. This guide covers when a countdown timer pop-up is the right tool, what the FTC and EU rules say about false urgency, and how to set one up so the clock on the screen matches what really happens to the offer.
Updated

What a countdown timer pop-up is for
A countdown timer pop-up is a banner — a modal, a floating box or a bar across the page — that shows the time left until an offer ends: days, hours, minutes and seconds ticking down. It answers a question shoppers have about any sale: “How long do I have?”
That is a real, useful piece of information when the deadline is real. A shopper who was planning to come back next week learns that the price will be gone by then. A shopper comparing two stores learns that one offer ends tonight. Used this way, a timer is no different from writing “Sale ends Sunday at midnight” on the page — it just makes the date easier to grasp at a glance.
The trouble starts when the timer stops describing a deadline and starts manufacturing one: a clock that restarts when you reload, an “offer ends in 15 minutes” message on a price that never changes, or a sale that “ends tonight” every night. That is the pattern regulators call false urgency.
Where the line is: what regulators say about fake urgency
In September 2022 the Federal Trade Commission published a staff report, Bringing Dark Patterns to Light, which describes design practices that “trick or manipulate users into making choices they would not otherwise have made.” Its appendix lists common dark patterns by type. Under Urgency, two entries describe exactly what a dishonest countdown does (FTC, Bringing Dark Patterns to Light):
| FTC report entry | Description in the report | Example given |
|---|---|---|
| Baseless Countdown Timer | “Creating pressure to buy immediately by showing a fake countdown clock that just goes away or resets when it times out” | “Offer ends in 00:59:48” |
| False Limited Time Message | “Creating pressure to buy immediately by saying the offer is good only for a limited time or that the deal ends soon – but without a deadline or with a meaningless deadline that just resets when reached” | — |
The report also notes that workshop panelists discussed “countdown timers on offers that are not actually time-limited,” alongside false low-stock claims and false claims that other people are looking at the same product. The common thread is not the timer itself. It is a timer that says something untrue.
The European Union is more explicit. The Unfair Commercial Practices Directive (2005/29/EC), which the European Commission describes as “the overarching EU legislation regulating unfair commercial practices” (European Commission), has an Annex I list of “commercial practices which are in all circumstances considered unfair.” Item 7 on that list is:
“Particular terms” covers a discount, a free gift or free shipping, not just the product itself. And “in all circumstances” means the practice is on the blacklist: it does not need a case-by-case test of whether shoppers were actually misled. If you sell to customers in the EU, a timer on an offer that isn’t really ending is the kind of claim this item describes.
Is your deadline real? A five-question test
Before you add a timer to any banner, answer these questions honestly. If any answer is “no,” fix the offer before the banner.
- Is there a written end date and time? Not “soon,” not “today only” as a habit — a specific date, time and time zone you could put in an email.
- Does something actually change at that moment? The price goes back up, the code stops working, the free gift is removed, the pre-order window closes.
- Will the same offer be gone for everyone? If a shopper who reloads the page, opens a new tab or comes back tomorrow can still get the same deal, the deadline isn’t real.
- Are you prepared not to extend it? An occasional extension with an honest note is one thing. A sale that is “extended” every time it ends is a meaningless deadline.
- Will your checkout enforce it? The store has to apply and remove the discount on time. A banner can only display a deadline; it cannot end a price.
Good candidates pass all five: a weekend sale, a holiday shipping cut-off (“Order by December 18 for delivery before the 25th”), the last day of a limited product run, an event registration deadline, a price increase you have announced. Poor candidates include an evergreen “welcome discount” presented as expiring, or a store-wide sale that never really stops.
Honest urgency vs. false urgency, side by side
| Situation | Honest version | False-urgency version |
|---|---|---|
| Weekend sale | Timer to Sunday 11:59 pm; prices revert Monday | Timer ends Sunday, then a new “48-hour sale” starts at the same prices |
| Shipping cut-off | Timer to the last order date for holiday delivery, set by your carrier schedule | Timer on every page all year saying “order in the next 2 hours” |
| Launch discount | Timer to the announced end of the launch price | Launch price that never ends, with a timer that restarts per visit |
| Limited stock | No timer; state the real quantity if you track it | “Only 3 left — 09:59 to claim yours” on unlimited stock |
| New-customer code | Code with an expiry your store enforces, stated plainly in the email | A pop-up clock counting down 15 minutes on a code that works forever |
How the countdown works in marketingLABO
In marketingLABO, a countdown is one of the banner formats. You can start from one of the English e-commerce templates or a blank design, add a countdown element, and set its type, end time, style and end message. Two types are available, and they behave very differently — this is the most important setting on the banner.
| Countdown type | What it counts down to | Use it for |
|---|---|---|
| End at a specific date and time | A fixed date and time you enter. Every visitor sees the same deadline approach. | Real deadlines: sales, cut-offs, launch prices. This is the type to use for any claim that an offer ends. |
| End a set time after it is shown | A number of minutes and seconds, counted from the moment the banner appears. It starts again each time the banner is shown. | Avoid it for offers. Because it restarts, it describes no real deadline, which is what the FTC calls a baseless countdown timer. |
We point this out plainly because the second type is the one that can most easily become a dark pattern. The timer isn’t stored per visitor: someone who reloads the page or moves to another page where the banner shows will see it start over. Unless nothing at all is being claimed about an offer ending, use the fixed date and time.
Time zones: the detail that can make an honest timer misleading
The fixed end time is entered as a date and a clock time, without a time zone. The timer runs in the visitor’s browser and counts down to that clock time on the visitor’s own device. So if you enter “Sunday 11:59 pm,” a shopper in New York sees zero at 11:59 pm Eastern and a shopper in Los Angeles sees zero three hours later, at 11:59 pm Pacific.
That is fine as long as your offer behaves the same way. It becomes misleading when the sale actually ends at one moment for everyone. Two ways to keep it honest:
- Honor the offer until the last time zone you sell to reaches the end time. If you sell across the US, keep the discount active until 11:59 pm Pacific (or Hawaii, if you ship there). A deadline that is a little generous for East Coast shoppers is still a real deadline.
- Or say “your time” in the copy. “Sale ends Sunday at midnight, your local time” matches what the timer shows. Make sure your checkout does the same.
What you should not do is end the discount at midnight Eastern while Pacific visitors still see three hours on the clock. Those shoppers would be looking at a timer for an offer that is already gone.
What happens when the timer reaches zero
When the countdown runs out, the numbers are replaced by an end message you write — for example, “This sale has ended. See what’s new.” You can set its text, size and color. The banner itself does not disappear on its own, so plan for the end as carefully as for the start:
- Write an end message that is useful, not a dead end. Point to the regular collection, the next event date, or an email sign-up for future sales.
- Set the banner’s display period. Banners can have a start and end date and time. Set the end shortly after the deadline so the banner stops showing once the offer is over.
- Check the live site right after the deadline. Confirm the price is back to normal, the code is rejected and the banner is gone or showing the end message.
A small display detail: units that are zero at the front are hidden, so with less than a day left the timer shows hours, minutes and seconds without “0 d.” Minutes and seconds are always shown.
Writing the banner copy
The timer carries the urgency, so the words around it should carry the facts. A good countdown banner answers four questions in a few seconds:
| Question | Good | Vague |
|---|---|---|
| What is the offer? | 20% off all knitwear | Huge savings! |
| When does it end? | Ends Sunday, 11:59 pm your time | Hurry, ends soon |
| Any conditions? | Excludes gift cards. Code applied at checkout. | (nothing) |
| What do I do? | Shop knitwear | Click here |
Keep the written date next to the timer. Some shoppers read a date faster than a ticking number, and the date is what they’ll remember if they leave and come back. Avoid language that adds pressure the facts don’t support: “last chance” on the first day, “only a few left” when you don’t know stock, or alarm-red styling on a routine sale.
Choosing the display type
| Display | Best for | Watch out for |
|---|---|---|
| Bar | Site-wide sales and shipping cut-offs. Stays visible without blocking content. | Keep it to one line on phones; long copy wraps and pushes the page down. |
| Floating | A reminder on product or collection pages while people browse. | Don’t cover the add-to-cart button or the price. |
| Modal | A major, short event — the final day of a big sale. | Blocks the page. Show it sparingly and make it easy to close. |
For most countdowns, a bar is the right default: the deadline stays visible on every page without interrupting anyone. A modal makes sense when the deadline is genuinely important to the visitor — the last few hours of your biggest sale of the year — not as the standard way to show every promotion.
On phones, be careful with anything that covers the content. Google’s Search Central guidance advises against interstitials that obscure the entire page and recommends banners “that take up only a small fraction of the screen” instead (Google Search Central). marketingLABO lets you show a banner on all devices, only on mobile or only on desktop, or use separate images for each, so you can run a bar on mobile and a larger design on desktop. For more on this, see Free Shipping Banners: Where to Show Them and How to Word the Threshold, which covers the same bar-versus-modal trade-offs.
Timing and targeting: who should see the timer
A countdown is only relevant to people who could act on the offer. Use the banner conditions to narrow the audience instead of showing the timer to everyone, everywhere.
| Condition | Example for a countdown banner |
|---|---|
| Page URL (with prefix match) | Show the knitwear sale timer only under /collections/knitwear/, not on the blog or your returns policy. |
| Trigger | Show a bar immediately; show a floating box after 10 seconds on the page or at 50% scroll, once the visitor has seen the products. |
| Traffic source / URL parameter | Show the timer to visitors arriving from your sale email (for example, a URL with utm_campaign=fall-sale), so the deadline matches the email they just read. |
| Visit frequency / days since last visit | Remind returning visitors who browsed before the sale started that it ends soon. |
| Pages viewed / not viewed | Skip the banner for visitors who have already reached your order confirmation page. |
| Display period | Start the banner when the sale starts and stop it shortly after the deadline. |
Matching the timer to the email that brought someone in is especially useful: the visitor already knows the deadline, and the banner confirms it on the page. For naming campaign parameters consistently, see UTM Parameters Explained. For the visit-frequency and days-since-last-visit conditions, see How to Target Returning Visitors with Different Messages Than First-Timers.
Setting up an honest countdown banner, step by step
- Write the offer rule down. Discount, eligible products, exclusions, end date, end time and time zone. Set it up in your store first, including the automatic end.
- Decide the time zone policy. Either honor the offer until the last zone you sell to reaches the end time, or write “your local time” in the copy and make checkout match.
- Create the banner. Start from a sale template or a blank design, add the countdown element, and choose End at a specific date and time.
- Enter the end time and an end message. Write a message that points somewhere useful after the deadline.
- Add the facts next to the timer. Offer, written deadline, main condition, and a clear button to the relevant page.
- Pick the display type and devices. A bar for site-wide sales; check how it looks on a phone.
- Set the conditions. Page URLs, trigger, audience and a display period that ends shortly after the deadline.
- Preview and publish. Then visit the live site in a private window on desktop and phone to confirm the timer and the deadline agree.
- Put a reminder in your calendar for the deadline. Check the price, the code and the banner right after it passes.
Measuring whether the timer helps
marketingLABO shows impressions and clicks for each banner campaign, and conversion reports alongside them. Keep the measurement simple and honest:
- Look at clicks relative to impressions to see whether the banner is relevant to the people seeing it. Very low clicks usually mean the wrong pages or the wrong audience, not that the timer needs to be more aggressive.
- Compare similar sales over time — for example, this year’s fall sale against last year’s — rather than drawing conclusions from one weekend.
- Watch visitor timelines. The per-visitor history shows what people did after seeing the offer: did they go to the product pages, the shipping policy, or leave?
Pop-up banners in marketingLABO don’t have a built-in A/B test (A/B testing is available for forms), so if you want to compare a timer against no timer, run them in separate periods and treat the result as directional. Seasonality and the offer itself usually matter more than the clock.
Common mistakes
- A timer on an evergreen offer. If the deal is always available, say so, and drop the clock.
- Back-to-back “final” sales. A new countdown starting the moment the last one ends tells shoppers that your deadlines don’t mean anything.
- Ignoring time zones. Ending the discount before the clock reaches zero for some visitors.
- Forgetting the end. A banner still showing “This sale has ended” two weeks later, or worse, a discount still applying after the timer said it was over.
- Stacking pressure. Timer, “only 2 left,” and “14 people are viewing this” on one product. Each claim needs to be true on its own.
- Covering the page on mobile. A full-screen modal over the product a shopper came to see.
FAQ
Are countdown timers illegal?
No. A timer counting down to a real deadline is a way of stating a true fact. The FTC report and the EU blacklist item both target timers and limited-time claims that are false — clocks that reset, or deadlines that don’t exist.
Can I use a per-visitor timer for a new-customer discount?
Only if the discount really expires for that person when the timer ends, and your store enforces it. marketingLABO’s “set time after it is shown” type restarts each time the banner is shown and isn’t tied to a code expiry, so it can’t make that promise accurately. For a first-visit offer, it is clearer to skip the timer and state the code’s real expiry in the email that delivers it.
Should I extend a sale if it is going well?
If you do, say so openly (“Extended through Tuesday”) and update the timer and display period. Doing it rarely is reasonable; doing it every time trains shoppers to ignore your deadlines and moves you toward the “meaningless deadline” the FTC report describes.
Does a countdown banner work on every plan?
Banners, including the countdown format, are available on every plan. The Free plan includes 1 banner, Light includes 3, and Standard has no limit. See pricing for details.
Want to try it with your next real deadline? Create a free account, add the tag to your site, and build a countdown bar from a sale template. If your sale is promoted by email, see CAN-SPAM Compliance Checklist for E-commerce Emails for the rules on the email side.
Sources
- Federal Trade Commission, “Bringing Dark Patterns to Light,” Staff Report, September 2022 (accessed October 12, 2026): https://www.ftc.gov/reports/bringing-dark-patterns-light (full report PDF: ftc.gov)
- Directive 2005/29/EC (Unfair Commercial Practices Directive), Annex I, as adopted (legislation.gov.uk; accessed October 12, 2026): https://www.legislation.gov.uk/eudr/2005/29/annex/I/adopted
- European Commission, “Unfair commercial practices directive” (accessed October 12, 2026): https://commission.europa.eu/law/law-topic/consumer-protection-law/unfair-commercial-practices-law/unfair-commercial-practices-directive_en
- Google Search Central, “Avoid intrusive interstitials and dialogs” (last updated December 10, 2025; accessed October 12, 2026): https://developers.google.com/search/docs/appearance/avoid-intrusive-interstitials
Start free — no credit card needed
Sign up freeMore articles

Email Sign-up Pop-ups: Offers, Fields and Placement That Work
How to plan an email sign-up pop-up: the offer, which fields to ask for, consent wording, who should see it, when to show it, and what to do with sign-ups.
Read the article →
A/B Testing Your Forms: Sample Size, p-Values and When to Stop
How to A/B test a form properly: why a 50:50 split, how many views you need, what a p-value really says, and why stopping early fools you.
Read the article →
How to Add a Tracking Script in BigCommerce Script Manager
Add a tracking script to your BigCommerce store with Script Manager: header placement, which pages to pick, consent category, load method, testing and fixes.
Read the article →
Adding Custom Code to the Head of a Webflow Site
Add a script to the head of every Webflow page with Site settings > Custom code: plan requirements, head vs. footer, page-level code, publishing and testing.
Read the article →
How to Add a Tracking Tag to a Plain HTML Website (Every Page, Step by Step)
Add a tracking script to the head of every page on a hand-coded HTML site: where it goes, shared includes and templates, and how to verify it in DevTools.
Read the article →
Form UX Best Practices: Validation, Progress Bars and Autofill
Form UX best practices from web.dev and W3C: when to validate, how to word errors, progress for long forms, and autocomplete values that make autofill work.
Read the article →