# Introduction

HurryTimer is a multi-purpose WordPress plugin that allows to create urgency countdown timers campaigns that drive sales, increase sales, and highlight upcoming events or deadlines.

Follow the guide below to get started:

{% content-ref url="/pages/-LmyAvHgaMxMW8M8PTCJ" %}
[Installation](/getting-started/installation)
{% endcontent-ref %}

Check out our Frequently Asked Questions:

{% content-ref url="/pages/-LmyC4ZviDrQHZzt\_gax" %}
[FAQ](/getting-started/faq)
{% endcontent-ref %}

{% content-ref url="/pages/-MItBGTa1uwLzPvatifV" %}
[Billing](/getting-started/billing)
{% endcontent-ref %}


# Installation

{% hint style="info" %}
&#x20;HurryTimer requires WordPress 4.0 or greater, and PHP  5.6 or greater to function correctly.
{% endhint %}

### Installing HurryTimer Free

In your WordPress admin area, follow the steps below to install HurryTimer Free plugin:

1. Navigate to Plugins > Installed Plugins
2. In the search field, search for HurryTimer, then click on **Install Plugin**
3. Click on **Activate** to activate the plugin

### Installing HurryTimer Pro

{% hint style="info" %}
Don’t have the HurryTimer Pro license yet?  [Click here to select your plan](https://hurrytimer.com/pricing/)
{% endhint %}

{% hint style="warning" %}
Before installing HurryTimer Pro, make sure you deactivate the free version if it’s already installed.
{% endhint %}

1\. Click the button "**Download Plugin**" in the email you received after purchase, to download the plugin zip file to your computer.

<figure><img src="/files/f9vBnCaiJZkWtVzTTRdy" alt=""><figcaption></figcaption></figure>

2\. In your WordPress admin, go to *Plugins → Add New.*

![](/files/QTrJOf6pE2xVmWK5LrR2)

3\. Click the **"Upload plugin"** button, choose the zip file you've just downloaded, and click the **"Install Now"** button to start installation.

![](/files/-LmyGcwaE2VNSl4Cbtkw)

4\. Finally, click the button **"Activate Plugin"**.

![](/files/-LmyGqQ2I9oKCOt12WPE)

### Activating your HurryTimer Pro license key

To receive automatic updates for HurryTimer Pro, you must activate your license:

1. Copy the license key you received in your inbox after purchase
2. In your WordPress admin area, navigate to **HurryTimer > License**
3. Paste the license key, and click on **Activate License**

![Activate license key](/files/-MR5kEGXXBzFT8bpiWVL)

Once you click the "Activate license" button you should see this message:

![License key activated successfully.](/files/-MR5kcaNCq3nmK9zo5s9)

### Move the license key to another website

1. Navigate to HurryTimer > License
2. Click the **Deactivate license** button and your license key will be removed from the current website .
3. Now you can activate it on the new website.

![License key deactivated](/files/-MR5lv5Eyz-n1OsPJGMr)


# Creating a one-time campaign

One-Time campaigns run between two fixed dates based on your site’s timezone.

To get started, navigate to **HurryTimer > Add Campaign:**

![](/files/-LmyK9auv24DvCRHrQV2)

![](/files/-LmyIbAbMcm6wNhASAxO)

{% hint style="info" %}
**NOTE:** The end date/time is based on your site's timezone set under Settings > General.
{% endhint %}

1. Click on the Schedule tab in the settings panel
2. Select the One-time mode
3. Select the campaign end date and time
4. Click on Publish to save the campaign

### Schedule a one-time campaign

{% hint style="info" %}
By default, the campaign will start immediately after you click on **Publish**, you can schedule it by following the steps below:
{% endhint %}

Click on Edit in the **Publish** box:

<div align="center"><img src="/files/-LmyJ8oz0_i5pCqZH9dH" alt=""></div>

Select the start date and time:

![](/files/-LmyJDkvYoqGGZcOVaWW)

Finally, click on **Schedule:**

![](/files/-LmyJLJ6KuVLuhqV8OhT)

After you save the changes, a shortcode will be generated, you can then copy and paste it anywhere in your sit&#x65;**:**

![](/files/-LmyJQaSIMwknEjXyHP6)


# Multiple Deadlines

{% hint style="info" %}
**Note:** This feature requires HurryTimer Pro. If you're on the free version, [upgrade here](https://hurrytimer.com/?utm_source=docs\&utm_medium=multiple_deadlines\&utm_campaign=upgrade).
{% endhint %}

<figure><img src="/files/vkXSm97nm7X4pzrYxpq6" alt=""><figcaption></figcaption></figure>

## How to Set Up Multiple Countdown Deadlines in HurryTimer

Multiple Deadlines allows you to add a list of specific countdown end dates to a single HurryTimer campaign. The countdown timer automatically progresses through each deadline in order — when one expires, the next one starts immediately. No manual updates required.

This is the ideal solution when you need a WordPress countdown timer with irregular dates that don't follow a fixed recurring pattern.

### When should you use Multiple Deadlines?

Use this feature if your promotions, events, or deadlines don't repeat at regular intervals. Common use cases include:

* **Irregular flash sales** — e.g. ending on Jan 12, Feb 20, Apr 13 (not every 30 days)
* **Course or webinar enrollment periods** — multiple enrollment windows with different closing dates throughout the year
* **Event registration cutoffs** — conferences, workshops, or meetups with varying registration deadlines
* **Seasonal promotions** — set 10 dates at the start of the year and let the timer run automatically
* **Product launch countdowns** — multiple product drops on specific dates
* **Membership or subscription deadlines** — early-bird pricing windows that expire on custom dates

### How to set up Multiple Deadlines

{% stepper %}
{% step %}

### Create or edit a campaign

Go to **HurryTimer → Add New** in your WordPress dashboard, or open an existing campaign.
{% endstep %}

{% step %}

### Select One-time mode

Under the **Schedule** tab, make sure **One-time** mode is selected.
{% endstep %}

{% step %}

### Enable multiple deadlines

In the left column next to the "End date/time" field, click the **"Use multiple deadlines"** link.
{% endstep %}

{% step %}

### Add your deadlines

Click **"Add Deadline"** for each date you want. For each one, fill in:

* **Date/Time** — the date and time when this countdown ends.
* **Headline** *(optional)* — a custom headline to display while the timer counts down to this specific date. Leave it empty to use your default headline from the Appearance tab.

Add as many deadlines as you need — there's no limit.
{% endstep %}

{% step %}

### Publish or update

Click **Publish** (or **Update** for existing campaigns). Your countdown timer is now set up to automatically cycle through all your deadlines.
{% endstep %}
{% endstepper %}

### How the countdown timer behaves with multiple deadlines

* The timer always displays the countdown to the **next upcoming deadline** in your list.
* When a deadline expires, the timer **immediately starts counting down** to the next one — no page reload needed.
* If you set a custom headline for a deadline, that headline replaces the default one while counting down to that date.
* If no custom headline is set, the timer displays the default headline configured under **Appearance → Elements → Headline**.
* After the **last deadline** expires, HurryTimer runs your configured **Expiry Actions** (hide timer, display message, redirect to URL, etc.).
* Deadlines are automatically sorted in chronological order regardless of the order you entered them.

### Example: Quarterly flash sale schedule

A WooCommerce store wants to run 4 flash sales this quarter with a countdown timer on their product pages:

<table><thead><tr><th width="81.1494140625">#</th><th>Deadline</th><th>Custom Headline</th></tr></thead><tbody><tr><td>1</td><td>January 12, 2026 at 11:59 PM</td><td>🔥 January Sale Ends Tonight!</td></tr><tr><td>2</td><td>February 20, 2026 at 11:59 PM</td><td>⏰ Last Chance — February Deal!</td></tr><tr><td>3</td><td>April 13, 2026 at 11:59 PM</td><td><em>(uses default headline)</em></td></tr><tr><td>4</td><td>June 18, 2026 at 11:59 PM</td><td>🌸 Spring Promo Ends!</td></tr></tbody></table>

Once published, the countdown timer on the product page counts down to January 12. When that passes, it immediately starts counting to February 20, and so on. After June 18 passes, the configured expiry action kicks in (e.g. hiding the add-to-cart button).

### Tips and best practices

* **Plan ahead** — add all your dates for the quarter or year in one go. You can always come back and add more later.
* **Minimum 2 deadlines** — you need at least 2 dates for this feature to activate. With just one, it works the same as a regular single countdown.
* **Combine with WooCommerce** — use multiple deadlines on product pages to create urgency around irregular sale events.
* **Use custom headlines strategically** — personalize the urgency message for each deadline (e.g. "Valentine's Day Sale Ends!" for February) to boost conversions.
* **Works with sticky bars** — multiple deadlines work with HurryTimer's sticky bar display mode, so your countdown stays visible as visitors scroll.

### Frequently asked questions

**Can I add deadlines after the campaign is already running?** Yes. Edit the campaign, add new deadlines, and save. The timer will pick up the new dates automatically.

**What happens if a deadline is already in the past?** Past deadlines are ignored. The timer only counts down to future dates.

**Is there a limit on how many deadlines I can add?** No. Add as many as you need.

**Does this work with the shortcode and WooCommerce integration?** Yes. Multiple deadlines work everywhere HurryTimer displays — shortcodes, WooCommerce product pages, and sticky bars.


# Creating an evergreen campaign

Evergreen campaigns allow to give each visitor their own unique countdown timer regardless of their local timezone and the moment they landed on your site.

To get started, navigate to **HurryTimer > Add Campaign:**

![](/files/-LmyKMXQl2YU7QkmHphP)

![](/files/-LmyKPI6fHhSzHgVUtWq)

1. Click on the **Schedule** tab in the settings panel
2. Select **Evergreen** mode
3. Enter the countdown duration
4. Optionally, you can select to restart the countdown timer when time is run out in the Restart when expired option

{% hint style="info" %}
By default, the campaign will start immediately after you click on **Publish**, you can schedule it by following the steps below:
{% endhint %}

Click on Edit in the **Publish** box:

![](/files/-LmyL32p2SGoZ2ZDSM-X)

Select the start date and time:

![](/files/-LmyL6IDYRZ4DN8WaZ6B)

Finally, click on **Schedule:**

![](/files/-LmyL8t4o14GC2fag6VR)

After you save the changes, a shortcode will be generated, you can then copy and paste it anywhere in your site:

![](/files/-LmyLBOBn9LrbKCriIfZ)


# End Evergreen Timers at Your Visitors' Local Time

Looking to create countdown timers that end at specific times for each visitor, like midnight in their local time? The "Ends At" feature for evergreen countdown timers makes this possible, helping you boost conversions with genuine local time-based urgency.

### What is the "Ends At" Feature?

"Ends At" is a countdown timer capability that lets you set your evergreen campaigns to end at specific times in each visitor's local time. Instead of setting a fixed duration that starts when someone first visits your page, you can now specify exact end times that automatically adjust to wherever your visitors are located.

For example, when you set a timer to end at 11:59 PM:

* Someone in New York sees it end at 11:59 PM their local time
* Someone in London sees it end at 11:59 PM their local time
* Someone in Sydney sees it end at 11:59 PM their local time

### Common Use Cases

This feature is perfect for:

* Daily deals that truly end at midnight in each visitor's local time
* Flash sales with specific end times
* Limited-time offers with local time-specific deadlines

### How It Works

1. Enable "Ends At" in your evergreen campaign settings
2. Set the time when you want the timer to end (in visitor's local time)
3. The timer will automatically adjust to show the correct countdown based on each visitor's local time.

<figure><img src="/files/6rXsL0Uzi9hu0zkYj6fg" alt=""><figcaption></figcaption></figure>


# Creating a recurring campaign

Recurring campaigns are self-repeating countdown timers campaigns according to a set of timing rules.

{% hint style="info" %}
Recurring Campaigns is a PRO feature. Don’t have a HurryTimer Pro license yet? [Click here to select your plan](https://hurrytimer.com/pricing/)
{% endhint %}

With HurryTimer Pro you can make countdown timer that recur on any timing pattern, here are some few examples:

* Weekly on Monday at 1:00 PM, until December 31, 2019
* Every Sunday at 10:00 AM, forever
* Every 2nd Wednesday for 10 times
* Daily at 05:00 PM for 30min, until September 24, 2019
* Daily at 2:00PM on weekdays only
* Every hour starting at 02:00 PM on Friday and Monday for 2 times
* The first Wednesday of every month
* The 16th day of every month
* ...

To get started, navigate to **HurryTimer > Add Campaign**:

![](/files/-LmyMtCzH7KaCl09C8sL)

Then, you can set your campaign according the rules below:

![](/files/-MfEnrCINfZwxDk84nHj)

1. Click on the Schedule tab in the settings panel.
2. Select **Recurring** mode.
3. Select how often the event should recur.
4. Enter the recurrence duration.
5. Choose on which days to recur the campaign.
6. Select the start date and time.
7. Finally, set an end option, you can choose between ending after a set of recurrences, on a specific date and time, or simply choose **Never** to recur forever.

{% hint style="info" %}
**NOTE:** The start Date/time is based on your site's timezone set under Settings > General.
{% endhint %}

###


# Setting an expiry action

Actions allow performing a set of actions when a ​countdown timer reaches zero.

HurryTimer comes with the following actions out-of-the-box, to get started click on **Actions** tab:

![Actions](/files/-MVTShFsFr59gkowcbJ_)

* Hide countdown timer.
* Redirect to another page.
* Display a custom message.

Also, there are actions specific only to WooCommerce stores:

* Hide **Add to cart** button
* Change stock status: In stock, out of stock, in backorder.
* Expire a coupon code

{% hint style="info" %}
**NOTE**: HurryTimer is constantly being improved, which means more actions will be added in the future.&#x20;
{% endhint %}

### Combine multiple actions

HurryTimer Pro allows to add more than one action at the same time by clicking on **Set additional action** button.

**Example**: you can set product out of stock and redirect visitor to another page:

![](/files/-LrK3t8YNKq9MQjVrflf)

&#x20;


# Adding a countdown timer to the product page

If you are using WooCommerce, HurryTimer allows adding countdown timer automatically (without inserting a shortcode manually) to any product page.

To get started, click on **WooCommerce** tab:

1. Select the products on which you want to display the countdown timer
2. Select the countdown timer position on product page
3. Optionally, you can conditionally show the countdown timer based on set of pre-defined rules.


# Customize the countdown timer appearance

Take control of which elements to show, and change countdown timer look and feel to match your site design.

### Set custom units labels

To set custom units labels, navigate to Appearance > Elements >  Timer Label:

![](/files/-MVTTHxUTvMSJz1ugHIs)

### Customize countdown timer look and feel

You can change countdown timer look and feel and see render live.&#x20;

Under Appearance > Elements, you can customize every element style:

#### Timer digits

![](/files/-LrKUdll9JGeInetV6dZ)

#### Timer labels

![](/files/-LrKUq3q2mRtNmFTuT5y)

#### Timer blocks

Time block provide different set of controls to fully customize the countdown timer look and feel:

![](/files/-LrKVcZjLe_L0SeQYeX2)

### Display the timer digit and label horizontally

Navigate to Appearance > Elements > Timer bloc&#x6B;**.**

In the option **Display**, select **Inline:**

![](/files/-LrKYwxjLEJ7Fsrppaen)

### Display the countdown timer on the same line as the content

Navigate to Appearance > Elements > General:

In the option **Display**, select **Inline:**

![](/files/-LrKZArtXstgWd3Jzg71)

### Add custom CSS

To add your custom CSS code, in your campaign settings, go to *Appearance  → Custom CSS*:

Here're the CSS class selectors you can use to customize the style and size of the campaign's elements:

![CSS class selectors](/files/-Mbx2Peu87qDshJpG3JB)

{% hint style="danger" %}
**IMPORTANT**: Add`.hurrytimer-campaign` before classes and tags you want to target, example: `.hurrytimer-campaign .hurrytimer-timer-digit`\
`{` \
&#x20;  `font-size: 2em;` \
`}`
{% endhint %}

If you're displaying your campaign in a sticky bar, use these class selectors to target the sticky bar's elements:

* `.hurrytimer-sticky`: The sticky bar.
* `.hurrytimer-sticky-close`: The close button.

#### Apply customization  only for mobile devices

Use these media queries to apply CSS to a specific screen size:

**For mobile:**

```css
@media screen and (max-width: 540px) {
    /* your css code for mobile goes here */
}
```

**Example:** Make the countdown timer digits and labels smaller on mobile:

```css
@media screen and (max-width: 540px) {

    .hurrytimer-campaign .hurrytimer-timer-digit{
        font-size: 15px;
    }
    
     .hurrytimer-campaign .hurrytimer-timer-label{
        font-size: 12px;
    }
    
}
```

**For tablets:**

```css
@media screen and (min-width: 540px) and (max-width: 780px) {
   /* your css code for tablets goes here */
}
```

#### Render countdown timer from right-to-left (RTL)

In order to render the countdown timer units from right to left for languages such Arabic and Hebrew, use the property  `direction: rtl`as below:

```css
.hurrytimer-campaign{
    direction: rtl;
}
```


# Adding headline

Display an optional catchy message before or after countdown timer.

To add a headline, navigate to Appearance > Elements  > Headline:

![Add a headline in the "Content" area](/files/-MLPKN_qkabwdBDJXoBX)

### Change headline appearance

![Headline position and appearance settings](/files/-LrKGLu6UcCT68HMAwX0)

* **Show/hide: C**hoose whether to show headline or not.
* **Position**: Display headline above or below countdown timer.
* **Spacing**: Change spacing between countdown timer and headline.
* **Size**: Change headline text size.
* **Color**: Change headline text color.


# Adding a call to action button

Call to action button is a great way to entice customers to take action.

![Call-to-action example](/files/-LrKWfoj-UGqFy94xQo3)

To add a call-to-action button, navigate to Appearance > Elements > Call to action:

![Call-to-action button settings](/files/-LrKWWgLYogCNld2XXrh)


# Displaying countdown timer in sticky bar

Keep countdown timer always visible to your visitors by displaying in the ​sticky announcement bar at the top or bottom of any page.

To get started, navigate to **Appearance > Elements > Sticky bar**:

![Sticky bar settings](/files/-MQxObJnMrSQgHT93F56)

By default, a dismissed sticky bar will be hidden for 7 days. You can change that by using the option "When closed, re-open after".

### Troubleshooting

#### The sticky bar isn't showing up

Make sure the jQuery library is loaded, to do so, insert this code snippet in the **functions.php** under *WordPress Appearance menu > Theme Editor:*

```php

add_action('wp_enqueue_scripts', function() {
		if( ! wp_script_is('jquery') || ! wp_script_is('jquery', 'registered') ) {
			wp_enqueue_script('jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js', array(), null, true);
		}
});
```


# FAQ

### Is HurryTimer compatible with page builders including: Elementor, Divi, Beaver Builder, SitOrigin, etc?

Yes, the plugin works perfectly with any page builder out-of-the-box.

### I'm using WooCommerce, is the plugin compatible with HPOS?&#x20;

Yes, our plugin is fully compatible with WooCommerce HPOS (High-Performance Order Storage).

### How can I download HurryTimer Pro updates?

You can update the plugin like any other plugin under **Dashboard > Plugins > Installed Plugins**.

### I'm already using the free version, will upgrading to the pro version delete my existing campaigns ?

HurryTimer Pro is an extension of HurryTimer free version, that's mean you won't lost configurations and campaigns you already created.

Got more questions? drop us a line at <support@hurrytimer.com>


# Billing

### What payment methods do you accept?

Transactions are handled by Paddle.com. You can safely purchase HurryTimer Pro with your PayPal account, or with a credit card.

### Can I upgrade to another plan later? and how much should I pay?

Yes you can! and you only pay difference in price. Ready to upgrade? contact us at <support@hurrytimer.com>

### How is VAT handled?

VAT is calculated at checkout based on your location.

### How do I download an invoice?

Your invoice is sent automatically by email after purchase.

### Do you offer refunds?

If you’re unhappy with your purchase, no worries, we offer a 14-days money-back guarantee. contact us at <support@hurrytimer.com> or live chat with us [here](http://hurrytimer.com?livechat)


# Developer documentation

To extend HurryTimer functionalities, different WordPress hooks and Javascript events are added to the plugin.

### Hooks

`do_action('hurrytimer_init');`&#x20;

Fires after HurryTimer has finished loading .

`do_action( "hurryt{campaign_id}_campaign_ended", HurryTimer\Campaign $campaign);`Fires after one-time or recurring timer has reached zero.

**$campaign:** The (HurryTimer\Campaign) instance

`apply_filters('hurryt_show_campaign', bool $can_show);`

Filters whether to show the campaign.

**$can\_show**: (bool) Whether the campaign should be shown.

`apply_filters('sticky_bar_hide_timeout', int $delay);`

Filters how long to wait before reopening a dismissed sticky bar.

**$delay**: (int) Number of days. Default 7.

### Javascript Events

`hurryt:finished`**:** Fires after timer has reached zero.

Example:

```javascript
$('.hurrytimer-campaign').on('hurryt:finished', function(event, campaign){
 // campaign.id: the campaign ID
 // campaign.mode: one_time, recurring, or evergreen.
});
```


# Expire a coupon

{% hint style="warning" %}
This feature is only available when using WooCommerce
{% endhint %}

The **Expire Coupon** action allows to automatically disable a coupon when countdown timer runs out, and displays an expiration message each time a user try to apply the coupon code (see image below).

![](/files/-MVs6K-I55Caq36a0rMx)

### Setting up an Expire Coupon action

1. Create a coupon under *WooCommerce → Coupons or Marketing → Coupons* ( Note: Leave the **Coupon expiry date** field empty)
2. In your HurryTimer campaign settings, click the **Expiry** **Actions** tab,  select the **Expire Coupon** from the actions dropdown and choose the coupon code.

![](/files/-MVs8ido5vhsHXfhyITa)

&#x20;     3\. Save the changes and that's it!

### FAQs

#### Should I display the timer on checkout or cart page to make it work?

No, displaying the countdown timer on the font side of your website is optional.

#### Should I need a coupon for each user in the evergreen mode? How does it work?&#x20;

Only one coupon is needed (which you specified when adding the action). The coupon will expire only for users with expired countdown timer and simultaneously will stay valid for users with running countdown timer.


# Custom CSS

With HurryTimer Pro, you can take control of the appearance of every elements in the campaign using custom CSS.

To add custom CSS, in your campaign settings, navigate to Appearance tab → Custom CSS.

{% hint style="warning" %}
Add .hurrytimer-campaign before the classes and tags you want to target.
{% endhint %}

### Selectors

* .**hurrytimer-campaign:** Campaign container
* **.hurrytimer-timer:** Countdown timer container
* **.hurrytimer-timer-block**: Single countdown timer block container
* **.hurrytimer-timer-sep**: Single separator
* **.hurrytimer-timer-digit**: Single countdown timer digit
* **.hurrytimer-timer-label**: Single countdown timer label
* **.hurrytimer-timer-headline**: Headline


# Troubleshooting


# My Evergreen timer is not working properly

If you have a caching plugin installed, you may encounter the following problems with your evergreen countdown timer:

* The countdown resets automatically each time you refresh the page&#x20;
* The countdown has expired for all visitors&#x20;
* The same countdown is showing up for all visitors

Since evergreen timers depend on cookies to recognize returning visitors, certain aggressive caching settings may result in this problem. To solve it, you need to exclude the timer cookie from caching. Please follow the instructions below to implement this setting in your caching plugin:

### Litespeed Cache

1. Go to Litespeed Cache menu > Cache > Excludes
2. Scroll down to **Do Not Cache Cookies**
3. Add your timers' cookies. For instance, if the timer ID is 1234, as shown in the screenshot below:

![](/files/LYn8iCNxbjR3ct4MsP5U)

the cookie should be named `_ht_CDT-1234`, as demonstrated in the screenshot below.

<figure><img src="/files/bWjDtp1T8niCvc0CLRhe" alt=""><figcaption></figcaption></figure>

### WP Rocket

1. Go to the WordPress settings menu > WP Rocket > Advanced Rules, and scroll down to **Never Cache Cookies**
2. Add the cookie `_ht_CDT`, as demonstrated in the screenshot below.

<figure><img src="/files/XmyyGPGr9QxTY3GmJDQw" alt=""><figcaption></figcaption></figure>


# Invalid license key error message

If you encounter the error message below in your WordPress admin, follow these steps to resolve it:

```
HurryTimer PRO: The provided license key does not appear to be valid. Please use another license key.
```

1. Navigate to your WordPress plugins page.
2. Locate HurryTimer PRO and click the link "Check for updates" as shown in [this screenshot](https://cln.sh/BkXyRcvS). After the page reloads, the message should disappear.

If the message persists, try deactivating/activating your license key under HurryTimer → License.


