Step by step
How to add a countdown timer to a Klaviyo email
Create the timer in flashtimer
Set the deadline, pick a layout and apply your brand colors. Or describe the sale in a sentence and let the AI countdown timer generator draft it for you (Basic and up). For a flow, choose Evergreen in the Timing picker and set a duration such as 48 hours.
Send it to a draft campaign, or copy the URL
On Pro and up, connect a Klaviyo private API key (it starts with pk_) under Settings → Integrations, then use Send to ESP in the timer editor to drop the timer into a Klaviyo draft campaign in one click. On any plan, including Free, click Embed and use Copy URL or Copy HTML instead.
Add it to the email in Klaviyo
In Klaviyo's drag-and-drop editor, drag an Image block where the timer should go, choose Select image → Dynamic Image and paste the timer URL into the Dynamic variable or dynamic URL field. Or paste the copied HTML into an HTML block. Don't download the GIF and upload it: an uploaded copy is frozen and never counts down.
Link the timer to the offer
In the Image block, add a link to your sale collection or the cart; in an HTML block, wrap the <img> tag in an <a href> link. Replace the default alt text with the deadline, like "48 hours left on your cart discount". On Pro you can use a click-tracked flashtimer link, so clicks show up next to views in the timer's analytics.
Preview, test and send
Use Preview & test with a real profile selected, then send a test to Gmail and Outlook. Check the timer shows the right time left and that an evergreen URL carries a profile ID. Then schedule the campaign or turn the flow live.
Why use a countdown timer in Klaviyo
Klaviyo is where most e-commerce brands run their promotions and their automated revenue: Black Friday campaigns, flash sales, abandoned cart and welcome flows. All of them have a deadline, and a live countdown makes that deadline visible instead of buried in body copy. Because the GIF is drawn when the email is opened, a subscriber who opens 40 hours into a 48-hour sale sees 8 hours left, not 48.
A flashtimer timer is a plain image URL, so it fits anywhere Klaviyo accepts an image or HTML: campaigns, flow emails, and templates you save and reuse. There is no app to install inside Klaviyo, and you don't need a developer. For fixed-date promotions like a Black Friday countdown email or a flash sale, one timer serves the whole list.
Klaviyo evergreen countdown timer with {{ person.KlaviyoID }}
Flows trigger at a different moment for every profile, so one fixed deadline would be wrong for almost everyone in them. An evergreen countdown timer solves this: each subscriber gets their own countdown, which starts on their first open and runs for the duration you set, such as 24 or 72 hours. Reopen the email tomorrow and it carries on from where it was, not from the start.
To tell readers apart, the timer URL carries Klaviyo's profile ID tag: flashtimer adds ?vid={{ person.KlaviyoID }} to the URL in the embed snippet for you. That tag is an opaque ID, not the email address, and flashtimer hashes the value before storing it. Evergreen timers are on Basic and up.
If you prefer everyone in one send to share a countdown that starts at the send, choose Evergreen, starts on send instead and create a send link right before the campaign goes out.
Countdown timer in Klaviyo flows: abandoned cart, browse abandonment and welcome
Flows live under Flows in Klaviyo's left navigation. Open the flow, click the email you want to edit, and add the timer with the same Image or HTML block you use in a campaign. These three flows suit a timer best:
Keep the promise the timer makes. If the discount code in an abandoned cart email expires after 48 hours in Shopify, set the evergreen duration to 48 hours too. Our page on abandoned cart email countdown timers covers timing and copy for that flow in more detail.
- Abandoned cart (triggered by Started Checkout): show how long the cart discount or reserved stock lasts.
- Browse abandonment (triggered by Viewed Product): put a short, honest window on an offer for the product they looked at.
- Welcome series (triggered by joining a list): make the first-order code feel real with a welcome email discount countdown that runs 48 or 72 hours from first open.
Dynamic dates from Klaviyo profile properties
Sometimes every subscriber already has their own deadline: a trial end, a renewal date, a loyalty reward that expires. A dynamic timer (Pro and up) counts down to the date in each recipient's own email, using ?end= with a profile property, for example ?end={{ person.trial_end }}. Read more about personalized countdown timers.
flashtimer reads a plain date (2026-10-05), a date and time, ISO 8601 with a zone, or a Unix timestamp. If your property prints in another format, add Klaviyo's date filter in the URL: {{ person.trial_end|format_date_string|date:'Y-m-d' }}. Profile property names are case-sensitive, so the tag must match the property exactly. A missing or past date shows the expired frame, never a wrong countdown.
What subscribers see in Gmail, Apple Mail and Outlook
The timer counts down 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 any GIF. With flashtimer that frame is the correct time left at the moment of opening; it just doesn't tick. Always restate the deadline in text, such as "ends Sunday at midnight ET", for those readers.
Apple Mail Privacy Protection fetches images before the reader opens them. 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 deadline and brand styling
When the time runs out, the timer shows your expiry message, or your own fallback image on Basic and up, such as "This offer has ended, see what's new". Subscribers who open a flow email weeks later never see a row of zeros or a countdown to a sale that is already over.
Match the timer to your Klaviyo template with brand colors, multiple layouts and a transparent background. Paid plans can upload custom fonts, and labels come in several languages or "auto" per reader. See pricing for what each plan includes.
Questions
Answered before you ask.
Keep reading
- Abandoned cart emailsThe abandoned cart email countdown timer that starts when each shopper opensGive every shopper their own abandoned cart email countdown timer that starts on first open. Works in Klaviyo, Shopify and any ESP. Start free today.
- Evergreen timersEvergreen countdown timer for email: a personal deadline for every readerGive every reader their own deadline with an evergreen countdown timer email: starts on open or on send, built for flows. Set up in minutes. Start free.
- Shopify integrationShopify email countdown timer for your sales and discountsAdd a live Shopify email countdown timer to Shopify Messaging campaigns, and turn Shopify discounts into timers that update themselves. Start free today.
- Welcome offersWelcome email discount countdown timer: a real deadline for every new subscriberAdd a welcome email discount countdown timer that gives each new subscriber their own 48–72 hour window, starting on first open. Set it up free today.
- Dynamic timersPersonalized countdown timer email: every reader counts to their own dateSend a personalized countdown timer email where each reader counts down to their own date: trial end, renewal or appointment, from a merge field. Try it free.
