EmailTimer.App

Put a countdown timer in a Gmail message

By Danish Mohammed, founder. , updated 5 min read

Build your timer

Deadline

The deadline is read in this zone. Daylight saving is handled by the zone itself.

Style
Size
Colours
Background colour picker
Digit colour picker
Label colour picker

Each colour box has a hex field beside it. Type into either one.

Labels and headline

Up to 60 characters, drawn above the timer. Merge tags are not available here.

Live preview

A countdown timer in the cards style, rendered by the EmailTimer.App engine
The real animated GIF, at the size it will be sent at. Nothing on this page draws a timer in your browser.

A downloaded GIF counts from the moment it was made, not from the moment it is opened. The hosted timer above is what counts from the open.

Get the code

This publishes the timer above and hands you the snippet. No email address, no account. Without an account, a timer from this generator works for 500 opens. Sign in and claim it, and the same timer works for 1,000 opens. After that, the image shows a note that its free opens are used up.

Keep it, or keep going

This timer works as it is, for 500 opens. To change the deadline later, see how many people opened it, use per-recipient evergreen timers, put a name or a code in the image, or use your own fonts, create a free account.

Create a free account

Two different questions arrive at this page under the same words, and they have different answers. One is about sending a countdown from a Gmail account, by hand, from the compose window. The other is about a marketing campaign that Gmail subscribers will read. Each section below says which one it is talking about.

Sending from Gmail: the compose window takes no HTML

Gmail’s compose window is a formatting toolbar over a rich-text area. Google’s own help documents adding an image “by dragging it directly into the compose window”. For a designed message it points to the Layouts feature, where you “insert, resize, and rearrange text boxes, buttons, images, and content” in a visual editor. Nothing in Google’s documentation offers a place to paste HTML source.

The Layouts page is blunter still about what happens afterwards. Once a layout is in the draft, “you can’t change the contents of the email draft directly”, and changes go back through the layout editor.

So the snippet the generator produces, with its anchor and its width attributes, has nowhere to go in a Gmail compose window. The image URL inside it does.

Sending from Gmail: the image URL route

Take the image URL rather than the HTML. Insert it as a picture from a web address, and Gmail fetches the image and places it in the message.

Google documents that option in its signature setup, where the choice is spelled “Web Address (URL)” and the instruction is to “Paste the image URL in the space provided”. The insert-photo dialog in compose offers the same choice. That part is an observation of the interface rather than something Google writes down, so check it in your own account before you promise it to anybody.

Two things follow from inserting a bare image. There is no link on the timer unless you select the image and add one. And compose gives you no alt text field, so a recipient with images off sees nothing where the timer was. For one-to-one mail that is usually acceptable. For a send to a list it is not.

Sending from Gmail: the signature case

A signature is stored once and reused on every message, which makes it the most useful place for a Gmail sender to put a timer. The same “Web Address (URL)” option adds it, and Google’s admin documentation covers rolling signatures out across a Workspace domain.

Use a deadline far enough out to be worth the trouble, such as the close of a quarter, and put a reminder in your calendar for the day it expires. An expired timer sitting under your name for six weeks says something you did not mean to say.

Reading in Gmail: the fetch happens at open

Now the other question. Your campaign went out from a real sending platform, and a large share of the list reads it in Gmail.

Google states the mechanism in one line: “When your users open email messages, Gmail uses Google’s secure proxy servers to serve images that might be included in these messages.” The open triggers the fetch. Delivery does not, which is the opposite of what Apple Mail does with Protect Mail Activity.

That makes Gmail the friendliest large client for a countdown. Somebody who opens on Thursday morning causes a request on Thursday morning, and the renderer draws Thursday morning’s numbers. Gmail plays animated GIFs, so the countdown moves.

Weekend sale countdown reading 03 days 14 hours 59 minutes, drawn for an open at 09:00 on Thursday The same countdown reading 02 days 05 hours 59 minutes, drawn for a fetch at 18:00 on Friday
The same timer drawn for a first open at 09:00 on Thursday, and drawn again for a fresh fetch at 18:00 on Friday. Each picture is made at the moment Gmail asks for it.

Reading in Gmail: what a second open shows

Google does not publish how long the proxy keeps a copy of an image. There is no documented lifetime, no purge endpoint and no stated rule for when a re-open causes a second request. Any figure you have been quoted for this came from a vendor’s observation.

What vendors report is consistent. MotionMail’s support article says Google has “a server that downloads the images from links in emails, and stores them at Google”. When a recipient views the message again, it says, Gmail “downloads this ‘old’ image instead of loading the timer new”.

The practical shape of it: the first open is accurate, and a later open can show the numbers from the first one. The timer looks stopped rather than wrong, which is what people report in forums. The longer version, with what the image service sends in its response headers, is on countdown timers in Gmail.

The publish panel in the EmailTimer.App dashboard, previewing one timer four ways: Gmail first open, Gmail opened again 20 hours later, Apple Mail with privacy protection, and Outlook on the desktop
The publish panel shows this before you send. A Gmail re-open inside the proxy's window replays the first picture, so it reads 20 hours more than is left.

What to do about it

For a Gmail sender, use the image URL and add the link by hand. Keep the deadline far enough out that a message read the next day still makes sense.

For a campaign read in Gmail, design for the first open, because that is the one the proxy makes a request for. Put the deadline in the subject line or in text near the image, so the message survives a stale frame. If a stale timer is the thing you are chasing, the decision tree is at why your email timer is stuck.

If much of your list reads in Outlook instead, the Outlook version of this generator opens on a style whose first frame stands on its own, and the GIF checker shows the first frame of a timer you already have.

Questions and answers

Can I paste HTML into a Gmail message?

Not in the compose window. Google documents images by drag and drop and designed messages through Layouts, with no place to enter HTML source. Use the image URL instead.

Why does my Gmail timer show a different time than my colleague’s?

Because you opened at different moments, and because one of you may be looking at a copy the proxy already held. The first open is the one that produces a fresh render.

How long does Gmail cache a timer image?

Google publishes no figure. Vendors report that re-opens can be served from an older copy, and that is the most that can honestly be said.

Do I need an account to make one of these?

No. The generator above hands over the image URL with no address asked for. That timer works for 500 opens without an account, and for 1,000 once you sign in and claim it. An account adds a deadline you can move after the send, per-recipient timers and open counts, free to 5,000 image opens a month. See 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.