Land in the inbox — not the spam folder. ENFR
Home/Deliverability/List-Unsubscribe Header: One-Click Setup Guide
Deliverability

List-Unsubscribe Header: One-Click Setup Guide

The List-Unsubscribe header rendered as a native one-click Unsubscribe button in an inbox

What the List-Unsubscribe header actually does

The List-Unsubscribe header is a piece of your email's technical envelope that tells the receiving mailbox provider how to unsubscribe a recipient — without them ever opening the message. It lives in the headers, alongside From, Subject, and your authentication signatures, not in the body where your readers see it. When it's present and correctly formatted, Gmail, Yahoo, Outlook and others render a small Unsubscribe link right next to the sender name, at the top of the email.

That distinction trips up a lot of senders. The unsubscribe link you paste into your footer and the List-Unsubscribe header are two completely different mechanisms. The footer link is HTML your reader clicks inside the message. The header is metadata the provider reads and acts on. You need both, and they do different jobs:

  • The footer link gives motivated readers a familiar, in-body way out.
  • The header gives the provider a machine-readable exit, which is what powers the native "Unsubscribe" button and — crucially — what the big providers now expect from anyone sending at scale.

Skip the header and you don't just annoy people. You push frustrated recipients toward the only button left to them: "Report spam." Every complaint is a direct hit to your reputation, which is exactly the kind of signal that decides why emails go to spam in the first place.

Why providers now treat it as mandatory

For years the List-Unsubscribe header was a nice-to-have. That changed when the major mailbox providers rolled out bulk-sender requirements: senders above a daily volume threshold to a given provider are now expected to offer a working one-click unsubscribe and to honor those requests quickly — the published guidelines point to a window of roughly a couple of days.

The logic is simple from the provider's side. If unsubscribing is easy, people unsubscribe instead of hitting spam. Fewer spam complaints means cleaner signal for the provider's filters. So they've made the easy exit a condition of reaching the inbox reliably at volume, right alongside proper authentication with SPF, DKIM and DMARC.

Two practical takeaways follow from this:

  1. If you send in bulk, a missing or broken header can now cost you inbox placement, not just goodwill.
  2. "Quickly" means your unsubscribe has to actually take effect — suppressing the address on your next send, not two campaigns later.

This is also where compliance and deliverability overlap. An easy, honored opt-out is both a filter-friendly signal and a core expectation of consent-based marketing, which ties directly into GDPR and email marketing.

The two header variants — and why you need both

The List-Unsubscribe header can carry two methods, and best practice is to include both so the provider can choose whichever it trusts:

  • A mailto: method — an address that receives an unsubscribe email, often with a pre-filled subject. Some providers act on this by sending a message on the user's behalf.
  • An https method — a URL the provider can call to process the opt-out.

Here is how the two compare in practice:

MethodHow the provider uses itStrengthWatch out for
mailto:Sends an unsubscribe email to your addressSimple, universally understoodYou must actually process the inbox that receives it
https URLCalls your endpoint to record the opt-outFast, scriptable, powers one-clickMust not require a login or a confirmation step

Including both is not redundancy for its own sake. Different providers favor different methods, and offering both maximizes the chance that the native button "just works" for every recipient. What you must avoid is a header that points to a page demanding a password, a preference-center login, or a "click here to confirm" second step. The provider expects the click to complete the unsubscribe, and if it doesn't, the whole signal is wasted.

One-click unsubscribe: the part most senders get wrong

Having an https URL in the header is not the same as supporting one-click. The one-click standard (defined in RFC 8058) adds a second, separate header:

List-Unsubscribe: <https://example.com/unsub?id=abc>, <mailto:unsub@example.com>
List-Unsubscribe-Post: List-Unsubscribe=One-Click

The second line is what unlocks true one-click behavior. When the recipient taps the provider's Unsubscribe button, the provider sends an HTTP POST request to your URL with the body List-Unsubscribe=One-Click. Your endpoint reads that and suppresses the address — no page load, no form, no human interaction on your side.

