Branded Unsubscribe Subdomain Guide

This guide explains how to serve your public unsubscribe page on a branded URL — either a Last Chance subdomain (for example https://your-brand.yourlastchance.app/unsub) or your own custom domain (for example https://unsubscribe.yourbrand.com/unsub) — instead of the shared app URL with teamId in the query string.

Overview

Branded URLs give each paid team a dedicated hostname for public unsubscribe traffic:

Before (shared URL)After (branded URL)
https://www.yourlastchance.app/unsub?email=…&teamId=…https://your-brand.yourlastchance.app/unsub

After a subscriber validates (or when using a session cookie from a prior visit), the browser address bar stays cleanemail and teamId are not required in the URL. Last Chance identifies your team from the hostname and stores the subscriber in an encrypted session cookie.

What changes automatically

When a branded URL is active, Last Chance uses it in:

  • Page preview (editor and versions) — opens your branded host, then lands on a clean /unsub URL
  • Klaviyo unsubscribe hosted page HTML — redirect script targets your branded base URL (Settings → Email Providers → Klaviyo)
  • Public unsubscribe page — production links can omit teamId when opened on your branded host

The main dashboard at https://www.yourlastchance.app is unchanged. Only the public unsubscribe experience is served on your branded host.


Requirements

  • Active paid subscription — You need full access before claiming any branded hostname
  • Scale plan or higher — Platform subdomain (your-brand.yourlastchance.app) requires the Scale plan ($99/mo) or above. Growth plans continue using the shared Last Chance URL with teamId in the link
  • Advanced plan or higher (custom domain) — Your own hostname (for example unsubscribe.yourbrand.com) requires the Advanced plan ($199/mo) or above, when custom domains are enabled for your environment
  • Published unsubscribe page — Subscribers must have a live page to land on
  • Platform subdomain — No DNS setup on your side; choose a slug in the app (Scale+)
  • Custom domain (optional) — Add the DNS records shown in Account after you enter your hostname (Advanced+)

If you downgrade below the required plan, existing branded hostnames keep working until you remove them; new claims or hostname changes require upgrading again.


Platform subdomain

  1. Sign in to Last Chance and open Account in the sidebar
  2. Open the Branded unsubscribe subdomain section
  3. Enter a slug (lowercase letters, numbers, hyphens; 3–63 characters)
  4. Click Save subdomain

You will see your live unsubscribe link (for example https://your-brand.yourlastchance.app/unsub) when the subdomain is saved.

Slug rules

  • At least 3 characters, at most 63
  • Lowercase letters, numbers, and hyphens only
  • Cannot start or end with a hyphen
  • Reserved names (for example www, api, unsub, dashboard) are blocked
  • Slugs already used by another team return “This subdomain is already taken”

Remove a subdomain

Click Remove in the same section. Public links revert to the shared app URL with teamId in query parameters.


Custom domain (optional)

On Advanced plan and above (when custom domains are enabled), you can use a hostname you control (for example unsubscribe.yourbrand.com):

  1. In Account → Branded unsubscribe subdomain, enter your hostname under Custom domain and click Save custom domain
  2. Add the DNS records shown in the app at your domain registrar
  3. Wait for verification — status updates automatically in the app (usually within a few minutes after DNS propagates)

When both a subdomain and custom domain are active, choose Default link for Klaviyo & previews to control which URL Last Chance uses in hosted-page HTML and editor preview.


How subscribers reach your page

Keep using the Klaviyo unsubscribe hosted page setup. New HTML you copy from Last Chance uses your branded base URL in the script src.

If you already pasted hosted page HTML before adding a branded URL

Klaviyo stores the HTML you pasted—it does not update automatically when you save a subdomain or custom domain in Last Chance.

  1. Open Settings → Email Providers → Klaviyo in Last Chance and click Copy Code (unsubscribe and preference-center pages if you use both).
  2. In Klaviyo Hosted Pages, edit each Last Chance hosted page and replace the HTML.
  3. You do not need to change which page is selected in Klaviyo consent settings—only the HTML content.

The redirect script sends subscribers to whatever origin is in the script src line. Old HTML pointing at www.yourlastchance.app keeps using the shared URL with teamId until you update it.

Flow (after hosted page HTML uses your branded script src):

Subscriber clicks Unsubscribe in email
  → Klaviyo consent / hosted page
  → Last Chance redirect script (your branded host)
  → Brief validation (sets a secure session)
  → https://your-brand.yourlastchance.app/unsub  (clean URL)

You can still open the page with email (and optionally teamId on the shared host) in the query string. On a valid branded host, teamId in the URL is optional because the hostname identifies your team.

For a quick test without an email campaign:

  1. Use Preview in the page editor with a test email
  2. Or visit your branded URL with email once; after validation, refresh /unsub without query params

Security: Klaviyo ID validation

When a branded URL is active, Last Chance recommends enabling Require Klaviyo ID validation on your unsubscribe page.

On a dedicated hostname, knowing someone’s email address can be enough to open their unsubscribe experience unless Klaviyo ID validation is enabled. With validation on, links must include a valid Klaviyo profile ID (typical for links from Klaviyo emails and hosted-page redirects).

Enable it in the page editor under page settings if you use a branded URL in production.


Clean URLs and preview mode

Production visits

  1. Subscriber arrives with email (and optionally tracking params) in the URL or via the redirect from Klaviyo
  2. Last Chance confirms the address, stores it in an encrypted cookie, and redirects to /unsub without email or teamId
  3. /unsub uses the cookie and hostname to load the correct page

Preview from the dashboard

Preview validates a test email on your branded host, then opens a clean URL such as:

https://your-brand.yourlastchance.app/unsub?preview=1&version=2&unsubscribePageId=…

Draft preview still requires a test email in the preview dialog; preview mode does not call Klaviyo for live profile updates.

Use Copy share link in the preview dialog to get a public URL you can send to stakeholders (Slack, email, etc.). Recipients open the link with no login and no test email — it works indefinitely until the page or version is removed.

The share URL looks like:

https://your-brand.yourlastchance.app/api/unsub/share-preview?t=…

Opening it loads the draft in preview mode (no Klaviyo writes, no analytics).


Troubleshooting

IssueWhat to check
Save subdomain disabledConfirm you have an active paid subscription on the Account page
“Subdomain already taken”Pick a different slug; slugs are global across teams
Branded URL does not loadTypo in slug or hostname; wait a few minutes after saving. If the problem persists, contact support.
Custom domain stuck on PendingConfirm DNS records match exactly what Account shows; propagation can take up to 48 hours
Page Not Found on branded hostTypo in slug, domain removed, or page not published; an unknown hostname shows the same 404 as a missing page
Still seeing teamId in linksBranded URL not saved, or link built against the shared app URL — re-copy Klaviyo hosted page HTML after activating branding
Preview opens wrong hostRefresh the Account page; preview uses your current default branded URL