Suppression & compliance
The most expensive mistake in email is contacting someone who opted out. OpenContact’s job is to make sure that a single unsubscribe, bounce, or spam complaint — reported by any one of your providers — is honored across all of them.
How it works
- A provider (Mailjet, Brevo, MailerLite, and others) sends OpenContact an event when a contact unsubscribes, hard-bounces, or marks spam.
- OpenContact updates the contact’s status to
unsubscribed,bounced, orcomplainedand records it in the contact’s timeline. - It then propagates that suppression to your other connected tools — so the contact is opted out everywhere, not just where the event happened.
Every event is de-duplicated, so a provider retrying a webhook never suppresses twice.
Two ways to propagate
Global suppression policy — set a sync rule’s suppression policy to “suppression wins globally”, and any suppression event fans out to every provider destination on that rule. This is the simple, set-and-forget option.
Suppression triggers — build a rule with an Unsubscribed / Bounced / Marked as spam trigger for full control: add conditions, choose exactly which destinations to suppress, or remove the contact from lists. Use this when “suppress everywhere” is too blunt.
Both run together and are de-duplicated, so a provider is never told to suppress the same contact twice.
Receiving events from your providers
OpenContact provides each connected provider a secure webhook URL. For providers that support it, OpenContact registers the webhook automatically when you generate it and verifies each incoming request’s signature — so a leaked URL alone can’t forge suppression events. For others, you paste the URL into the provider’s dashboard once.
Auditability
Every suppression is stored as an event on the contact, with its source and timestamp. You can read the full event stream in the app, via the Developer API, or subscribe to it with outbound webhooks.
Still stuck?
Send us your project ID and what you saw. Contact support.