Skip to content

How unsubscribes work

Every message ColdMerge sends carries a way out. This page explains what that way out is, what a recipient sees when they take it, and what happens on your side.

There are two separate opt-out mechanisms, and they are independent of each other. Both write to the same suppression list.

Every message carries an invisible header called List-Unsubscribe, along with the one-click marker (List-Unsubscribe-Post) that RFC 8058 defines. It is not part of the body, so nobody reading your email sees it as text. It is a signal to the mail client.

A mail client that acts on it can show its own unsubscribe control, usually near the sender name at the top of the message.

The second layer is a short block appended to the end of the message: one sentence with the word “unsubscribe” as a link, and your postal address underneath. A recipient can see it and click it, whatever their mail client decided to do about the header.

This is the reliable layer. It is the one you control, and it is the one that is there every time. It is off by default, and turning it on is one switch. See Set up the unsubscribe footer.

Both layers point at the exact same link, so a recipient who clicks the footer and a mail client that presses the header control reach the same place and produce the same result.

The link opens a small page. It has no JavaScript and nothing to load, on purpose: it gets opened inside mail-client browsers, behind corporate gateways, and on phones with one bar, by people who have already decided to leave.

The page says Unsubscribe, then “Confirm below and the sender will stop emailing you.”, and offers one button.

Selecting the button records the opt-out and the page changes to You have unsubscribed, with the line “The sender will not email you again. You can close this page.”

The recipient-facing unsubscribe page as served by the API, in both of its states side by side:
the confirmation page with its single “Unsubscribe” button, and the completed “You have
unsubscribed” page. Capture at phone width, since that is where most recipients open it.

The page never shows the recipient’s address, which mailbox sent the message, or which company you are. Following the link tells whoever followed it nothing.

Opening the link changes nothing. Only pressing the button does.

That split is deliberate. Link scanners, corporate security gateways, and browser prefetchers all follow links in email automatically, without anyone asking them to. If simply opening the link unsubscribed somebody, those tools would quietly opt people out of mail they actually wanted, and neither you nor they would ever know why the mail stopped.

So the page you land on is a question, and the answer is a separate action. A scanner that walks the link sees a page and leaves. A person who wants out presses the button.

The one-click header control skips the page, because a mail client pressing it is a deliberate human action rather than an automated crawl.

When an opt-out is recorded:

  • The address goes on your suppression list with the reason Unsubscribed and the source Unsubscribe link.
  • Every campaign stops mailing that person, not just the campaign they opted out of. Suppression is account-wide.
  • Any follow-up steps still waiting for them are ended.

Nothing about this is an error, and ColdMerge does not present it as one.

If the same link is used twice, or a mail client retries the one-click press, or the recipient presses the button again a week later, nothing breaks and nothing is double-counted. The second write lands on a row that already exists and is absorbed. The recipient still sees the “You have unsubscribed” page.

The same holds for an address that is already suppressed for some other reason. The first record of why an address is on the list is the one that is kept. A later opt-out never overwrites it.

The token in an unsubscribe link is a plain opaque value. It is not signed, and that is a deliberate choice: these links sit in people’s mailboxes for years, and if ColdMerge signed them with a secret, rotating that secret would break every link ever sent.

So a link from a message you sent two years ago still works today.

The one exception is a contact who has been erased. Erasing removes the contact and their messages, so there is no longer a token to resolve and the old links stop working. That is harmless: the suppression stays in place regardless, because it is kept as a one-way hash that survives the erasure. See Delete versus erase a contact.

If a link cannot be resolved for any reason, the page reads “This link is not valid” and suggests using the link in the most recent message instead. A token that never existed, a mistyped one, and one whose message was erased all get that same page, so the URL never reveals whether it meant anything.

A preview send is a real message sent before you commit to a campaign, to your own mailbox or to a few addresses you type in, so you can see how it looks.

A preview carries both unsubscribe layers, so you see the message exactly as a recipient would. Neither one can suppress anybody. No token is minted for a preview, and the link points at one fixed page that reads This was a preview and explains that nobody has been unsubscribed because there was nothing to unsubscribe from.

There is no button on that page, deliberately. Offering one that did nothing would be worse than saying so.

This matters because previews often go to a colleague reviewing the copy. Without it, that colleague could press Unsubscribe, see a confirmation, and believe they had opted out of a list they were never on.