WooCommerce integration

WooCommerce email countdown timer that follows your coupons

A WooCommerce email countdown timer from flashtimer counts down to the real end date of your coupon or product sale, and keeps up when you change it. Connect your store with REST API keys, no plugin to install, then put the live timer in emails from Mailchimp, Klaviyo, Omnisend or any other email platform.

Free plan · 20,000 views a month · No card

Your store

The sale ends soon. Don't miss it.

Offer ends in

Black Friday WooCommerce email countdown timer counting down to a coupon expiryShop the sale

Step by step

How to connect WooCommerce and add the timer to your emails

  1. Create REST API keys in WooCommerce

    In WordPress admin go to WooCommerce → Settings → Advanced → REST API and click Add key. Choose Read/Write permissions so flashtimer can register coupon webhooks on your store, then Generate API key. Copy the consumer key (starts ck_) and secret (starts cs_); WooCommerce shows the secret once.

  2. Connect the store in flashtimer (Pro and up)

    Under Settings → Integrations → WooCommerce, enter your store URL (it must start with https://) and both keys. flashtimer registers webhooks for coupon created, updated, deleted and restored, and turns on Auto-create, Auto-update and Auto-archive timers. Each is a toggle you can switch off.

  3. Link a timer to a coupon or sale

    In the timer editor, click Link a promotion and choose WooCommerce. You see coupons with their expiry dates and on-sale products with their sale end dates. Pick one and the countdown takes that deadline.

  4. Copy the embed for your email platform

    Click Embed (for an evergreen or dynamic timer, choose the email platform you send with there). Copy the image URL for an image block, or the HTML <img> snippet for a code block. Pasting works on every plan; on Pro and up you can also insert it into a Mailchimp or Klaviyo draft in one click.

  5. Restate the deadline and test

    Under the timer, add a line like "Code FALL20 ends Sunday at 11:59pm". Send a test, then change the coupon's expiry in WooCommerce and reopen the test: the countdown follows.

Why a store-connected countdown beats a typed-in date

Most email countdown timers make you type the deadline twice: once on the coupon in WooCommerce, once in the timer tool. When the sale is extended by a day, someone has to remember the second one, and until they do your emails count down to the wrong time. A connected timer reads the date from WooCommerce, so there is one source of truth.

WooCommerce stores two kinds of deadline, and flashtimer reads both: a coupon's expiry date and a product's sale price end date. Coupons or products with no end date are listed for reference but cannot set a deadline. Store connection and promotion sync are on Pro and up; the timer itself works on every plan.

Coupon webhooks: auto-create, update and archive timers

When you connect, flashtimer registers four coupon webhooks on your store and verifies every delivery's signature. With the toggles on, a new coupon with an expiry date gets its own timer, named after the coupon code. Change the expiry and the timer's deadline moves, including in emails already sent, because the GIF is rendered at each open. Delete the coupon and the timer is archived; restore it and the timer comes back.

Webhooks are not guaranteed by any platform, so flashtimer also re-checks linked promotions on a schedule against your store's current list. That backstop is what keeps product sale end dates in line too, since WooCommerce has no webhook for them.

  • Auto-create timers: a new coupon with an expiry becomes a timer.
  • Auto-update timers: a changed expiry moves the countdown.
  • Auto-archive timers: a deleted coupon archives its timer.

Put the timer in any email platform your store uses

WooCommerce does not send campaigns itself; your newsletters go out through an email platform or a WordPress newsletter plugin. The timer is an image URL, so it works in all of them: paste it into an image block, or paste the HTML snippet into a custom HTML block. For per-recipient features, pick your platform in the embed dialog and flashtimer adds its per-recipient merge tag where it has one, such as *|UNIQID|* for the Mailchimp countdown timer, {{ person.KlaviyoID }} for the Klaviyo countdown timer or [[contact.email]] for Omnisend.

A coupon countdown is the classic flash sale countdown timer email, and for the biggest weekend of the year see the Black Friday countdown timer email playbook.

Outlook, Apple Mail and Gmail

The timer animates in Gmail, Apple Mail, Yahoo, and Outlook on the web, Mac and mobile. Classic Outlook for Windows (2007–2019, and newer versions with Windows animations turned off) shows only the first frame of a GIF: the correct time left at the moment of opening, without the tick. That is why the text line with the coupon code and end date matters.

Apple Mail Privacy Protection pre-fetches images. By default those loads get the live countdown as it stood then; on Pro and up, Apple Mail options can show them a message, your fallback image or nothing instead, so cached opens never show a stale time. Gmail caches images through its proxy, so the timer is served with no-cache headers and a reopen shows the current time.

After the coupon expires, and troubleshooting

When the coupon expires, the timer shows your expiry message, or your own fallback image on Basic and up, so a shopper who opens next week is not sent to a code that no longer works.

Connection refused? Check the store URL uses https:// and the keys start with ck_ and cs_. If the message says WooCommerce wouldn't let the keys create webhooks, they are read-only: create Read/Write keys and connect again. Security plugins or a firewall that block /wp-json/ will also stop the connection.

Questions

Answered before you ask.