Iterable integration

Iterable countdown timer for templates, campaigns and journeys

An Iterable countdown timer from flashtimer is a live GIF, rendered the moment each user opens the email, so the time left is always real. Use it in blast campaigns and in journeys. Paste the image URL into any template on the free plan, or connect Iterable on Pro and insert it into a template in one click.

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

Your store

The sale ends soon. Don't miss it.

Offer ends in

Elegant gold Iterable countdown timer for a lifecycle email offerShop the sale

Step by step

How to add a countdown timer to an Iterable template

  1. Create the timer

    Start from Create with AI (Basic and up) with a sentence like "48-hour win-back offer, navy and gold", or set it up in the editor. For journeys, choose Evergreen so each user's window starts at their own first open.

  2. Copy the Iterable embed

    Click Embed in the timer editor. For an evergreen timer that starts on open, or a dynamic one, choose Iterable as the email platform there; an evergreen timer's URL then ends in ?vid={{email}}, which Iterable fills from each user's profile at send time. Copy the image URL or the <img> snippet.

  3. One click: insert it into a template (Pro and up)

    Connect Iterable under Settings → Integrations with an API key. In the timer editor, Send to ESP lists your email templates; pick one and a position, and flashtimer adds the timer to the template's HTML as a table row.

  4. Or paste it (every plan, including Free)

    In the WYSIWYG or Side by Side editor, paste the snippet into the HTML where the countdown belongs. In the Drag and Drop editor, add an HTML block and paste the snippet there, or set an image block's source to the timer URL. Never upload the GIF itself: an uploaded copy is frozen.

  5. Preview with a real user and test

    Preview the template against a test user so {{email}} resolves, then send a proof to Gmail, Apple Mail and Outlook. Add a text line with the deadline under the timer.

Why lifecycle teams put countdowns in Iterable emails

Iterable is built for lifecycle messaging: onboarding, trial conversion, browse and cart recovery, win-back. Most of those programs carry a deadline that belongs to one user, not to a calendar date. A static "offer ends soon" line is vague; a countdown that shows 31 hours left is specific, and it is correct whenever the user opens.

Use a timer only where something actually ends. If an offer quietly renews, a countdown that hits zero and resets erodes trust. For daily cutoffs that really do repeat, a recurring countdown timer resets on a wall-clock rule in your time zone and never shows a false zero.

Per-user evergreen timers with {{email}}

Evergreen timers need to tell users apart. For Iterable, flashtimer uses {{email}}, the Handlebars expression for the user profile's email field, and puts it in the URL as ?vid={{email}}. Iterable substitutes each address at send time and flashtimer hashes it before storing anything.

Each user then gets the same duration, for example 72 hours, counted from their first open of that email. Open on Monday, the offer ends Thursday; open on Wednesday, it ends Saturday. That is the core of an evergreen countdown timer email, and it is what makes one template usable in a journey that runs for months.

Countdown timers in Iterable journeys

In a journey, each user reaches the email tile at a different time, so a fixed deadline only fits a program with a hard end date. For everything else pick one of two personal modes. Evergreen starts the clock at the first open. Dynamic (Pro and up) counts to a date already on the user's profile or the triggering event, such as trialEndDate.

For a dynamic timer, type your field name in the embed dialog and flashtimer writes the Iterable tag into the URL, for example ?end={{trialEndDate}}. Iterable field names are case-sensitive, so match the profile exactly. Dates in ISO 8601, a plain date, or Unix seconds all work. A missing or past date shows the expired frame. See personalized countdown timer email for more examples, including a welcome email discount countdown timer.

Gmail, Apple Mail and Outlook behavior

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: the correct time left at the moment of opening, without the tick. Always restate the deadline in text.

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's image proxy is handled with no-cache headers, so a reopen shows the current time.

After the deadline, testing and troubleshooting

When a user's time runs out they see your expiry message, or your own fallback image on Basic and up. For a journey, that means a user who opens a week late sees "This offer has ended" rather than a broken promise.

Teams on Business and Enterprise can A/B test countdown timer designs to see which layout gets more clicks. If every user shares one countdown, open a sent proof and check the image URL: {{email}} should have become an address. If it did not, the snippet sits somewhere Iterable does not render Handlebars.

Questions

Answered before you ask.