How to add a countdown timer to Mailjet emails

In short

Mailjet has its own Countdown Timer block for fixed dates. If you want a different style, your own message when time runs out or a separate deadline for each contact, create the timer here, copy the HTML and paste it into an HTML block in the editor. For the per-contact deadline, add ?rid={{mj:contact.ID}} to the image URL.

Updated on · AP Agency

Mailjet ships a Countdown Timer block in its editor. For a fixed-date offer with a simple design, it may be all you need. This page covers what that block doesn't, going by its documentation: styles and fonts beyond the web-safe set, your own message when time runs out, and a separate deadline for each contact. You build the timer here and paste it into an HTML block.

Based on Mailjet's official documentation, reviewed on October 1, 2026.

Make your own

The generator is already set up for this page. Change what you need and press Create timer.

Live Preview of a countdown GIF with days, hours, minutes and seconds

Animated GIF. Recalculated every time the email is opened.

Start from
Timer typeRecurring: Starter plan
Duration for each recipient

With your platform's merge tag in the URL (Starter plan), each person gets their own deadline from the first open. Without it, every open shows the full duration.

Repeats
Days of the week

When it reaches zero it starts again, counting to the next date.

StyleYou can try Pro styles here
Free
PRO
UnitsHide days and the hours absorb them
Colors

Smooths the digit edges so they blend into that background.

Background image STARTER

Put a photo or a texture behind the digits. It needs an account on the Starter plan. Create account · See plans

More font and text options

More than 1,500 families from the Starter plan. On that plan the preview loads them from our server; without it, you see Inter.

Size
Label language
Labels
When it reaches zero

Free, no signup. You get the code to paste into your email.

This option is on a paid plan

