Skip to main content

Unsubscribe Management

Last updated: 2026-05-13
Sidebar > Campaigns > Editor (footer)

Where to find it

Sidebar > Campaigns > Editor (footer)

Unsubscribe Management

Every campaign email Leadflip sends includes an unsubscribe footer. This article explains how that works, what gets recorded, and why the flow looks the way it does.

What recipients see

At the bottom of every campaign email, recipients see an Unsubscribe link. Clicking it takes them through a two-step flow:

  1. Confirmation page. Shows their email address and asks them to confirm. Nothing has happened yet at this point.
  2. Unsubscribed page. Records the opt-out and shows confirmation.

In addition, Gmail, Yahoo, and Apple Mail users see a native Unsubscribe button in the email-list view, next to the sender name. Clicking that button skips straight to step 2 (the system treats the native button as proof of intent).

Why the two-step flow

Modern email security tools pre-fetch links to scan them for malware: Outlook Safe Links, Gmail's link checker, Microsoft Defender, and similar systems. If clicking the unsubscribe link directly performed the unsubscribe, these scanners would unsubscribe recipients automatically the moment the email arrived, before the human ever read it.

The first step (confirmation page) makes no state change, so pre-fetchers can safely visit it. Only the second step records the actual unsubscribe.

The native one-click button is exempt from this because it requires an authenticated POST with a specific payload that pre-fetchers do not send.

What gets recorded

When a lead unsubscribes, a row is written to the campaign_unsubscribes table with:

Field What it stores
Lead and Account Identifies who unsubscribed
Campaign ID Which campaign triggered the opt-out (optional, may be empty for admin or API opt-outs)
Source How the unsubscribe happened (see below)
IP Address Audit trail
User Agent Audit trail
Timestamp When the opt-out happened

Sources

Source Meaning
link The recipient clicked the in-email Unsubscribe link and confirmed
list_unsubscribe One-click unsubscribe from the Gmail/Yahoo/Apple native button
admin A team member manually unsubscribed the lead from the admin UI
api An external system unsubscribed the lead via the API
spam_complaint The lead reported the email as spam; their email provider forwarded the complaint
bounce The email hard-bounced enough times that the system suppressed future sends
legacy Backfilled from the old per-lead unsubscribe column during the May 2026 migration

How unsubscribes affect future campaigns

Once a lead is unsubscribed, they are excluded from every future campaign on that account, automatically. The exclusion happens in the audience query at send time. There's no way to opt them back in without explicit user action.

Two important boundaries:

  • Unsubscribes are campaign-scoped. A lead who unsubscribes from campaigns still receives:
    • Automation emails ("when a lead enters stage X, send Y") because those are explicit per-lead triggered messages, not bulk broadcasts.
    • Distribution partner emails when their lead is delivered.
    • System notifications (password reset, account confirmation, etc.).
  • Unsubscribes are per-account. If your organisation has multiple Leadflip accounts (e.g. separate brands or business units), an unsubscribe on Account A does not propagate to Account B. If the same person exists as a lead in both accounts, they need to unsubscribe in each.

GDPR and CAN-SPAM compliance

The system is designed to satisfy the typical requirements of both regimes:

  • A clear and visible unsubscribe link in every campaign email (required by both GDPR and CAN-SPAM).
  • No "double-opt-out" or hoops. One click confirms, and they're out.
  • An audit trail of the unsubscribe (IP, user agent, timestamp, source) for proof of compliance.
  • The List-Unsubscribe and List-Unsubscribe-Post headers as specified by RFC 8058, satisfying Gmail's and Yahoo's bulk-sender requirements from February 2024.

This does NOT replace your obligation to have a lawful basis for sending the campaign in the first place. Make sure your leads consented (or qualify for legitimate-interest processing under GDPR Article 6).

Manually managing unsubscribes

You can manually unsubscribe a lead from the CRM:

  1. Open the lead.
  2. Find the Unsubscribe from campaigns action on the lead's right-hand side panel.
  3. Confirm. The unsubscribe is recorded with source: admin and your user ID.

To re-subscribe a previously opted-out lead, do the same thing in reverse. This should only ever happen with the lead's explicit consent (in writing if possible). Re-subscribing someone who did not ask to be re-subscribed exposes you to spam complaints and legal risk.

Bounce and spam complaint handling

  • Hard bounces are processed asynchronously when your SMTP provider reports them. Multiple hard bounces from the same address result in suppression with source: bounce.
  • Spam complaints are processed when your provider supports FBL (feedback loops). The lead is unsubscribed with source: spam_complaint.

If your SMTP provider does not forward bounces or spam complaints to Leadflip, this automatic suppression doesn't run. Consider switching to a provider with proper webhook support (Postmark, Mailgun, Amazon SES with SNS notifications, etc.).

Related articles

Was this helpful?
Thanks for your feedback!

Try Leadflip for free

Start capturing and managing leads in minutes.

Sign up free