Klaviyo is the dominant email and SMS platform for e-commerce, especially strong on Shopify, BigCommerce, and Magento. The unsubscribe mechanism uses the {% unsubscribe %} Jinja-style tag placed inside a template, which renders a URL to a Klaviyo-hosted preference page where subscribers can opt out or update consent. Klaviyo handles RFC 8058 one-click compliance automatically for every send, but three operational details break the flow if you get them wrong: the tag must be placed in an anchor tag (not raw text), the sending domain must be properly authenticated, and Flow-triggered emails need explicit consent checks to avoid sending to unsubscribed profiles. This guide walks through the full setup, the UI paths, and the common issues.
Klaviyo unsubscribe link: quick reference
| Item | Value |
|---|---|
| Unsubscribe tag | {% unsubscribe %} |
| Placement | Inside an anchor tag in the email footer or a Text block |
| Default landing | pages.klaviyo.com preference page, customizable brand and copy |
| Config path | Account > Settings > Email > Subscribe and preference pages |
| RFC 8058 one-click | Yes, generated automatically when domain is authenticated |
| SMS opt-out | Separate STOP keyword flow, independent of email unsubscribe |
How Klaviyo handles unsubscribes
Klaviyo distinguishes between two states that most senders confuse: unsubscribed and suppressed. An unsubscribed profile has explicitly opted out (via the unsubscribe link or a preference page action); the profile still exists and can be re-subscribed via a signup form or a Flow action. A suppressed profile has been blocked from receiving email for a different reason (hard bounce, spam complaint, manual suppression via CSV import); the profile is quarantined and cannot be reactivated without support intervention on the Enterprise plan.
The unsubscribe action is real-time: Klaviyo updates the profile’s consent status within seconds of the click, and any scheduled Flow or Campaign that has not yet sent to that profile immediately skips them. Campaigns already in the send queue at the moment of unsubscribe continue and can produce a delivery to that profile within the next few minutes; this is the single most common cause of complaints about “sent me email after I unsubscribed” and cannot be fully eliminated on any ESP.
Adding the unsubscribe tag to a Klaviyo template
Method 1: drag-and-drop editor
The default Klaviyo templates include a footer block with the unsubscribe link already wired up. Steps:
- Open the campaign or Flow email in the Klaviyo editor
- Scroll to the footer, click the Text block containing the unsubscribe link
- Edit the visible copy (“Unsubscribe here”, “Manage preferences”) but do not remove the underlying link. The link URL should be
{% unsubscribe %} - Save. The link renders correctly on send, no further action needed
Method 2: custom HTML template
When you paste a custom HTML template into Klaviyo (from Figma, Litmus Builder, or a hand-coded design), the platform does not automatically inject the unsubscribe link. You must add it manually before Klaviyo will let the campaign send:
<a href="{% unsubscribe %}">Unsubscribe from this list</a>The tag must appear inside an href attribute or Klaviyo will render it as literal text in the delivered email. Do not URL-encode the tag; Klaviyo replaces it verbatim at send time and Jinja braces are safe in the source HTML.
Optional: preference page tag
Klaviyo also exposes a separate token for the manage-preferences page, which offers granular list-level opt-outs instead of a full account unsubscribe:
{% manage_preferences %}Use this in newsletter footers where you want to retain the subscriber but let them narrow the subscription. The default preference page shows all Klaviyo Lists the profile is a member of, with a checkbox per list.
Customize the Klaviyo preference page
- Go to Account > Settings > Email
- Scroll to Subscribe and preference pages and click Edit
- Set the brand logo, primary color, header copy, and confirmation copy
- Choose which lists appear on the preference page. Uncheck internal or system lists that should not be publicly exposed
- Optionally point Confirmation URL to your own branded thank-you page after unsubscribe. This bypasses the default Klaviyo confirmation and can preserve traffic to your site
- Save
Preference page changes propagate to all future sends immediately; already-delivered emails still link to the previous configuration until the recipient clicks (Klaviyo generates the page on the fly).
RFC 8058 one-click compliance in Klaviyo
Since February 2024, Gmail and Yahoo require senders exceeding 5,000 daily emails to those providers to support one-click unsubscribe via the List-Unsubscribe-Post header defined in RFC 8058. Klaviyo generates the correct headers automatically for every marketing send when three conditions are met:
- Sending domain is authenticated. Configure a dedicated sending domain (not the default
klaviyomail.com) with SPF, DKIM, and DMARC records. Unauthenticated sends drop the List-Unsubscribe headers in transit - The template contains a valid
{% unsubscribe %}tag. Klaviyo derives the header URL from the same token; without the template tag, no header is emitted - The campaign or Flow email is tagged as Marketing, not Transactional. Klaviyo does not add the unsubscribe headers to Transactional sends by design (this is why Transactional sends do not require an unsubscribe link but also do not qualify for the one-click flow)
Verify by opening a delivered test message in Gmail (three dots, “Show original”). The header block should include:
List-Unsubscribe: <mailto:...>, <https://email.klaviyomail.com/unsub_center/...>
List-Unsubscribe-Post: List-Unsubscribe=One-ClickTesting your Klaviyo unsubscribe link
- Send yourself a preview. In the campaign editor, click Preview, then “Send a preview” to a controlled email address. Klaviyo replaces the tokens with real values for the target profile
- Click the footer unsubscribe. Verify you land on
pages.klaviyo.com/subscription_preferences(or your branded subdomain if configured). Confirm the opt-out - Check the profile. Search for your test email in Klaviyo Profiles; the consent status should be “Not subscribed” within seconds of the click
- Test the one-click flow. Copy the HTTPS URL from the
List-Unsubscribeheader and simulate the Gmail POST:
curl -X POST -d "List-Unsubscribe=One-Click" "https://email.klaviyomail.com/unsub_center/..."Expected response: HTTP 200 or 202. Klaviyo processes the request idempotently, so retries are safe. Re-check the profile status to confirm the opt-out was applied.
Common issues and how to fix them
The token renders as literal {% unsubscribe %} in the delivered email
You placed the tag in a Text block without linking it, or the tag has been HTML-encoded (%7B%25%20unsubscribe%20%25%7D). Solution: wrap it in an anchor tag (<a href="{% unsubscribe %}">) and paste the tag as plain text, not URL-encoded. Klaviyo processes the tag only when it appears in an href or specific attribute.
A Flow keeps sending to an unsubscribed profile
Flows evaluate consent at each step (email node) unless you have manually set the Flow’s “Send to unsubscribed profiles” toggle to ON. Check the Flow settings and confirm consent-check is enabled. This toggle exists for Transactional Flows and can be dangerous when accidentally left on for a Marketing Flow.
Gmail does not show the native one-click unsubscribe button
The most common cause is missing or misconfigured DKIM on the sending domain. Klaviyo emits the RFC 8058 headers, but Gmail strips them from unauthenticated messages. Fix by adding both Klaviyo-provided CNAME records for DKIM and setting up DMARC with at least a p=none policy. Give DNS 24 hours to propagate before re-testing.
The unsubscribe link shows a Klaviyo URL instead of my domain
Klaviyo lets you set a branded click-tracking subdomain via a CNAME (for example links.yourdomain.com). Configure it in Account > Settings > Domains & Hosting. Once verified, unsubscribe URLs and all click-tracked links use your subdomain, which improves brand consistency and reduces link-flagging by mailbox providers.
SMS opt-out (STOP keyword) does not unsubscribe from email
By design. Klaviyo tracks email consent and SMS consent as separate fields on the profile; a STOP reply to an SMS only clears SMS consent. If a subscriber wants to leave both channels, they must use the email preference page (which shows email-only options) plus reply STOP to any SMS. To keep both channels in sync, add a step to your welcome Flow that offers a global opt-out link covering both.
Related unsubscribe guides
Klaviyo competes with and integrates alongside several other platforms; the unsubscribe mechanism differs meaningfully in each:
- Mailchimp unsubscribe link: uses
*|UNSUB|*, common migration source for growing Shopify stores moving to Klaviyo - HubSpot unsubscribe link: uses
{{ unsubscribe_link }}, often paired with Klaviyo (HubSpot for CRM and B2B, Klaviyo for the e-commerce marketing send) - ActiveCampaign unsubscribe link: uses
%UNSUBSCRIBELINK%, marketing automation alternative for non-e-commerce - Postmark unsubscribe link: uses
{{{ pm:unsubscribe }}}, common companion for transactional email while Klaviyo handles marketing - SendGrid unsubscribe link: uses
{{{unsubscribe}}}, developer-first alternative for transactional - Loops unsubscribe link: uses
{{ unsubscribeUrl }}, modern developer alternative for SaaS product email
For the full 222-platform reference table and the overall compliance landscape, see the pillar guide How to add an unsubscribe link: the complete 2026 guide. For the legal side, see CAN-SPAM Act, GDPR, and global unsubscribe laws.
Klaviyo unsubscribe FAQ
Do transactional Klaviyo emails need an unsubscribe link?
Not under CAN-SPAM (transactional is exempt). GDPR still requires an opt-out for any marketing content mixed into transactional messages. Klaviyo lets you tag a Flow as Transactional in the send settings, which suppresses the unsubscribe check at send time and does not add List-Unsubscribe headers. Use this only for genuinely transactional payloads (order confirmations, shipping updates); marketing content sent under a transactional tag is a compliance risk.
Can an unsubscribed profile resubscribe on their own?
Yes, via a signup form or a Subscribe Profile API call. The profile stays in your database; only the consent flag flips. Klaviyo logs the resubscribe event with source attribution, which is important for GDPR audit trails.
Can I import a suppression list from another ESP into Klaviyo?
Yes. Go to Profiles > Add profiles > Upload file, then check “Suppress these profiles” during the import. This applies the suppression flag rather than a soft unsubscribe, which is the correct treatment for migrated opt-outs from a previous ESP. Suppressed profiles cannot be re-imported into an active list without support intervention on Enterprise.
Can I see unsubscribe rate per Flow or per Campaign?
Yes. Klaviyo Campaign and Flow performance reports include Unsubscribes as a top-level metric alongside delivery, open, and click rates. For deeper analysis, use the Analytics tab to filter by list, product interaction, or time window. Persistent high unsubscribe rates on a specific Flow are usually a sign of misaligned segmentation or over-send frequency, both fixable in the Flow settings.
I run two Shopify stores on one Klaviyo account. Does an unsubscribe apply to both?
Yes. Klaviyo’s consent field is profile-level, not list-level or store-level. A profile that unsubscribes from Store A also opts out of Store B if the same email address is present in both. If you want to keep opt-out siloed per brand, run separate Klaviyo accounts (one per brand); the Multi-Account feature on Klaviyo Enterprise supports this natively.
About the Author

Alaa · LinkedIn
Email infrastructure specialist with 8+ years of hands-on experience in SMTP, deliverability, and email verification. I’ve configured and troubleshot mail systems across Postfix, Exchange, and cloud relays, managed IP reputation and warmup campaigns, and built verification pipelines processing millions of addresses. My work spans DNS authentication (SPF, DKIM, DMARC, BIMI), bounce handling, blocklist monitoring, and compliance frameworks including CAN-SPAM and GDPR. I write every article on SMTPedia to give email professionals, developers, and marketers the accurate, RFC-grounded reference they need.
About SMTPedia
SMTPedia is an independent email industry reference covering SMTP, IMAP, POP3, email deliverability, marketing platforms, DNS authentication, and email verification. Every article is researched from official provider documentation, IETF RFCs, and industry best practices. Settings and configurations are verified quarterly.
We are cited as a source by ChatGPT, Microsoft Copilot, and thousands of email professionals worldwide. Learn more about our editorial process.

