> For the complete documentation index, see [llms.txt](https://flapjax.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://flapjax.gitbook.io/docs/settings/workspace/unsubscribe-pages.md).

# Unsubscribe Pages

An **unsubscribe page** is the landing page a recipient reaches after clicking the unsubscribe link in one of your emails. It doubles as their preference centre. It lists the [consents](/docs/settings/workspace/consents.md) you have defined, lets them keep the ones they still want, and gives them one way out of everything.

A clear, one-click way to stop receiving email is a standard requirement for marketing and transactional messaging. Unsubscribe pages are how you meet it.

Defined no consents yet? The page shows a plain **Unsubscribe** button instead, the classic all-or-nothing opt-out.

Design your own branded pages here and choose which one an email uses. Should a page ever go missing, Flapjax falls back to a built-in default, so unsubscribe links in already-sent emails keep working.

***

### Viewing pages

The list shows each page by **Name** and who last updated it. A green **Default** tag marks your organisation's default page. The search bar finds a page by name.

***

### Creating a page

Click **New page** in the top-right corner. Flapjax creates a blank page and opens the editor.

The editor carries four tabs, and **each tab saves on its own**. Make your changes in a tab, then click that tab's **Save**.

#### Content

The main page body, written in HTML with a live preview. This is what your recipient sees on arrival.

Your content **must include the `{{unsubscribe_button}}` placeholder**. Flapjax renders the preference options, the Save button and the Unsubscribe-from-everything link there. The editor blocks the Content save and shows a warning until the placeholder appears.

The same code that serves the live page renders the preview, using your organisation's real consents. What you see in the editor is what a recipient receives.

#### Styling

Every element Flapjax renders into your page carries a stable CSS class. You can restyle the options table, the buttons and the saved banner to match your brand.

The page ships with a default stylesheet, injected **before** your own HTML. Any rule you write for these classes overrides it, with no `!important` needed. Add your CSS in a `<style>` block in the page content.

This tab lists every class with what it targets. It also gives you the default stylesheet with two shortcuts:

* **Copy CSS** puts the whole stylesheet on your clipboard.
* **Insert into page** appends a ready-to-edit `<style>` block to your page content and takes you to the Content tab.

The main classes are `fj-unsub__table` for the options table, `fj-unsub__save` and `fj-unsub__unsub-all` for the two buttons, and `fj-unsub__alert` for the saved banner. The Styling tab holds the full list.

#### Callback

An optional webhook that tells your own systems whenever someone unsubscribes through this page. Turn on the switch, enter your endpoint URL, which must start with `http://` or `https://`, and add any headers your endpoint needs. Flapjax then sends the person's details to that URL on every unsubscribe.

The **Test** button sends a sample unsubscribe payload to your endpoint and shows the response. Confirm your integration works before going live.

#### Settings

Set the page **Name**, required, and use the **Default** switch to mark this as your organisation's default unsubscribe page. Flapjax pre-selects the default page as you add an unsubscribe link to an email. The **Delete** action lives on this tab.

***

### Editing and deleting

Click any page in the list to reopen the editor. Make your changes in a tab and click that tab's **Save**.

To remove a page, open it and use **Delete** on the Settings tab, or the actions menu on the list. Deletion is permanent.

***

### What the recipient experiences

1. They click the unsubscribe link in your email and land on your **Content** page. It shows your copy and their current preferences: one row per consent, with a tick box for each channel it covers, already set to what they receive today.
2. Viewing the page changes nothing. Their consent updates on submit alone.
3. **Save preferences** stores their choices. Boxes left unticked count as explicit refusals. They stay on the page and see a "Your preferences have been saved" banner, so they can check what they now receive.
4. **Unsubscribe from everything** refuses every consent they are able to refuse and returns them to the same page with the same banner, now showing everything unticked.
5. A configured **Callback** fires at this point.

Their **Email Consent** follows on its own, since it summarises these answers. Refuse everything and it switches off. Accept any one consent and it comes back on. Nothing separate needs keeping in step.

Consents marked **Always on** appear read-only, with no tick box. Nobody refuses them, not even through Unsubscribe from everything. That is how transactional and legal mail keeps reaching people who opted out of the rest.

Flapjax supports **one-click unsubscribe** (RFC 8058) too, the "Unsubscribe" control that Gmail and Apple Mail show at the top of a message. It does what Unsubscribe from everything does. No page appears, since the mail app handles the interaction.

***

### Linking a page to an email

Emails connect to unsubscribe pages in the **Send Email** automation action. That action carries an unsubscribe link switch, **on by default**, which selects your organisation's default page.

With an unsubscribe page set, the email content must include the **`{{unsubscribe_link}}`** placeholder. Flapjax inserts the personalised unsubscribe URL there.

{% hint style="info" %}
**Tip:** build one well-branded page and mark it as **Default**. Every email carrying an unsubscribe link picks it up, so your unsubscribe handling stays consistent with no per-email configuration.
{% endhint %}

***

### Related

* [**Send Email action**](/docs/automations/actions/communication.md) covers how an email links to an unsubscribe page and the `{{unsubscribe_link}}` requirement.
* [**Consents**](/docs/settings/workspace/consents.md) covers the purposes that appear on the preference page.
* [**Consent & subscriptions**](/docs/your-data/people/consent-and-subscriptions.md) covers how a person's consent changes when they use an unsubscribe page.
