# Klaviyo unsubscribe and preference links in emails

This guide explains how **unsubscribe** and **manage preferences** links work in Klaviyo emails, how that connects to **consent pages** and **hosted pages**, and how Last Chance fits in.

## Why this matters for Last Chance

Last Chance intercepts traffic when someone clicks **Unsubscribe** or **Manage preferences** in a Klaviyo email **after** Klaviyo sends them to your **email unsubscribe** or **preferences** consent experience. You wire that experience to a Klaviyo **hosted page** that runs Last Chance’s redirect script (see the [unsubscribe hosted page setup](./klaviyo-hosted-page-setup.md) and [preference center setup](./klaviyo-preference-center-setup.md) guides).

For that path to run:

1. The email must use Klaviyo’s **unsubscribe** / **manage preferences** tags (or Klaviyo’s UI equivalent), so Klaviyo generates the correct URLs.
2. In Klaviyo **consent pages** settings, the **email unsubscribe** (and optionally **preferences**) step must be set to **Use hosted page** with your Last Chance HTML.

If Klaviyo does not detect an unsubscribe tag in a message, it may **automatically add a basic unsubscribe link** at the bottom of the email. That still goes through Klaviyo’s unsubscribe flow, but you should not rely on omission—include a proper tag or footer link in templates you control. For Klaviyo’s own explanation, see [How to add an unsubscribe link to Klaviyo emails](https://help.klaviyo.com/hc/en-us/articles/115006054267).

---

## Add an unsubscribe link to campaigns and flows

### Using the email editor (drag-and-drop or text block)

1. Open the **email template** (campaign, flow email, or universal content).
2. Select a **text block** (or add one) and open the text editor.
3. Click the **personalization** icon in the toolbar.
4. Open **All types** → **Links and preview** → **Unsubscribe**.

Klaviyo inserts the correct tag for a full unsubscribe link.

### Tag reference (custom HTML or advanced edits)

| Use case                                                                              | Tag                                    |
| ------------------------------------------------------------------------------------- | -------------------------------------- |
| Default linked text (“Unsubscribe”)                                                   | `{% unsubscribe %}`                    |
| Custom link text                                                                      | `{% unsubscribe 'Your custom text' %}` |
| **URL only** (hyperlink URL field, button **Link address**, or `href` in custom HTML) | `{% unsubscribe_link %}`               |

**Important:** The default `{% unsubscribe %}` tag outputs a **full HTML link**, not just a URL. If you put it in a button’s URL field or inside `<a href="...">`, the link can break. In those cases use `{% unsubscribe_link %}` inside `href`, for example:

```html
<a href="{% unsubscribe_link %}" style="color: #333;">Unsubscribe here</a>
```

More detail and screenshots: [How to add an unsubscribe link to Klaviyo emails](https://help.klaviyo.com/hc/en-us/articles/115006054267).

---

## Add a manage preferences (preference center) link

When someone clicks **manage preferences**, Klaviyo shows the **preferences** consent page (unless you override it with a hosted page—see [Klaviyo preference center setup](./klaviyo-preference-center-setup.md)).

### Tag reference

| Use case                                                            | Tag                             |
| ------------------------------------------------------------------- | ------------------------------- |
| Linked text in a text block                                         | `{% manage_preferences %}`      |
| Button block **Link address**, image link, or `href` in custom HTML | `{% manage_preferences_link %}` |

Use `{% manage_preferences_link %}` anywhere you need **only the URL**, same pattern as `{% unsubscribe_link %}`.

---

## Consent pages: what Klaviyo shows subscribers

Klaviyo maintains **account default** consent pages (preferences, subscribe, email unsubscribe, success pages, etc.). Tags like `{% unsubscribe %}` and `{% manage_preferences %}` route recipients to the appropriate **consent page** for that send—**usually** the account default.

**List-specific consent pages** apply only when an email targets **exactly one static list** (e.g. a campaign to a single list, or a flow triggered by “added to list” for that list). Segment sends, multi-list sends, and most event-triggered flows use **account default** pages.

To understand defaults vs list overrides and where to edit each page, see Klaviyo’s [Getting started with consent pages](https://help.klaviyo.com/hc/en-us/articles/115005251848).

**Last Chance:** After you assign your **hosted page** to **Email unsubscribe** (and optionally to the preferences / manage-preferences step), anyone who reaches that consent step via those tags will hit your redirect and land on Last Chance.

---

## One-click preference apply links

Append query parameters to `{% manage_preferences_link %}` so a single click **opens Last Chance and saves** topic and/or frequency preferences automatically. Apply params work on any validate URL (hosted redirect or direct `/api/unsub/validate` link); they do **not** require `entry=preferences`.

Use `entry=preferences` only when you want subscribers to land on the **preferences screen** instead of the default initial page. One-click apply and preferences entry are independent.

For the full feature guide (dashboard snippet builder, subscriber banners, analytics, and troubleshooting), see **[One-Click Preferences](./one-click-preferences.md)**.

| Parameter        | Purpose                                       | Example                                                    |
| ---------------- | --------------------------------------------- | ---------------------------------------------------------- |
| `applyTopics`    | One or more topic slugs (comma-separated)     | `applyTopics=sales_and_discounts` or `applyTopics=foo,bar` |
| `applyTopicMode` | How topics combine with existing saved topics | `merge` (default) or `replace`                             |

Invalid `applyTopicMode` values (anything other than `merge` or `replace`) are ignored for topic apply: topic slugs in the link are skipped, but a valid `applyFrequency` in the same URL still applies. Subscribers see a partial or failed banner explaining that topics could not be applied.

| `applyFrequency` | Single frequency slug (always replaces existing) | `applyFrequency=weekly` |

Examples for custom HTML in Klaviyo emails:

```html
<a href="{% manage_preferences_link %}?applyTopics=sales_and_discounts">
  Yes, send me sales &amp; discounts
</a>

<a href="{% manage_preferences_link %}?applyTopics=sales_and_discounts&applyTopicMode=replace">
  Only send me sales &amp; discounts
</a>

<a href="{% manage_preferences_link %}?applyFrequency=weekly"> Switch me to weekly emails </a>

<a
  href="{% manage_preferences_link %}?applyTopics=sales_and_discounts&applyFrequency=days_7&applyTopicMode=merge"
>
  Sales emails, once a week
</a>
```

Topic and frequency slugs must match your team's configured values in **Settings → User preferences**. Copy-ready snippets are available on the **Topics** and **Frequencies** tabs in the Last Chance dashboard.

---

## Quick checklist

- [ ] Unsubscribe: use the personalization menu or `{% unsubscribe %}` / `{% unsubscribe_link %}` as appropriate for text vs buttons.
- [ ] Preferences (optional but recommended): add `{% manage_preferences %}` or `{% manage_preferences_link %}` where you want subscribers to adjust preferences before unsubscribing.
- [ ] Klaviyo **Consent pages**: **Email unsubscribe** → **Use hosted page** → your Last Chance unsubscribe hosted page HTML.
- [ ] Optional: second hosted page + consent assignment for **manage preferences** → [Preference center setup](./klaviyo-preference-center-setup.md).

---

## Related Last Chance guides

- [One-Click Preferences](./one-click-preferences.md)
- [Klaviyo Unsubscribe Hosted Page Setup](./klaviyo-hosted-page-setup.md)
- [Klaviyo Preference Center Hosted Page Setup](./klaviyo-preference-center-setup.md)
- [Getting Started](./getting-started.md)

## Official Klaviyo help

- [How to add an unsubscribe link to Klaviyo emails](https://help.klaviyo.com/hc/en-us/articles/115006054267)
- [Getting started with consent pages](https://help.klaviyo.com/hc/en-us/articles/115005251848)
- [Klaviyo hosted pages (overview)](https://help.klaviyo.com/hc/en-us/articles/4408802648731)

For support: support@yourlastchance.app
