Blog ·
How to sync unsubscribes across your email tools
If you send from more than one tool, an unsubscribe in one of them does nothing in the others. The person keeps getting email, and you carry the risk.
What happens
- A provider reports an unsubscribe, hard bounce or spam complaint to OpenContact.
- OpenContact sets the contact’s status to
unsubscribed,bouncedorcomplainedand records the event on the contact’s timeline. - It passes the suppression to your other connected tools.
Events are de-duplicated, so a provider retrying a webhook never suppresses someone twice.
Two ways to propagate
Global policy. Set a sync rule’s suppression policy to “suppression wins globally”. Any suppression event fans out to every provider destination on that rule. Simple, and set once.
Suppression triggers. Build a rule that starts on Unsubscribed, Bounced or Marked as spam. Add conditions, pick exactly which destinations to suppress, or remove the contact from lists. Use this when “everywhere” is too blunt.
Both can run together.
Getting events in
Each connection gets a secure webhook URL. For Brevo and MailerLite, OpenContact registers the webhook for you. For Mailjet, you add the URL to its event settings once. Incoming events are checked, so a leaked URL alone cannot fake a suppression.
Keep a record
Every suppression is stored with its source and time. Read the stream in the app, through the API, or subscribe with signed outbound webhooks.
One more safeguard
A later form submission does not re-subscribe someone who opted out.