TL;DR: How to Add a Countdown Timer in WordPress (Start With the Job It Does)
WordPress doesn't come with a countdown timer, so you'll add one with a page builder element or a plugin. Pick the one that fits the job:
- A countdown on one page with one end date: drag Thrive Architect's Countdown element onto the page and set the end date and time
- A deadline for each visitor, like 48 hours from the first time they see an offer: use Thrive Architect's Countdown Evergreen element
- A sale across your whole site: create a campaign in Thrive Ultimatum, add a countdown ribbon, and let it close the sale page when time runs out
- A free plugin if you don't use Thrive: HurryTimer gives you a countdown you can paste into any page
Whichever one you use, only add a countdown when the deadline is real.
Not using Thrive? Jump straight to the free plugin.
If you're here, you've probably got a sale, a launch or an enrollment deadline coming up, and you want people to see the clock ticking down on your site so they don't miss it.
But I'll be honest with you about one thing first. I hate a fake countdown timer. The moment I realize that the countdown is going to come back a few weeks or so later, it actually dims my wanting to buy. And I'm pretty sure I'm not the only one who feels that way.
So in this guide, I'll show you how to add a countdown that ends when your offer does. I'll cover a timer on one page, a timer that starts fresh for each visitor, and a sale that runs across your whole site, plus a free plugin if you don't use Thrive.
Every screenshot comes from Fieldbloom, the made-up skincare brand from my beauty and cosmetics website tutorial (it isn't a real company), and its equally made-up Winter Skin Sale. I used Fieldbloom's own site for the Thrive screens and a fresh test copy of WordPress 7.1 for the free plugin.
Why a Countdown Works (As Long As the Deadline Is Real)
A deadline gives people a reason to decide now instead of "later", and a countdown makes that deadline hard to miss. In a 2019 case study from OptinMonster, Cracku, a test-prep site, ran discount campaigns with countdown timers. One campaign converted 4.29% of visitors and another 3.5%, and Cracku reported a 300% increase in conversions.
But a countdown only works if people believe it. In its 2022 report on dark patterns, the FTC lists countdown timers on offers that aren't actually time-limited as one of the tricks used on shoppers. And when Princeton researchers crawled about 11,000 shopping sites, they found countdown timers on 361 of them, including ones where the deal was still there after the timer ran out.
So every method below is set up the same way: when the timer ends, the offer ends with it.
First, Pick the Kind of Countdown You Need
There are three kinds, and the right one depends on how your offer ends:
If your sale has a date, use a fixed countdown. Evergreen is for offers that really are personal, like a welcome discount for new subscribers.
Method 1: Add a Countdown to One Page With Thrive Architect (The Quickest Way)
If you build your pages with Thrive Architect, the countdown is already there. Open your page in Thrive Architect, click Add Element, type "count" in the search box and drag the Countdown element onto the page. A library of countdown styles opens as soon as it lands. I picked Countdown timer 07 for Fieldbloom's Winter Skin Sale page, and it took on Fieldbloom's green by itself.
With the countdown selected, set the End date and Time on the left. Underneath, you'll see the timezone it counts in, which comes from your WordPress settings (Settings → General). Fieldbloom ships from California, so its sale ends at 11 p.m. Pacific time.

The countdown on Fieldbloom's sale page, with its end date, time and timezone on the left.
One thing to watch: the countdown saves the time difference your site has on the day you set it. When I set Fieldbloom's site to Los Angeles time in October, the countdown saved daylight time (UTC-7), so the December 14 deadline would have ended an hour early. If daylight saving time changes before your sale ends, check the end time again after the clocks change. For Fieldbloom, I switched the timezone to a fixed UTC-8, which is Pacific time in December.
Then put the countdown between the offer and the button, so the deadline sits right above the thing people click.

Fieldbloom's Winter Skin Sale page, with the countdown between the offer and the button.
The timer only changes what people see, so make sure the offer itself ends at the same time: give your discount code the same expiry date, or take the sale page down. I walk through a whole sale page, countdown included, in my Black Friday landing page tutorial.
Method 2: Give Each Visitor Their Own Deadline (Countdown Evergreen)
Countdown Evergreen works the same way, except the clock starts fresh for each visitor. It's for offers that really are personal, like Fieldbloom's welcome page, where new subscribers get a 10% code for their first order.
Drag in Countdown Evergreen the same way, then set how long it runs under Time. I set Fieldbloom's to 2 days, so every new subscriber gets 48 hours.

Countdown Evergreen on Fieldbloom's welcome page: 2 days, with Starts again after turned off.
Under it, you'll see Starts again after. Turn it on, and the countdown starts over for someone who comes back after the number of days and hours you set. I left it off, because that's exactly the countdown that comes back a few weeks later.

Fieldbloom's welcome page as a new subscriber sees it: the code, then their own 48-hour countdown.
The one thing Countdown Evergreen can't do is end the offer for you. It only changes what that page shows, so if the code still works on day three, the clock wasn't real. Give each subscriber a code that expires, or use Thrive Ultimatum, which can close the offer page for each person when their time runs out.
Method 3: Run a Countdown Across Your Whole Site With Thrive Ultimatum (My Pick for Sales)
For a sale, this is the one I'd use. Thrive Ultimatum puts the countdown on every page you choose, starts and stops it on its own, and closes the sale page when the sale is over. This is how I set up Fieldbloom's Winter Skin Sale.
Step 1: Create a Campaign and Pick Its Type
Go to Thrive Dashboard → Thrive Ultimatum and click ADD NEW. You can start from a template, like Christmas special, or Build from scratch, which is what I did. Give the campaign a name (only you see it), and you'll land on its settings screen.
Under Campaign Type, click EDIT and pick one of three: Fixed Dates Campaign, Recurring Campaign or Evergreen Campaign. The Winter Skin Sale has an end date, so it's a Fixed Dates Campaign.
Step 2: Set the Start and End (On the Hour)
Set the start date and hour, then the end date and hour. Thrive Ultimatum works in whole hours, so pick an end time on the hour and use that same time on your sale page. I first typed 11:59 p.m., and Thrive Ultimatum turned it into 24:00, so Fieldbloom's sale now ends at 11 p.m. everywhere. Under the dates, you'll see the timezone it's using, which also comes from your WordPress settings.

The Winter Skin Sale as a Fixed Dates Campaign: October 31 at 09:00 until December 14 at 23:00, in the site's timezone.
For an evergreen campaign, you choose what starts each person's clock instead: their First visit to site, a Visit to a specific page, a sign-up through Thrive Leads, or a tag or webhook from your email tool.
Step 3: Choose Where It Shows (And Where It Shouldn't)
Under Display, click EDIT and tick where the countdown should appear. I ticked Front Page and All Pages, added Fieldbloom's product pages under Post Types, and added the shop under Other with its link.

The Winter Skin Sale's display settings: the front page and all pages, plus the product pages and the shop.
Then, under Exclusions, I left out the sale page and the welcome page. They already have their own countdown, and two timers on one screen is too many.
Step 4: Design the Countdown (A Ribbon Across the Top)
Under Designs, click New Design and choose how the countdown shows up: a Top ribbon or Bottom ribbon across the screen, a Widget in your sidebar, or a Shortcode you place inside a page.

Thrive Ultimatum's four design types. Fieldbloom's sale uses a top ribbon.
I chose a top ribbon, picked a ready-made ribbon template and changed it in the Thrive Architect editor: the text, a Shop the Sale link to the sale page and Fieldbloom's green. The countdown in the ribbon follows the campaign's dates, so there's nothing to set there.
Step 5: Decide What Happens When It Ends
When the end date passes, the ribbon stops showing. But the sale page is still there for anyone who has the link, unless you lock it.
That's what Lockdown is for. Click ACTIVATE LOCKDOWN and fill in three things:

Lockdown for the Winter Skin Sale: the shop before it starts, an "ended" page after, and the sale page as the promotion page.
Now the sale page only opens while the sale is on. You can also add Conversion Events, which end the countdown for someone once they've done what you wanted, like signing up or reaching your order confirmation page, or move them on to another campaign.
Step 6: Start the Campaign and Check It Like a Visitor
New campaigns start out Paused, so click the status at the top right and set it to Running. Then open your site in a private window, the way a visitor would see it.

The finished campaign: fixed dates, where it shows, Lockdown on, and the top ribbon design. Its status is Running.

The Winter Skin Sale ribbon on Fieldbloom's home page, counting down to December 14.
If your ribbon doesn't show up, check your other Thrive Ultimatum campaigns. Thrive Ultimatum shows one campaign per page, in the order they're listed on its dashboard, so drag the one you want to the top. Fieldbloom's site had two older test campaigns above the sale, and the first one was taking every page until I moved the sale up.
Method 4: No Thrive? Use a Free Plugin (HurryTimer)
If you don't use Thrive, HurryTimer is the free plugin I'd pick. It's tested with WordPress 7.1, it has more than 20,000 active installs, and its free version does fixed and evergreen countdowns.
Install it from Plugins → Add New Plugin, then go to HurryTimer → Add Campaign:
- Under Schedule, choose One-time (a fixed date) or Evergreen, and set the end date and time
- Under Expiry Actions, choose what happens at zero: hide the timer, send people to another page, or show a message
- Under Appearance, pick a look
- Click Publish, copy the shortcode from the Shortcode box and paste it into your page

A One-time HurryTimer campaign ending December 14 at 11 p.m., with its shortcode on the right.

HurryTimer's Expiry Actions, set to show a message when the sale ends.

The HurryTimer countdown on a test page in Twenty Twenty-Five, with its default "Hurry Up!" headline.
For a WooCommerce store, HurryTimer can also show a countdown on product pages and hide the Add to Cart button when it ends. Making the discount code itself expire is a Pro feature, though.
And if an older guide tells you to install Countdown Timer Ultimate, skip it. WordPress.org closed it permanently in April 2026 because of a security issue.
What a free timer can't do is run one deadline across your whole site and lock the offer when it's over. That's where Thrive Ultimatum comes in.
Where I Put Fieldbloom's Countdowns (And What Happens at Zero)
Here's how the countdowns on Fieldbloom's site are set up:

Fieldbloom's sale page on a phone, with the countdown and the button on one screen.
Frequently Asked Questions About Countdown Timers in WordPress
Here are quick answers to the countdown questions people ask most, with links to the full steps above.
What's the Difference Between a Fixed and an Evergreen Countdown Timer?
A fixed countdown ends at the same moment for everyone, like a sale that closes on December 14. An evergreen countdown starts fresh for each visitor, like 48 hours from the first time they see an offer. Use evergreen only for offers that really are personal.
What Happens When a Countdown Timer Reaches Zero?
That depends on the tool. HurryTimer can hide the timer, send people to another page or show a message. Thrive Ultimatum stops showing its ribbon when the campaign ends, and with Lockdown on, it sends anyone who opens the offer page to an expired page. Whatever you use, make sure the offer itself ends too.
Can I Add a Countdown Timer to a WooCommerce Product?
Yes. Thrive Ultimatum can show its countdown on your product pages (tick product under Post Types in the campaign's display settings), and the free HurryTimer can show a timer on product pages and hide the Add to Cart button when it ends.
Is It OK to Use a Countdown Timer That Resets?
Only if the offer really resets with it. A timer that starts over while the deal stays the same is the kind of trick the FTC calls a dark pattern. And as a shopper, the moment I spot one, it dims my wanting to buy.
Set the Deadline First, Then Add the Timer
A countdown works best when it's telling the truth. So decide how your offer ends first, then pick the timer that matches: one page, one visitor or your whole site. And when the time runs out, let the offer go with it.
These will help with the rest of your sale:
Ready to Run Your Next Sale With Thrive?
Fieldbloom's sale page countdown and welcome timer were built in Thrive Architect, and the ribbon, the dates and the Lockdown in Thrive Ultimatum. Both come with Thrive Suite, along with Thrive Theme Builder, Thrive Leads and the rest of Thrive's tools.
Pick your end date, set the timer to match, and let the countdown do the reminding for you.


