DeckleDocs
Dashboard

Domains & deliverability

One-click unsubscribe

Every marketing email Deckle sends carries the headers and visible link that let recipients unsubscribe in a single click — and unsubscribing suppresses the contact automatically.

Bulk senders are now required to support one-click unsubscribe. Deckle handles this for you: marketing and broadcast sends ship with the right headers and a visible unsubscribe link, and the click flows through to a hosted preference page that suppresses the contact.

Why it's required#

Gmail and Yahoo's bulk-sender rules require that any sender delivering large volumes of mail supports one-click unsubscribe. A recipient must be able to opt out with a single action, without logging in or filling out a form, and you must honor that request promptly.

Alongside one-click unsubscribe, the same rules require authenticated mail (SPF, DKIM, and DMARC) and a low spam-complaint rate. Getting unsubscribe wrong hurts your deliverability directly — mailbox providers treat “this is spam” clicks as a much stronger negative signal than a clean unsubscribe. Making it easy to leave keeps your reputation healthy.

This applies to marketing mail

One-click unsubscribe is added to marketing and broadcast sends — campaigns, automations, and newsletters. Purely transactional messages (receipts, password resets) are not treated as bulk marketing and are out of scope for the requirement.

What Deckle adds#

When you send a campaign or a marketing automation, Deckle automatically attaches two headers and injects a visible unsubscribe link into the email. You don't configure anything — it rides on every eligible send from your verified domain.

The headers#

Deckle sets both the List-Unsubscribe header and the List-Unsubscribe-Post header. Together they tell Gmail and Yahoo that the message supports RFC 8058 one-click unsubscribe, which is what surfaces the native “Unsubscribe” control next to the sender name in the inbox.

http
List-Unsubscribe: <https://app.getdeckle.com/u/unsub_9f3c...>
List-Unsubscribe-Post: List-Unsubscribe=One-Click

The List-Unsubscribe-Post: List-Unsubscribe=One-Click line is the piece that makes it a true one-click: the mailbox provider sends a single POST to the unsubscribe URL on the recipient's behalf, with no confirmation step, and Deckle records the opt-out.

Header-based unsubscribe only works in clients that support it. So Deckle also injects a visible unsubscribe link into the body of every marketing and broadcast email — typically in the footer, next to your sending address. This is a hard requirement of the bulk-sender rules, and it guarantees a working opt-out for every recipient regardless of their mail client.

Templates from the gallery

Templates in the gallery already include a footer with the unsubscribe link and your brand details. When you send them as part of a campaign or automation, the link is populated automatically — see the template gallery.

The preference page#

Both the header URL and the visible link point at a hosted preference page that Deckle runs for you. There's nothing to build or host yourself. When a recipient lands there, they can confirm their unsubscribe, and the page reflects the outcome back to them.

Recipient clicks unsubscribe

Either the mailbox provider POSTs the one-click URL, or the recipient follows the visible link in the email footer to the hosted page.

Deckle records the opt-out

The contact is marked unsubscribed and added to your suppression list. This happens immediately — there's no delay before the change takes effect.

Future marketing sends skip them

Because the address is now suppressed, subsequent campaigns and marketing automations no longer target that contact.

Unsubscribing suppresses the contact#

An unsubscribe isn't just a flag on a contact — it adds the address to your suppression list with the reason unsubscribe. Suppression is enforced platform-wide: any attempt to send to a suppressed address is rejected with a 422, so an unsubscribed contact can't be re-emailed by accident.

The unsubscribe reason sits alongside the other ways an address lands on the suppression list.

ReasonHow it's added
unsubscribeRecipient used one-click unsubscribe or the hosted preference page.
hard_bounceSES reported a permanent bounce; added automatically.
complaintRecipient marked the message as spam; added automatically.
manualYou added the address by hand in the dashboard or via the API.

If someone unsubscribes by mistake and asks to be re-added, you can remove them from the suppression list — in the dashboard, or with deckle.suppressions.delete(email). Only do this with the contact's explicit consent; re-emailing an address that opted out is the fastest way to earn spam complaints.

Keep complaints low

A frictionless unsubscribe is your best defense against complaints. Aim to keep your complaint rate under 0.3% — the dashboard warns you as you approach the threshold. The deliverability guide covers the full checklist.

Next steps#