To add a countdown timer to an email, create the timer in a countdown tool, copy its image URL, and paste that URL into an image block in your email (or paste the tool's HTML snippet into an HTML block). The timer is an animated GIF drawn at the moment each reader opens the email, so it always shows the real time left.
That's the whole method, and it works in every email platform that displays images: no plugin, no JavaScript, no code beyond copy and paste. The rest of this guide covers the choices that decide whether it works well: image URL or HTML, which timer type, platform-specific notes, testing, and what readers see after the deadline.
Email clients don't run JavaScript, so a ticking clock built for a web page won't run inside an email. A live email timer gets around that by being an image. When a reader opens your email, their email client requests the image from the timer service. The service draws a GIF on the spot: the first frame shows the time left at that second, and the following frames count down from there.
Two things follow from that design, and both matter later:
Most timer tools, flashtimer included, give you both. In flashtimer, the Embed your timer dialog has a copy button for the URL and one for the HTML.
Use the image URL when your email editor has an image block that accepts a link to an image. This is the simplest option and keeps the timer editable like any other image: you can set alignment, padding and a click-through link in your platform's own controls.
Use the HTML snippet when your editor has an HTML, code or custom-code block, or when you want exact control over the markup. flashtimer's snippet wraps the image in a full-width table cell with an align attribute, so it centers correctly even in classic Outlook, which ignores CSS margin: auto.
Either way, two rules apply:
?vid={{ person.KlaviyoID }}). Your platform replaces it with each recipient's value at send time. Edit it out and every recipient shares one countdown.Set the deadline and time zone first, then the look. In flashtimer you can describe the sale in a sentence and let the AI timer generator draft the deadline, style and copy for you to review (Basic and up), or build it in the editor: multiple layouts, your brand colors, label language, and an expiry message.
Double-check the time zone. "Ends at midnight" in the wrong zone is the single most common timer mistake, and it's invisible until a reader in another country writes in.
Open Embed in the timer editor. Click the copy button for the URL if you'll use an image block, or the one for the HTML if you'll use an HTML block. For an evergreen timer that starts on open, choose your platform in the dialog and the copied URL already contains its per-recipient merge tag, where the platform has one.
In your email editor:
Place it near the top of the email, next to the offer and the button it supports. Add a click-through link on the image to the same page as your main call to action.
Add one line of text near the timer, such as "Sale ends Sunday at 11:59 pm ET". Then set the image's alt text to the same sentence. flashtimer's timer arrives with "Countdown Timer" as its alt text, whether you paste it or insert it in one click, so change it in your email platform. These two lines cover classic Outlook, readers with images off and screen readers.
On the Pro plan, flashtimer can insert the timer for you. Connect your platform once under Settings → Integrations by pasting its API key, then open the timer's Send to ESP panel, pick a draft campaign and click Send to followed by your platform's name. The timer lands in the draft, with your platform's per-recipient merge tag on evergreen timers where it has one. You then review and send from your own platform as usual.
The image URL method works on every plan, including Free, in every platform below. "One-click" means flashtimer can also insert the timer into a draft campaign for you (Pro and up). The merge tag shown is the one flashtimer adds to evergreen timer URLs on that platform.
{{ person.KlaviyoID }}.*|UNIQID|*.{{ contact.hs_object_id }}.[[contact.email]].%EMAIL%.{{ contact.EMAIL }}.{$email}.{{ subscriber.email_address }}.{{email}}.[[email]].[[emailAddress]].[email].{{email}}.{{email}}.{{ subscriber.email }}.Using something else? The image URL works anywhere an image does. For platforms with a per-recipient merge tag not listed here, the embed dialog explains what to paste.
The timer type decides whose deadline the clock counts down to. Pick it before you design.
Only an evergreen or dynamic timer should be used when the offer genuinely differs per person. A personal 48-hour clock on a sale that ends for everyone on Friday is both confusing and, in some countries, a legal problem. The email countdown timer best practices guide covers that in detail.
If the time looks stale in Apple Mail or doesn't move on reopen, see why a countdown timer GIF isn't updating.
People open emails days later. When the countdown ends, a good timer doesn't sit at zero. flashtimer swaps it for your expiry message ("This offer has ended"), or on paid plans your own fallback image, which can point readers to what's still available. Set this before you send; it's part of the timer, not the email.
Then make sure the offer really ends: switch off the discount code, or update the landing page. A timer that hits zero while the price stays the same undermines every timer you send after it.
Yes, if the platform shows images. A live countdown is an image URL, so you paste it into an image block, or the HTML snippet into an HTML or code block. That works in every major email platform, on every flashtimer plan including Free. One-click insertion into draft campaigns is an extra on Pro.
No. The image URL method needs no code: add an image block, choose to use an image from a URL, and paste. The HTML snippet is there for editors that only accept code or for people who want exact control. If you do use it, paste it into an HTML or code block, not a rich text block.
Near the top, next to the offer it supports and the main button, so readers see it without scrolling on a phone. Put the written deadline directly above or below it, and link the timer image to the same page as your call to action. One timer per email is enough; two clocks compete for attention.
It shows in every Outlook version that loads images. Outlook on the web, Mac, mobile and the new Outlook for Windows animate it. Classic Outlook for Windows shows only the first frame, which is the correct time left at opening but doesn't tick. Always write the deadline in text as well.
Use an evergreen timer, which starts each recipient's countdown at their first open, or a dynamic timer, which counts down to a date stored on each contact. Both need a merge tag in the image URL. For an evergreen timer the embed snippet adds your platform's per-recipient tag, where the platform has one; for a dynamic timer you type your date field in the embed dialog and it adds that field's merge tag on platforms whose syntax it knows, and leaves YOUR_MERGE_TAG for you to replace on the rest.
flashtimer's Free plan includes 20,000 views a month and three active fixed timers in every layout, with no card required. Free timers carry a small flashtimer mark. Evergreen, recurring and fallback images start on Basic at $9 a month; one-click integrations start on Pro.
Create a timer, copy the URL, paste it into an image block, send a test. It takes about five minutes. Start free — no card.