Manley Communications

How to insert a countdown timer in Mailchimp (and why your test email looks broken)

If you've gone looking for a countdown block in Mailchimp, you already know how that search ends. Open the new email builder and you'll find Text, Image, Video, Product, Button, Social, Survey, Apps, and Code. The classic builder is the same story. Nothing counts down.

That's not an oversight. A countdown timer in email has to be an image that gets redrawn every time someone opens the message, and that's not something an ESP builds in-house. Mailchimp's own help article on countdown timers points you to third-party tools. So learning how to insert a countdown timer in Mailchimp really means learning two things: where to create the timer, and where to paste it.

This guide covers both, using Alterable, which has a free plan with no watermark and a dedicated Mailchimp setup flow.

Why a Mailchimp countdown timer is always an image

Email clients block JavaScript. Gmail, Outlook, Apple Mail, all of them. So a ticking clock built with code, the way you'd do it on a web page, simply can't run inside an email.

Timer services get around this with a clever trick. The "timer" is an image URL. When your subscriber opens the email, their mail client requests the image, the server works out how much time remains at that exact moment, draws it, and sends it back. Open the email again three hours later and the server draws a new image with three hours less on it.

From Mailchimp's point of view, it's just an image with a link around it. That's why it works everywhere.

Step 1: Create the timer

In Alterable (or whichever service you prefer), create a new countdown timer and choose a type. This choice matters more than the styling, so it's worth a minute:

Set the deadline and its timezone, then style the digits, labels, and colors to match your template. When you're done, copy the embed code. It's a link wrapped around an image, nothing more.

Step 2: Insert the countdown timer in your Mailchimp email

Here's the part people overthink. In the new builder:

  1. Drag a Code block from the side panel to where you want the timer.
  2. Paste the embed code into the Code block.
  3. Save.

In the classic builder it's nearly identical: drag in a Code block, paste the embed, and click Save & Close. Mailchimp's Code block documentation lists images, links, and tables as supported elements, so the timer comes through untouched. JavaScript would get stripped, but a timer doesn't use any.

Customer Journeys use the same builders, so the Code block works in automated emails exactly as it does in a one-off campaign.

Where to put the timer (this matters more than you think)

Put the Code block directly above your main call to action. A timer tucked into the footer rarely does anything. The clock exists to be seen at the exact moment someone decides whether to click, so it belongs right next to the button.

Keep it reasonably large on mobile, too. A timer shrunk to fit beside a product image becomes unreadable on a phone, and most of your opens are probably on a phone.

Giving each subscriber their own deadline with Mailchimp merge tags

A standard timer needs nothing from Mailchimp. The other two types need a merge tag added to the image URL, and that's where Mailchimp has a couple of quirks.

Evergreen timers need a unique ID

An evergreen timer has to know who's opening, so it can start the clock for that person and keep it consistent across repeat opens. Mailchimp's *|UNIQID|* merge tag does exactly that. You append it to the image URL as a parameter, something like ?uid=*|UNIQID|*, and each subscriber gets their own countdown.

Personal deadlines need a text field, not a date field

This one catches almost everybody. Mailchimp's audience date fields store a date with no time attached, and there's no filter to reformat a contact field into the format a timer expects. The *|DATE:...|* tag formats the send date, not a field on the contact.

The clean workaround is a plain text field, say OFFEREND, holding the deadline as a full ISO date like 2026-10-01T18:00:00Z. Whatever system knows the real expiry (your store, your CRM, a Zap) fills it in, and you pass it on the image URL as ?d=*|OFFEREND|*. Every subscriber then counts down to their own date.

Why your Mailchimp test email shows a broken timer

This is where most support tickets come from. Mailchimp's test sends don't fill in contact-specific merge tags. If your timer URL includes *|UNIQID|* or a custom field, the test email arrives with the tag still sitting in the URL as literal text, and the image fails to load.

Nothing is actually broken. To check it properly, use Preview mode with "Enable live merge tag info" switched on, or send the real campaign to a small segment containing only your own addresses. A standard timer has no merge tags in it, so it shows correctly in an ordinary test send.

What subscribers see after the deadline

People open emails late. Sometimes days late. So decide in advance what the timer should show once time runs out.

By default, most timers stop at zero and stay there, which is fine. A better option is an expired message or a replacement image ("This offer has ended, but here's what's new"). In Alterable you set that on the timer itself, and it takes effect for everyone who opens late, without touching the campaign in Mailchimp.

Nothing hurts trust faster than an email that keeps advertising a sale that closed on Tuesday.

Does the timer work in every inbox?

Mostly, yes. Gmail, Apple Mail, Yahoo, and the major mobile apps all display timer images normally. Classic desktop Outlook on Windows is the usual exception: it only shows the first frame of an animated GIF, so animated timers look frozen there. The time shown is still correct at the moment of opening, it just doesn't tick.

Alterable sidesteps that by drawing a still image of the exact time left instead of an animated GIF, so Outlook users see the same thing as everyone else. Every subscriber sees the same accurate deadline, whatever inbox they use.

One more thing to be aware of: Gmail and Apple Mail load images through their own proxy servers. For countdown timers that's mostly harmless, since the image is still requested at open. But if you ever see a timer that seems a little stale, that's usually why.

A quick checklist before you send

If you don't have a timer service yet, Alterable's free plan (alterable.com) includes countdown timers with no watermark and no credit card. The Mailchimp side takes about two minutes, most of which is picking colors.