Countdown timers in Campaign Monitor
By Danish Mohammed. 6 min read
Campaign Monitor ships its own countdown, and its help article is unusually complete about where that countdown stops working. Read the limits first. If none of them touches your campaign, the built-in block is the simplest answer. If one does, a signed timer image goes into the same email builder as an ordinary image.
Does Campaign Monitor have its own countdown timer
Yes. Campaign Monitor’s countdown timer article says the block is “Available on the Unlimited and Premier monthly plans”, for users with permission to create campaigns. You drag a Countdown block into a section column and set an expiry date for it.
Then come the constraints, each stated in Campaign Monitor’s own words:
- “Countdown timers are only supported in campaigns. Journeys and transactional emails are not supported.” If you copy a design or template from a campaign to another email type, the countdown is removed.
- “Expiry times can be set up to 90 days in the future.” The article also advises setting the expiry “preferably with a few days’ buffer” after the send.
- “Expiry times are based on your account time zone, not your recipients’ time zones.”
- “Countdown timer fonts aren’t customizable.” The background takes the colour of the section it sits in, and the text is set to black or white, whichever gives the better contrast ratio.
- “To keep file sizes low, countdown timers will count down for five minutes, and then loop.”
- “Countdown timers have no alt-text.” Campaign Monitor’s advice is to write the expiry date and time somewhere else in the email for screen readers.
While you edit, the block shows zeroes; preview the email to see it count. The article does not say what the block shows after the expiry time.
When the built-in block is enough
Use it when all of these are true: the email is a campaign rather than a journey or a transactional message, your plan is Unlimited or Premier, the deadline is inside 90 days, one deadline in your account time zone is right for every reader, and the block’s fixed styling suits the design.
A signed timer from here is an ordinary image, so the campaigns-only rule, the plan requirement and the 90-day ceiling do not apply to it. It takes alt text you write, its design is set when you make it in the countdown timer generator, and from the Growth plan each recipient can have a deadline of their own. Like every timer from here, it loops.
Where the snippet goes
Campaign Monitor’s personalization article lists the places its email builder accepts personalization tags: “Links”, “Text blocks”, “Buttons” and “Images from a URL”. That last entry is the route for a timer. Add an image from a URL and paste the signed address of your timer.
For a template you code yourself, the same article says tags “can be typed directly into custom coded or plain text emails”. The snippet is a plain image tag inside a link:
<a href="https://yourstore.com/sale" target="_blank" rel="noopener">
<img src="https://img.emailtimer.app/i/k7mQ2pXd.gif?w=w_8ha3fq&v=3&sig=YOUR_SIGNATURE" alt="Sale ends Friday at 9am" width="600" height="200" border="0" style="display:block; width:100%; max-width:600px; height:auto; border:0;" />
</a>
Replace the src value with the address the generator gives you, unchanged.
Where merge tags may go
A timer image from here has a signed address, and its signature covers every parameter. A merge tag typed inside that address is filled in after the signature was taken, so the two stop matching and every recipient is served a blank, transparent image from the Worker in front of the image service. The response is still HTTP 200, which is why Campaign Monitor will not report a problem.
So there are two safe shapes. One address for the whole send works on the free plan, and each reader still sees the time left as of their own open. The other is one address per recipient, minted before the send by the REST API’s batch endpoint or from a recipient set exported as a CSV, on Growth or Agency. Batch minting covers both. In either shape, merge tags are free to go in the link and the alt text, which are not signed.
The field tag in Campaign Monitor
For per-recipient deadlines, import the minted addresses into a custom field and make that field’s tag the entire image source. Campaign Monitor generates the tag from the field name. Its example is a “Date of birth” field, which generates [Dateofbirth,fallback=], so a field named ET Image URL gives a tag like [ETImageURL,fallback=]. Check the generated tag in the email builder rather than typing it from memory. In a text block the path is Insert, then Custom fields, then the list you are sending to.
The fallback rules decide what an empty row does. Leave nothing after the equals sign for a blank fallback, or remove ,fallback= entirely, which Campaign Monitor documents as [firstname,fallback=] becoming [firstname]. With no data and no fallback, “a space will be inserted”. For an image source, that means no image, so fill the field for every subscriber who will receive the email.
In a coded template, the per-recipient version looks like this:
<a href="https://yourstore.com/offer" target="_blank" rel="noopener">
<img src="[ETImageURL]" alt="[firstname,fallback=Hello], your offer ends soon" width="600" height="200" border="0" style="display:block; width:100%; max-width:600px; height:auto; border:0;" />
</a>
What breaks in journeys and automations
By Campaign Monitor’s own rule, the built-in block is not available in a journey. That leaves an image, in an email written once and sent for weeks or months.
A fixed deadline in a journey email goes stale once the date passes, and nothing in the journey tells you. A per-recipient address solves this only if it exists before the email step sends, so the import of minted addresses has to run ahead of the journey, not alongside it. Campaign Monitor’s personalization article does not mention journeys, so send yourself a journey email with a populated field before you rely on it.
What your recipients will see
Once the email is delivered, the mail client decides what happens. Campaign Monitor names the Outlook case itself: its timer is an animated GIF, and “some email clients, such as Outlook” from 2007 to 2019 on Windows, “will only show the first frame of the timer”. Timers from here put the real time left into that first frame, so an Outlook reader sees a correct countdown that does not move.
Campaign Monitor also adds a condition to its own loop: the timer keeps counting “So long as the recipient’s email client does not cache images”. That applies to every remote image, and Apple Mail Privacy Protection and Gmail’s image proxy are the documented cases. Countdown timers in Outlook has the version-by-version detail. It is drawn from documentation; I have not watched a timer from here render in a real inbox.
Test before you send
Preview first, because the built-in block only counts in preview. Then test, and know what the test cannot show. Campaign Monitor’s personalization article says the web version you open from a test email is “a generic version that uses fallback terms rather than subscriber-specific data”. After the real send, “each subscriber will see their own customized web version”.
So a test proves the layout and the shared address. To check a per-recipient image, send to a list or segment that contains only your own address, with your row holding a real signed address, and open it in more than one client.
Questions and answers
Does Campaign Monitor have a countdown timer?
Yes, a Countdown block in the email builder, on the Unlimited and Premier monthly plans. It works in campaigns only, up to 90 days out, in your account time zone, and loops after five minutes.
Can I use a countdown timer in a Campaign Monitor journey?
Not the built-in block. Campaign Monitor says journeys and transactional emails are not supported, and a countdown copied into one is removed. An image from a URL is not affected by that rule.
Can I put a merge tag inside the timer image URL?
Not inside a signed address. The value is written in after signing, and every recipient gets a blank, transparent image. Store a complete signed address in a custom field and make that field’s tag the whole src.
Why does my per-recipient timer show nothing in a test?
Campaign Monitor documents that the web version of a test email uses fallback terms rather than subscriber data, and an empty fallback leaves the image source blank. Send to a list that holds only your own address instead.
What does a timer cost here?
One deadline for the whole send is on the free plan, with 5,000 image opens a month. A deadline per recipient needs Growth. The countdown timer generator makes a timer without an account, which works for 500 opens, or 1,000 once you sign in and claim it. Each plan’s limits are on pricing.
Sources
Related
Put a countdown in the campaign you are writing now
The free plan covers 5,000 opens a month with no card. Starter is $19 a month for 250,000.