The subtlety that catches people out: security scanners and link-preview bots routinely fetch URLs with GET requests before an email is even opened. If your unsubscribe URL unsubscribes people on a GET, a scanner can silently opt out recipients who never asked to leave. That's why the one-click spec uses POST — and why your endpoint should only act on a POST carrying that exact one-click body, and never on a plain GET.

Get this wrong and you either fail the one-click expectation entirely, or you quietly bleed subscribers to overzealous bots. Both outcomes hurt, and neither is obvious from your own inbox.

How to set it up (and what your ESP already handles)

The good news: if you send through a reputable email platform, most of this is done for you. Mainstream providers inject a correctly formatted List-Unsubscribe header, support one-click, and wire the opt-out straight into their suppression list automatically. Your job is mostly to confirm it and not disable it.

Work through this checklist:

  1. Send yourself a test campaign to a Gmail or Yahoo account and check that the native Unsubscribe link appears next to your sender name. If it doesn't, the header is missing or malformed.
  2. Inspect the raw headers (in Gmail, "Show original") and confirm both List-Unsubscribe and List-Unsubscribe-Post lines are present.
  3. Keep your footer unsubscribe link too. The header complements it; it never replaces it.
  4. Verify the opt-out actually suppresses. Unsubscribe from your test send, then trigger the next campaign and confirm that address is excluded.
  5. If you send raw SMTP or transactional mail yourself, add the headers manually, expose a POST endpoint for one-click, and make sure it writes to the same suppression list your marketing sends respect.

For the last case — self-managed or transactional sending — the header is entirely your responsibility, and it's a common gap. If you're weighing platforms or auditing your stack, our roundup of email deliverability tools and our comparison of the best email marketing software both flag one-click support as a baseline requirement, not a premium feature.

Mistakes that make the header backfire

A List-Unsubscribe header that's present but wrong can be worse than none at all, because it looks compliant while quietly failing. The recurring offenders:

  • Requiring a login or a second confirmation. The provider expects one action to finish the job. A gated page fails silently.
  • Only offering mailto: and never reading that inbox. Requests pile up unhonored, complaints climb.
  • Unsubscribing on GET. Preview and security bots opt people out for you; your list shrinks for no reason.
  • Honoring opt-outs slowly. Suppressing the address three campaigns later means recipients keep getting mail they explicitly declined — a fast track to spam complaints.
  • Treating marketing and transactional suppression separately so an unsubscribed contact still receives "helpful" promotional nudges dressed as transactional mail.

Every one of these erodes trust with mailbox providers, and trust is cumulative. A clean, instant, honored unsubscribe is a quiet vote of confidence in your sending — the same discipline that protects your sender reputation over time. For the full picture of how authentication, list hygiene and opt-outs reinforce each other, our email deliverability guide connects the pieces.

FAQ

Is the List-Unsubscribe header the same as my footer unsubscribe link?
No. The footer link is HTML inside the message body that your reader clicks. The header is metadata the mailbox provider reads to render its own native Unsubscribe button. You should have both — they serve different audiences and different mechanisms.

Do I still need a footer unsubscribe link if I have the header?
Yes. The header powers the provider's button, but a visible in-body link is still expected and is what many readers instinctively look for. Keep both in every marketing email.

Why does one-click use POST instead of a normal link?
Because automated scanners and link-preview tools fetch URLs with GET requests before a human ever opens the email. If unsubscribing happened on GET, those bots would opt people out by accident. The one-click standard uses a POST carrying List-Unsubscribe=One-Click so only a deliberate provider action triggers the opt-out.

Does my email platform add this automatically?
Most reputable platforms do, including one-click support and automatic suppression. Always send a test and inspect the raw headers to confirm. If you send raw SMTP or transactional mail yourself, you must add the headers and build the endpoint on your own.

Get the inbox playbook.

Join our newsletter for practical email marketing & deliverability tips. No spam — we'd be embarrassed.

One email a week. Unsubscribe anytime.