Braze integration

Braze countdown timer for email campaigns and Canvas

A Braze countdown timer from flashtimer is a live GIF linked by URL, rendered at the moment each user opens the email, so it always shows the real time left. Braze is a snippet platform: you copy a ready-made snippet from flashtimer and paste it into your Braze message. It works on every plan, including Free.

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

Your store

The sale ends soon. Don't miss it.

Offer ends in

Bold gaming-style Braze countdown timer for a limited-time email offerShop the sale

Step by step

How to add a countdown timer to a Braze email

  1. Create the timer

    Describe the offer and Create with AI drafts it (Basic and up), or use the editor: multiple layouts, your brand colors, a transparent background if your email has a colored band. Choose the timer type that fits your send (see below).

  2. Copy the Braze snippet

    Click Embed in the timer editor; for an evergreen or dynamic timer, choose Braze as the email platform there. Copy the image URL or the HTML <img> snippet. There is no one-click insert for Braze; the snippet is the way in.

  3. Paste it into your Braze message

    In the drag-and-drop editor, add an HTML block and paste the snippet, or use an image block with the timer URL. In the HTML editor, paste the snippet where the countdown belongs. Link the image; never upload the GIF, which would freeze it.

  4. Use Liquid only in the HTML block

    Braze's own docs say Liquid personalization is not supported in image block fields. If your URL carries a Liquid tag (a dynamic timer's ?end=), paste the snippet into an HTML block or the HTML editor so Braze renders it.

  5. Preview as a user and send a test

    Use Preview & Test with a real user so any Liquid resolves, then send a test to Gmail, Apple Mail and Outlook. Add the deadline in text under the timer.

Choosing the right timer type for Braze

Many platforms let flashtimer give each recipient their own evergreen countdown through a per-recipient merge tag. flashtimer's Braze snippet does not include one. That means an evergreen "starts on open" timer sent from Braze will not be per user: everyone who gets the email shares one countdown, started by the first open. We would rather tell you that here than have you find out after a send.

Braze teams have three options that do work as intended:

  • Fixed: one deadline for everyone, such as a Black Friday sale ending Monday at midnight. No tag needed. Free plan and up.
  • Evergreen, starts on send: everyone in one send shares a countdown that starts at the send, via a signed send link you create right before sending.
  • Dynamic: each user counts down to a date on their profile, via a Liquid tag in the URL (Pro and up). This is the per-user option for Braze.

Per-user deadlines with Liquid and dynamic timers

Most Braze programs already store the deadline that matters: a trial end date, a subscription renewal, a points expiry. A dynamic timer reads that date from the URL. Type the custom attribute's name in the embed dialog and flashtimer writes Braze's tag for you, for example ?end={{custom_attribute.${trial_end}}}, following the custom attribute syntax in Braze's documentation.

The timer accepts ISO 8601 with or without a time zone, a plain date, a date and time followed by UTC, or Unix seconds and milliseconds. A missing or past date shows the expired frame and an unreadable one a neutral "currently unavailable" image, never a wrong countdown. See personalized countdown timer email for formats and use cases.

Countdown timers in Braze Canvas

In a Canvas, users reach a Message step at different times, so the timer type matters more than in a one-off campaign. A fixed timer fits a Canvas with a hard end date, such as a launch or a seasonal sale; see the Black Friday countdown timer email setup. A dynamic timer fits onboarding, trial and renewal journeys, because the deadline travels with each user.

If the same deadline repeats on a schedule, like a weekly drop every Thursday at 6pm, a recurring countdown timer resets on that wall-clock rule in your time zone and never needs editing between sends.

What users see in Gmail, Apple Mail and Outlook

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 of a GIF. That frame is rendered at open time, so the number is right, but it does not tick. 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 proxies images, so the timer is served with no-cache headers and a reopen shows the current time.

After the deadline, and troubleshooting

When time runs out, users see your expiry message, or your own fallback image on Basic and up. Nobody who opens late sees a countdown to an offer that has ended.

Timer shows as expired for everyone? Open a sent test and check the image URL: if ?end= is empty, the attribute is missing on that user or the snippet sits in an image block where Braze did not render Liquid. Timer not showing at all? Braze requires image URLs to start with https://, which flashtimer URLs always do, so check the snippet was pasted whole.

Questions

Answered before you ask.