Free, open source

A sale countdown with no layout shift

Ticker adds a live countdown to the end of a sale on WooCommerce product pages that turns hesitation into a buy decision. It can also show a low-stock scarcity message. The end time is resolved on the server and counted down in the browser in plain JavaScript, with reserved space, so there is no layout shift.

Open source GPLv2
Open source, GPL licensed No account, no card No jQuery, zero layout shift

Works with

WooCommerceGutenbergStorefrontAstraGeneratePressKadence

Without time pressure, shoppers put off buying

A shopper sees a good price but has no reason to decide now. Without a visible sale deadline the purchase lands on a someday list, and often never comes back.

  • The sale is on, but shoppers cannot see when it ends
  • No time pressure lowers conversion
  • Countdown timers with heavy JavaScript slow the store down
  • Many timers shift the layout and hurt Core Web Vitals

Ticker shows how long is left in the sale

  • A live countdown to a product's sale end date or a global campaign
  • The end time comes from the server, so the visitor's clock cannot change it
  • An optional low-stock scarcity message
  • Server-rendered with reserved space, so no layout shift

What you get in the free version

Everything you need to add time pressure without slowing the store.

Sale countdown

A live countdown to a product's native WooCommerce sale end date.

Global campaign

One store-wide end date; the product sale date is used when present, with the campaign as a fallback.

Low-stock scarcity

An optional "Only N left in stock" message with a configurable threshold for products that track inventory.

Placement choice

Show the timer in the product summary, before/after the add-to-cart form, or the product meta area.

Three formats

Days:hours:minutes:seconds, hours:minutes:seconds, or compact.

Custom copy

An optional heading and a customisable message shown after the sale expires.

Graceful states

Nothing renders with no sale and no low stock; a friendly expired message replaces the clock when the sale ends.

Accessible, no jQuery

ARIA role=timer with a polite live region, plain JavaScript and server-rendered markup, so no layout shift.

Up and running in three steps

Enable the countdown and set a sale end date.

01

Install

Activate Ticker alongside WooCommerce.

02

Enable the countdown

In WooCommerce → Ticker enable the timer and pick the source, placement and format.

03

Set a deadline

Set a product sale end date or a global campaign date — the countdown appears on the product page.

Who it is for

When a sale has a real deadline and time pressure should lift conversion.

Time-limited sales

Ticker reads native product sale dates — set an end and the countdown appears on its own.

  • Native sale dates
  • Choice of format
  • No layout shift

Store campaigns

One deadline for the whole store, such as Black Friday, with a global campaign date.

  • Global date
  • Expired message
  • Server time

Low stock

A subtle scarcity message for products whose inventory is running low.

  • Configurable threshold
  • Stock-tracking only
  • Accessible and light

Need more? Ticker PRO

FREE covers sale and global campaign countdowns and the low-stock message. Ticker Pro will add scheduled campaign windows via the ticker/end_timestamp filter, multiple campaigns and analytics.

  • Scheduled campaign windows via the ticker/end_timestamp filter (planned)
  • Multiple named campaigns with their own deadlines (planned)
  • Countdown view and conversion analytics (planned)

Support and resources

Every plugin has its own documentation with setup walkthroughs. Bugs and questions go to the public GitHub repository for that plugin — we answer in the open.

Frequently asked questions

Does Ticker require WooCommerce?

Yes. Ticker is a WooCommerce extension and requires WooCommerce 8.0 or later.

Where does the countdown end time come from?

By default, Ticker reads each product's native WooCommerce sale date field. You can instead count down to a single store-wide campaign date, or mix both — a product sale date when present, with the global campaign date as a fallback.

Does the timer cause layout shift?

No. The countdown markup is rendered on the server with space reserved, so the browser fills in the numbers without shifting the page (good for CLS).

Is the timer accurate if the visitor's clock is wrong?

The end moment is provided by the server as a fixed timestamp. The browser only formats the remaining time, so a misconfigured visitor clock cannot change the actual end time.

How does the scarcity message work?

For products that manage stock, when the remaining quantity is at or below your threshold (default 5), Ticker shows "Only N left in stock!". Products that do not track stock never show it.

What happens when the sale ends?

The clock is replaced with a friendly expired message, which you can customise.

Does Ticker use jQuery?

No. The countdown runs in plain, dependency-free JavaScript.

Does Ticker pair with Anchor and Notice?

Yes. Anchor keeps the buy button within reach, Notice announces a promotion at the top of the store, and Ticker adds time pressure on the product page.

Add time pressure to your sales

A live countdown from native sale dates or a global campaign, an optional low-stock message and no layout shift. The full FREE edition under GPL.

Read the docs

FREE is a complete sale countdown and low-stock message — PRO will add scheduled campaign windows and analytics (planned).