Template

Confirmation email template for double opt-in

Last reviewed 18 September 2026

A confirmation email has one job: get one click from the person who just typed their address. So it names the specific thing they asked for, says what arrives and when, carries exactly one link, and contains nothing else. Three variants are written out below, plain, warm and for a list you imported, along with what must never be in one and how long the link should stay valid.

Most unconfirmed addresses are not refusals. They are people whose confirmation email arrived looking like a phishing attempt, or said "Confirm your subscription" with no clue what the subscription was, or landed in a promotions tab thirty seconds after they had closed the tab they signed up in. The copy below is written against those three failures. Take it, replace the placeholders, and send it within seconds of the form being submitted.

Variant 1: the plain confirmation

Subject: Confirm your place on [the course title]. Preheader: One click and the first email arrives tomorrow morning.

Body: You asked to join [the course title], a [five]-day email course on [the thing you teach]. Click the button below and you are in. The first of the [five] emails arrives tomorrow morning; the rest follow one a day after that, and then they stop. If you did not ask for this, ignore this message. It is the only one you will get, and nothing else is sent to this address unless you click.

The link: [Confirm and start the course]. Underneath it, the same URL again as plain text, on its own line, so a reader who does not trust buttons has something to copy and a client that strips them still has something to click.

Why this email is shaped this way: every sentence is load-bearing. The course is named, because the reader closed your page and may have signed up for three things this week. The schedule is stated, because surprise about frequency is a common cause of complaints. The last two sentences are the promise that makes confirmation honest rather than a hurdle, and they are also what a reader needs in order to feel safe ignoring a message they did not expect.

Variant 2: the warm confirmation

Subject: Nearly in. One click for [the course title]. Preheader: Then I will leave you alone until tomorrow morning.

Body: Hello. [Your name] here. You have just asked for [the course title], which is [five] short emails about [the thing you teach], one a morning, starting tomorrow. There is one click between you and day one, and it is the button below. I ask for it because it proves the address is really yours, which keeps this list clean and keeps my mail out of everybody else’s spam folder. If this was not you, do nothing at all and you will not hear from me again.

The link: [Yes, send me day one]. Same URL repeated as plain text below it, same reason as in the plain variant.

Why this email is shaped this way: the warm variant costs a few words and buys recognition, which is the single biggest driver of the confirmation rate. A named human in the first line makes the From address make sense. Explaining why the click is being asked for converts the step from an obstacle into a reason, and readers who understand the reason click at a noticeably higher rate than readers handed a bare instruction. The tone can be anything you like as long as the four facts survive: who, what, when, and what happens if they do nothing.

Variant 3: re-permission for an imported list

Subject: Do you still want to hear from me? Preheader: One click to stay. Otherwise this is the last email.

Body: You are on a list I have been keeping since [when and where they signed up: a form, a purchase, an event]. I am starting [the course title] and I do not want to send it to anyone who did not ask for it, so I am asking once. Click below to stay on the list and get the course. Do nothing and I will remove your address, and this will be the last message you receive from me. No hard feelings either way.

The link: [Keep me on the list]. Plain URL underneath. Nothing else in the message: no offer for staying, no survey, no second link.

Why this email is shaped this way: a re-permission message is the only one of the three that has to admit where the address came from, because the reader does not remember. Naming the source is what turns a message that looks like spam into one that looks like a sender being careful. The commitment to delete on silence is what makes it defensible, and it has to be honest: if you send this and keep mailing the people who ignored it, you have converted a list with weak consent into a list with documented weak consent. Expect a large majority not to click; that is the information you were missing.

What must not be in a confirmation email

A confirmation email is measured by one number, the share of recipients who click the one link, and everything else in the message competes with that number.

Leave all of this out, however tempting:

  • The content itself. If day one is in the confirmation email, the click has no purpose, and an address that never confirmed has now received the course. The whole promise of confirmed opt-in is that an unconfirmed address receives exactly one message, ever.
  • An offer, a discount or a product mention. A second call to action does not add a conversion, it splits the first one.
  • A second link of any kind: your social accounts, your other course, a preferences page, an unsubscribe link. There is nothing to unsubscribe from yet, and an unsubscribe link here mostly harvests people who would have confirmed.
  • Images doing the work of text, or a link whose visible text is a raw tracking URL. Both read as phishing, and phishing is the exact thing a stranger is deciding about when they open this message.

Timing: seconds to send, hours to expire

Send it within seconds of the form being submitted, not on a cron, and say on the page that it is on its way. The confirmation rate falls with every minute of delay because attention decays fast: a reader who is still on your site will go and look, and a reader who has moved on will not. If your sending path can be slow, this is the message to make the exception for.

Expire the link, but not quickly. Somewhere between 24 and 72 hours is the usual window, and it exists so that a link forwarded or archived cannot be clicked into a subscription months later by somebody else. Make the expiry page useful rather than a dead end: say the link has expired, and offer a form to start again with the address already filled in.

Do not send a second confirmation automatically. One unrequested message to an address that never asked for it is the entire budget confirmed opt-in gives you, and a reminder spends a budget you do not have on somebody who may never have typed the address. If you want to recover the unconfirmed, recover them where they signed up: on the page, in the same session, by saying clearly that the email has been sent and what to look for.

Common questions

What should a confirmation email say?

The name of the specific thing the reader asked for, what arrives and when, one link to confirm, and one sentence saying that nothing further will be sent if they do nothing. Nothing else. A reader who signed up thirty seconds ago on a page they have already closed still needs telling what this is.

What subject line works for a confirmation email?

One that names the thing and the action: "Confirm your place on [the course title]" beats "Please confirm your subscription", because the second could be from anyone. Put the payoff in the preheader, along the lines of "One click and the first email arrives tomorrow morning".

Should I send a reminder if someone does not confirm?

No, not automatically. The promise that makes confirmed opt-in meaningful is that an unconfirmed address receives exactly one message ever, and a reminder breaks it for the addresses most likely never to have asked. Recover the unconfirmed on the sign-up page instead, in the same session.

How long should a confirmation link stay valid?

Usually between 24 and 72 hours. The expiry stops a forwarded or archived link being clicked into a subscription months later by somebody else. Make the expired-link page offer a way to start again with the address prefilled, rather than being a dead end.

Write the confirmation email with the same care as day one of the course, because for a sizeable share of the people who sign up it is the only thing you will ever send them. Name the course, state the schedule, one link, nothing else.

Read next

This page is part of Email deliverability for small senders: authentication and reputation, which is the complete guide to the subject.

These guides are about the format rather than about any particular tool. What this site itself does is on the home page, and the rest of the set is on the guides index .

Elsewhere on this site

The rest of this site comes at the same subject from other directions: guides on the format itself, a tool for one job each, a page for each kind of work, and what to check when choosing software.

Thinking of writing one of these?

5dayemail hosts a five-to-ten day email course: you write it once, and everyone who joins your list gets one email a day, in order, starting from the day they confirm.

Accounts are opened a few at a time rather than by signing up. Leave your address and you will be written to when the next ones open.

One message, when there is room. No course emails, no newsletter, and the address is not passed on. Ask and it is deleted; what is kept, and for how long, is in the privacy policy.