> For the complete documentation index, see [llms.txt](https://doc.batch.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.batch.com/guides-and-best-practices/message/email/troubleshooting/common-footer-and-unsubscribe-link-mistakes-and-how-to-fix-them.md).

# Common Footer & Unsubscribe Link Mistakes (and How to Fix Them)

A badly built unsubscribe link is one of the most common, and most avoidable, causes of deliverability damage. When a recipient can't find or use the unsubscribe link, they don't stay subscribed: they click "Report spam" instead, which harms sender reputation far more than a clean unsubscribe would.

{% hint style="danger" %}
For bulk senders (over 5,000 marketing emails/day), a spam complaint rate exceeding **0.3%** is treated as a policy violation by Google and Yahoo (since June 2024) and Microsoft and Orange (since April 2025), and requires immediate investigation. Unsubscribe friction is one of the fastest ways to get there. See [Understanding and Monitoring the Spam Complaints Rate](https://doc.batch.com/guides-and-best-practices/email-deliverability/reputation-and-performance-monitoring/understanding-and-monitoring-the-spam-complaints-rate)
{% endhint %}

## Unsubscribe experience

These mistakes all affect the same thing: whether a recipient can actually act on their decision to leave, not just whether a link technically exists somewhere in the email.

<figure><img src="https://509463063-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfiAYaWDWqtFZeXxyg67F%2Fuploads%2FpzH6n3dMxA41lLQ3rI4E%2Fimage.png?alt=media&amp;token=298f080d-9f20-48b5-b081-5013e5481d37" alt=""><figcaption></figcaption></figure>

#### Poor link placement or visibility

The unsubscribe link is present, but hard to find: small font, low contrast, buried at the very bottom of a long email.&#x20;

In long emails, Gmail (and some other inbox providers) clips emails once they exceed **102KB**, displaying "\[Message clipped] View entire message" instead of the rest of the content. If your unsubscribe link sits below that cutoff, recipients never see it.&#x20;

See [Why is Gmail clipping emails?](https://doc.batch.com/guides-and-best-practices/message/email/troubleshooting/why-is-gmail-clipping-emails) to check your template size and identify what's inflating it (embedded vs. enclosed images are a common culprit).&#x20;

<figure><img src="https://509463063-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfiAYaWDWqtFZeXxyg67F%2Fuploads%2FQJdfOTXyjsfrcFrcMwkp%2Fimage.png?alt=media&amp;token=8ca2a9aa-3019-44e9-af07-346d38988013" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
Keep the link visually distinct and check your template's size against the 102KB clipping threshold. Consider repeating the link near the top of long-format emails as a safety net.
{% endhint %}

#### Missing or non-functional global unsubscribe link

Some templates only offer a "manage preferences" link with no way to actually leave the list entirely, or the unsubscribe link is broken (wrong URL, dead landing page, missing attribute).

{% hint style="success" %}
Always offer a working, global opt-out in addition to any granular preference management. Test the link after every template change, not just at launch.
{% endhint %}

#### A working link that's still practically unusable

The link resolves and the destination page works, but the experience is designed in a way that most recipients won't complete:

* The preference page asks the recipient to **type in their email address** before they can update anything.
* Preferences sit **behind a login wall**, requiring an account and password recipients may not remember.

Both add enough friction that a real share of recipients give up and mark the email as spam instead: the exact outcome the unsubscribe link was supposed to prevent.

{% hint style="success" %}
The opt-out path should be reachable in one click or one simple step, with no manual re-identification and no authentication requirement.
{% endhint %}

#### Unsubscribe link included on transactional messages

{% hint style="danger" %}
Unsubscribe links are mandatory in marketing campaigns, but **must not be included in transactional messages.** Mixing promotional content into transactional emails is itself a common trigger for spam complaints.
{% endhint %}

{% hint style="success" %}
Check message classification before reusing a template across campaign types. A transactional template that gets repurposed for a marketing send (or vice versa) is a common source of this mistake.
{% endhint %}

#### Email Composer variable used in raw HTML

`{{emailComposerUnsubscribeLink()}}` only works inside the drag-and-drop Email Composer. When a template built in the Composer gets exported or rebuilt as raw HTML (during a redesign or migration, for example), this variable doesn't resolve, and the footer silently breaks.

{% hint style="success" %}
For HTML templates, use the native attribute pattern instead:

html

```html
<a data-msys-unsubscribe="1" data-msys-linkname="batch::unsub" href="[LANDING PAGE LINK]">Unsubscribe</a>
```

{% endhint %}

{% hint style="info" %}
See [How to add an unsubscribe link to your email template?](https://doc.batch.com/guides-and-best-practices/message/email/link-and-tracking-settings/how-to-add-an-unsubscribe-link-to-your-email-template-1) for the full implementation guide, including localized variants.
{% endhint %}

#### Confusing opt-out scope

Recipients sometimes unsubscribe expecting to leave one newsletter and find they've opted out of everything, or the reverse, they think they've unsubscribed globally but keep receiving other campaigns.

{% hint style="success" %}
Make the scope of the opt-out explicit in the footer copy. If you need per-newsletter granularity, use a custom preference page rather than the native global opt-out: see the [implementation comparison](https://doc.batch.com/guides-and-best-practices/message/email/link-and-tracking-settings/how-to-add-an-unsubscribe-link-to-your-email-template#choosing-between-the-two-options).
{% endhint %}

{% hint style="info" %}
**About `List-Unsubscribe` / `List-Unsubscribe-Post` headers**\
These headers power Gmail and Yahoo's one-click "Unsubscribe" button next to the sender name. Batch includes them by default on marketing sends: no manual configuration needed. If the button isn't showing up, the cause is almost always sending reputation or authentication alignment, not header configuration. \
See [Why Doesn't Gmail Always Show the "Unsubscribe" Button in your Marketing Emails?](https://doc.batch.com/guides-and-best-practices/email-deliverability/list-hygiene-and-recipients-management/why-doesnt-gmail-always-show-the-unsubscribe-button-in-your-marketing-emails)
{% endhint %}

## Footer content & compliance

Separate from the unsubscribe mechanism itself: what the footer needs to *say* to be compliant and trustworthy.

#### Missing physical address or illegitimate linked site

Batch guidelines require a physical address in the footer, linked to a legitimate, reachable website on the sending domain.

{% hint style="success" %}
Confirm the address is present and accurate on every template, not just the primary one: this is easy to miss on secondary or automation-specific templates.
{% endhint %}

#### Missing privacy policy or legal notices

Beyond the address, inbox providers expect the domain behind your emails to lead somewhere that identifies who's sending, why the recipient is hearing from them, and under what terms. A footer that skips a privacy policy link (or a sending domain whose linked site has no legal notices at all) reads the same way to a mailbox provider as a missing address: a sign the sender isn't fully accountable.

{% hint style="success" %}
Link to your privacy policy directly in the footer rather than relying on the recipient to find it elsewhere on your site, and make sure the site your sending domain points to has clear legal notices, not just a landing page.
{% endhint %}

### Footer checklist

* [ ] Unsubscribe link is visually clear, not buried in low-contrast text
* [ ] Template size checked against Gmail's 102KB clipping threshold
* [ ] Link works and points to a live, correct landing page
* [ ] Opt-out is reachable in one step — no login, no retyping an email address
* [ ] A confirmation page displays after unsubscribing
* [ ] No unsubscribe link on transactional templates
* [ ] Composer-specific variables aren't leaking into raw HTML templates
* [ ] Global vs. per-newsletter opt-out scope matches what's actually offered
* [ ] Physical address is present and accurate
* [ ] Privacy policy is linked directly from the footer
* [ ] Localized templates have a localized unsubscribe link and confirmation page for every language variant

{% hint style="info" %}
**Read more**

* [How to add an unsubscribe link to your email template?](https://doc.batch.com/guides-and-best-practices/message/email/link-and-tracking-settings/how-to-add-an-unsubscribe-link-to-your-email-template)
* [Why is Gmail clipping emails?](https://doc.batch.com/guides-and-best-practices/message/email/troubleshooting/why-is-gmail-clipping-emails)
* [Understanding How Batch Handles Spam Complaints](https://doc.batch.com/guides-and-best-practices/email-deliverability/list-hygiene-and-recipients-management/understanding-how-batch-handles-spam-complaints)
* [Understanding and Monitoring the Spam Complaints Rate](https://doc.batch.com/guides-and-best-practices/email-deliverability/reputation-and-performance-monitoring/understanding-and-monitoring-the-spam-complaints-rate)
* [Legal Requirements & Batch Email Senders Guidelines](https://doc.batch.com/guides-and-best-practices/email-deliverability/legal-requirements-and-batch-email-senders-guidelines)
* [Why Doesn't Gmail Always Show the "Unsubscribe" Button in your Marketing Emails?](https://doc.batch.com/guides-and-best-practices/email-deliverability/list-hygiene-and-recipients-management/why-doesnt-gmail-always-show-the-unsubscribe-button-in-your-marketing-emails)
  {% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://doc.batch.com/guides-and-best-practices/message/email/troubleshooting/common-footer-and-unsubscribe-link-mistakes-and-how-to-fix-them.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
