Email Spam Tester

HomeBlogEmail Unsubscribe Footer: Examples, HTML & Best Practices

Email Unsubscribe Footer: Examples, HTML & Best Practices

Learn how to create an email unsubscribe footer with real examples, copyable HTML, and Gmail & Yahoo requirements. Test your email before sending.

An unsubscribe footer is the block at the bottom of a marketing email with the opt-out link, your postal address and a line saying why the reader got the message. It looks like the most boring part of a campaign, and it is the part I'd check first after authentication, because a reader who can't find the way out presses the spam button instead.

There's a catch that trips up a lot of senders. The footer link and the unsubscribe button Gmail shows next to the sender's name are two separate things. One lives in the HTML, the other in the message headers, and large senders need both.

Build your unsubscribe footer

Fill in your details and copy the result. Nothing you type leaves this page.

Link color
E
Example Media Unsubscribe
to you

    Four things go in it, and the first two are required for commercial mail under CAN-SPAM, which asks you to tell recipients how to opt out.

    1. An unsubscribe link people can see. Google's sender guidelines ask anyone above 5,000 messages a day to Gmail accounts for "a clearly visible unsubscribe link in the message body" on marketing and subscribed mail. Yahoo asks for a link in the body too, and says it may lead to a preference page.
    2. Your postal address. The FTC's CAN-SPAM guide wants a valid physical address in every commercial message. A street address works, and so does a registered post office box or private mailbox.
    3. Who sent it and why. The law doesn't demand this line. I add it anyway, since a subscriber who signed up eight months ago may not remember you.
    4. A way to change preferences, if you run more than one list. Someone tired of your daily offers might happily keep the monthly digest.

    These are written to be adapted, with the bracketed parts and the sample addresses replaced by your own.

    Newsletter

    TEXT
    You're getting this because you subscribed at example.com.
    Unsubscribe | Change how often you hear from us
    
    Example Media, 123 Market Street, Austin, TX 78701

    Online store

    TEXT
    You're receiving offers because you bought from Example Store.
    Unsubscribe from marketing emails. We'll still send order updates.
    
    Example Store Ltd, PO Box 456, Denver, CO 80201

    The second line tells a customer that order updates will keep coming, which is worth saying if your marketing list and your receipts share a sender name.

    Product updates from a SaaS

    TEXT
    Sent to [email] because you have an Example account.
    Unsubscribe from product news | Manage email settings
    
    Example Inc., 789 Pine Avenue, Seattle, WA 98101

    Plain text version

    TEXT
    --
    Unsubscribe: https://example.com/unsubscribe/[token]
    Example Media, 123 Market Street, Austin, TX 78701

    Keep the same details in the text part of a multipart message. A footer that exists only in the HTML disappears for anyone reading the plain version.

    This one uses a table and inline styles, which is the form mail clients render reliably. Swap the link addresses and the postal address.

    HTML
    <table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0">
      <tr>
        <td align="center" style="padding:24px 16px;font-family:Arial,sans-serif;font-size:14px;line-height:20px;color:#4a4a4a;">
          <p style="margin:0 0 8px;">You're getting this because you subscribed at example.com.</p>
          <p style="margin:0 0 8px;">
            <a href="https://example.com/unsubscribe/TOKEN" style="color:#1a56b0;text-decoration:underline;">Unsubscribe</a>
            &nbsp;|&nbsp;
            <a href="https://example.com/preferences/TOKEN" style="color:#1a56b0;text-decoration:underline;">Email preferences</a>
          </p>
          <p style="margin:0;">Example Media, 123 Market Street, Austin, TX 78701</p>
        </td>
      </tr>
    </table>

    The text is 14px and dark gray, because pale gray at 10px is hard to call "clearly visible". The link is underlined, so it still reads as a link in a client that strips colors (dark mode can do this too), and the token in the address identifies the subscriber, which means the page never has to ask who they are.

    The headers behind the Gmail unsubscribe button

    The button at the top of a message comes from two header lines, not from your footer:

    TEXT
    List-Unsubscribe: <https://example.com/unsubscribe/TOKEN>
    List-Unsubscribe-Post: List-Unsubscribe=One-Click

    When someone presses it, the mailbox provider sends a POST request to that address and the subscriber should be gone, with no page to open and no question to answer. RFC 8058 also requires a valid DKIM signature that covers both headers, so a tool that adds them after signing leaves you with headers that don't qualify.

    Google's sender FAQ says a mailto link in the body doesn't meet the requirement, and that it won't go looking in the body for a one-click link when the header is missing. Yahoo highly recommends the POST method and accepts mailto as well.

    Google also says it doesn't automatically reject a message or mark it as spam for missing one-click unsubscribe. The cost comes indirectly, through more spam reports and through losing access to mitigation when something goes wrong. So even if you're under 5,000 a day I'd add the headers, and if you use a sending service, check its settings first, since Google's FAQ points senders there too.

    How fast an unsubscribe has to take effect

    The deadlines differ, and the shortest one is the one to build for.

    WhoDeadlineSource
    Gmail48 hoursSender FAQ
    Yahoo2 daysSender requirements
    CAN-SPAM (US)10 business daysFTC guide

    CAN-SPAM adds one more thing: the opt-out has to keep working for at least 30 days after you send, so a link that expires next week is a problem. The FTC puts the penalty at up to $53,088 per email in violation, a figure it adjusts for inflation.

    Hiding the link. Light gray on white, or a font so small you need to zoom, pushes a subscriber who wants out toward the spam button, and a spam report counts against you where an unsubscribe doesn't.

    Asking for a login. The FTC doesn't allow you to require anything beyond an email address, or any step other than a reply or a visit to a single page. A "sign in to manage your subscription" wall fails that.

    An image instead of text. With images blocked, the reader sees an empty box where the link should be.

    A survey in the way. Ask why a subscriber left after the unsubscribe has happened, because a form placed before it is a second step.

    Dead links on old templates. Does the link in your last campaign still work on a phone? I'd click it before the next one goes out.

    One footer for everything. Password resets and receipts don't need an unsubscribe link, and Gmail's one-click rule excludes them. Put a marketing footer on them and readers may opt out of a list you can't take them off.

    Headers are hard to check by eye, since neither your email editor nor your inbox shows them by default. Send the campaign to the address on the home page and the report tells you whether List-Unsubscribe is there and whether one-click is set up, alongside SPF, DKIM, DMARC and the rest. Nothing to install.

    Rules around unsubscribing do move, so I keep a dated list of what changed at Gmail, Yahoo and Microsoft in email deliverability news.