You can try it in the preview, but to use it in an email you need the plan Starter.

    Which block to use

    Mailjet's Countdown Timer. You pick the end date and time zone, which units show, colors, separator and labels. Mailjet renders it as an image. It only supports web-safe fonts (Arial, Georgia, Helvetica and so on), and when it reaches zero it stays at 00:00:00:00. Its documentation doesn't mention per-contact deadlines.

    HTML block with the Kauntodaun timer. This is the one you need for everything else. You paste a table holding the timer image, which is requested from our server every time someone opens the email. When time runs out, it shows the text you choose or disappears. Mailjet's documentation doesn't tie this block to any plan.

    Not the Image Gallery. If you upload the GIF to the gallery, even with "import from URL", Mailjet stores a copy with the frame from that moment and the timer freezes. The image block also has an option to link an image that's already online, but the documentation doesn't say whether Mailjet copies it. Use the HTML block.

    Step by step in a campaign

    1. Build the timer in the generator with your end date and time zone. If your template is 600 px wide, keep the width at 600 or less.
    2. Copy the code from the HTML tab.
    3. In Mailjet, go to Campaigns and click Create a Campaign, or open a draft, and go into the design with the drag-and-drop editor.
    4. Drag an HTML Block to where you want the timer, for example right below the header.
    5. Click the button in the block's toolbar to open the HTML editor and paste the code.
    6. Save and check the result in Preview & Test.

    The code already has its & escaped and the background color set on the table and the cell, so you won't get white edges around the GIF.

    Put the deadline in the copy too, for example "Ends Sunday, November 29 at 11:59 p.m. Eastern." Anyone who only sees the first frame, or has images blocked, still knows when the offer ends.

    In an automation

    In Mailjet's automation builder, the email comes from the Send Email block. Click Edit design to open the editor, drag in an HTML Block and repeat steps 4 to 6.

    According to Mailjet, automations are only on the Premium and Custom plans. If you downgrade to a plan without them, active workflows pause.

    With a fixed date, the workflow can send the email on any day: the GIF is rendered at open and shows what's left until that date. For workflows where each contact gets their own window (a welcome email with a 72-hour coupon, an abandoned cart), use an evergreen timer with the contact tag.

    Per-contact countdowns

    An evergreen timer counts a duration, say 72 hours. What changes is when it starts:

    For the second option, add the tag to the image URL inside the code:

    https://kauntodaun.com/t/k3x9q2m7ab.gif?rid={{mj:contact.ID}}
    

    According to Mailjet's template language reference, {{mj:contact.ID}} returns the Mailjet contact ID. It's a predefined variable, and Mailjet asks you to write those starting with mj: in double curly braces. There's also {{mj:contact.email}}, but we prefer the ID so the email address doesn't end up in the image URL.

    Mailjet also explains that its template language works inside HTML blocks, which is where the code goes. We store the ID as a hash. If the tag arrives empty or unreplaced, the engine ignores it and counts from that moment.

    How to test before you send

    1. Preview. In Preview & Test, the preview shows the design on desktop and mobile. Use it to confirm the image loads.
    2. Test email. From Preview & Test, send a test to up to 10 addresses. Mailjet's documentation doesn't say whether contact variables get replaced in tests; if they don't, the timer will count from each open.
    3. Live send to your own list. Your account comes with a list called MyFirstTest that holds your email address. Send the campaign to that list, or to one with two or three of your own addresses, and open the email twice a few minutes apart. With a per-contact timer, the second open should show less time.
    4. Email clients. The Email Preview feature renders the email in different clients. Mailjet says it's on every paid plan except Starter.
    5. Outlook. Microsoft says Outlook for Microsoft 365, 2021 and 2024 animate the GIF when Windows animations are on; otherwise you'll see the first frame with the time left.

    Known issues

    Other platforms

    See also the guides for Brevo, ActiveCampaign, Klaviyo and Mailchimp. For dated campaigns, the Black Friday and Cyber Monday countdowns are ready to go.

    Common questions

    Does Mailjet have a built-in countdown?

    Yes. Mailjet's editor includes a Countdown Timer block with an end date, time zone, colors and web-safe fonts. When it reaches zero it shows 00:00:00:00. Its documentation doesn't mention separate deadlines per contact.

    Which block do I use to paste the Kauntodaun timer?

    The HTML block. Drag it into the email and open its HTML editor from the toolbar. Mailjet also processes its template language inside this block.

    Which tag do I use for a per-contact timer?

    {{mj:contact.ID}}, which Mailjet's reference says returns the Mailjet contact ID. It takes double curly braces, which is how Mailjet asks you to write its predefined variables.

    Does it work in Mailjet automations?

    Yes, in the workflow's Send Email block, which has its own design editor. According to Mailjet, automations are only on the Premium and Custom plans.

    Can I upload the GIF to the Image Gallery?

    We don't recommend it. The gallery stores a copy, even when you import from a URL, and that copy has the frame from the moment of upload. The timer would stop counting.

    Will it show in Outlook?

    Microsoft says Outlook for Microsoft 365, 2021 and 2024 play animated GIFs when Windows animations are on. Otherwise readers see the first frame, which already shows the time left.

    Sources

    1. Editor blocks: HTML Block (drag it in, open the HTML editor from the toolbar) and Countdown Timer (end date, time zone, web-safe fonts only, no custom fonts, shows 00:00:00:00 at the end); image block with Upload, Image Gallery or Link; test send to up to 10 recipients from Preview & Test. documentation.mailjet.com, accessed on
    2. Predefined variables (contact ID and email) use double curly braces; [[data:property]] for contact properties; template language inside HTML blocks; variables in image URLs without default values. documentation.mailjet.com, accessed on
    3. mj:contact.ID returns the Mailjet contact ID; mj:contact.email the email address; UrlEncode function. dev.mailjet.com, accessed on
    4. The Image Gallery stores uploaded images, including those imported from a URL. documentation.mailjet.com, accessed on
    5. Automations only on Premium and Custom; Send Email block with Edit design. documentation.mailjet.com, accessed on
    6. Accounts come with a MyFirstTest list holding your email; preview and test email. documentation.mailjet.com, accessed on
    7. Email Preview across email clients: all paid plans except Starter; available for automation emails. documentation.mailjet.com, accessed on
    8. Outlook for Microsoft 365, 2021 and 2024 play animated GIFs by default; with animations off only the first frame shows. support.microsoft.com, accessed on
    9. Apple Mail Privacy Protection downloads remote content in the background whether or not the email is opened. apple.com, accessed on
    10. Engine: rid hashed, empty or unreplaced tag ({{ … }}) ignored, rid ignored on the free plan, first request with a rid sets the start. Kauntodaun technical documentation, accessed on
    Code copied