Unsubscribe and suppression in Adapty Mail

Adapty Mail stops sending to a user under two distinct conditions:

  • Suppression: The user is excluded from all future sends in this project (unsubscribed, bounced, complained, rejected, or throttled).
  • Stop condition: The user’s current sequence is cancelled because they converted. They’re not suppressed and stay eligible for other campaigns.

Both mechanisms are per-project. Suppression in one Adapty project doesn’t affect another.

Unsubscribe

A recipient has two ways out, and both run on the go. host of your sending domain rather than an Adapty URL.

The footer link. Every email carries one. Clicking it opens a confirmation page, and confirming there marks the profile with suppression_reason = 'unsubscribe', cancels the remaining sequence, and excludes the profile from future sends in the project. The confirmation step is deliberate: spam scanners and inbox prefetchers open links in the message body, and a page in the way keeps them from unsubscribing people who never clicked.

The inbox button. Adapty Mail sends the List-Unsubscribe: <URL>, <mailto:> header together with List-Unsubscribe-Post: List-Unsubscribe=One-Click. Gmail and Yahoo require these of bulk senders (RFC 8058), and clients that support them show an unsubscribe button next to the sender name. This URL has no confirmation page: the first request to it suppresses the profile, whatever the method — RFC 8058 specifies POST, and some providers send GET instead.

Both links carry an encrypted token that identifies the recipient and the email it came from, so unsubscribing takes no login and no lookup.

Note

Unsubscribing from a test email changes nothing — test sends are excluded from suppression.

Automatic suppression

Adapty Mail listens for AWS SES delivery events via SNS and suppresses the user immediately on any of the following:

EventReason codeWhat it means
BouncebounceThe email address is invalid, the mailbox is full, or the domain doesn’t exist.
ComplaintcomplaintThe user marked the email as spam.
RejectrejectSES rejected the message before sending.
ThrottlethrottleSending rate exceeded domain safety limits.

For every event, the outcome is the same: the user is added to the suppression list, the remaining sequence is cancelled, and they’re excluded from future sends in the project.

Important

Adapty Mail does not distinguish between hard and soft bounces. Any bounce — including temporary conditions like a full mailbox — suppresses the user immediately. There’s no retry window.

Stop condition

When a user converts mid-sequence, Adapty Mail cancels their remaining emails with the stop_condition reason. Conversion means their subscription state reaches Subscribed, or their one-time purchase state reaches Purchased.

Stop condition is different from suppression:

  • Suppression: Excludes the user from all future sends in the project.
  • Stop condition: Cancels only the current sequence. The user stays eligible for other campaigns — for example, a renewal or win-back flow targeting active subscribers.

Stop-condition cancellations appear alongside suppressions in campaign analytics.

Managing suppression

Adapty Mail has no dashboard UI to view or remove suppressed users. To unsuppress a profile — for example, someone who accidentally marked a test email as spam — contact Adapty support.

What Adapty Mail handles for compliance

Adapty Mail ships with:

  • Unsubscribe link: Included in every email footer, processed as soon as the recipient confirms.
  • List-Unsubscribe headers: Sent with every email for one-click unsubscribe from the inbox (RFC 8058), on a URL that unsubscribes on the first request.
  • Automatic suppression: Triggered on SES bounce, complaint, reject, and throttle events.

Parts you’re responsible for:

  • Physical mailing address: CAN-SPAM requires one in the email footer. Adapty Mail doesn’t inject it — add it in your campaign design.
  • Explicit opt-in consent: Collect it before passing a user’s email to Adapty. See Connect Adapty to Adapty Mail.
  • GDPR erasure requests: Send the profile’s identifiers to the Delete profile endpoint of the Adapty Mail API. Adapty Mail erases the profile’s personal data and cancels its scheduled emails. Erasure is final: a later save carrying the same identifiers doesn’t recreate the profile.