Transactional and marketing streams
Every email we send is on one of two streams. Transactional email is what a person expects because of something they did: a booking confirmation, a receipt. Marketing email is everything sent to a list: newsletters, offers. The two follow different rules, and the difference is the reason a guest who never wants a newsletter still gets their booking confirmation.
Which stream an email is on
Section titled “Which stream an email is on”Every email an emit sends is transactional. Templates belong to event types, and an event is something that happened for one person, so there is no stream setting to choose.
Marketing email is sent to a workspace’s subscribed contacts as campaigns. Your customers send campaigns from inside your platform; the API you integrate today is the transactional side and the contacts it sends to.
Keep transactional email transactional. An emit that sends a promotion to people who didn’t do anything is marketing wearing the wrong label, and mailbox providers judge it that way.
What each stream needs
Section titled “What each stream needs”| Transactional | Marketing | |
|---|---|---|
| Sent by | your emits | campaigns |
| Marketing consent | not needed | needed: only subscribed contacts get it |
| Unsubscribe link | none | in every email, and as a one-click header |
| Recipient | a contact, or any address | contacts only |
A contact you never sent consent for is pending and gets no marketing. See Contacts, attributes and consent.
What stops each stream
Section titled “What stops each stream”| What happened | Transactional | Marketing |
|---|---|---|
| The address hard-bounced | stopped | stopped |
| The person marked an email as spam | still sent | stopped |
| Repeated soft bounces | still sent | stopped |
| The person left marketing | still sent | stopped |
| You suspended the workspace | stopped | stopped |
| The workspace’s health is paused | still sent | stopped |
| The sending service stopped the workspace’s mail | stopped | stopped |
| Your sending domain can’t send | stopped | stopped |
A hard bounce means the address doesn’t exist, so nothing more is sent to it. A spam complaint or repeated soft bounces stop marketing, but a booking confirmation still reaches the person, because they need it. When an address becomes suppressed and a contact in the workspace holds it, your endpoint gets a contact.suppressed webhook with the reason (hard_bounce, complaint or soft_bounce) and blocks: all or marketing. When no contact holds the address, as after an emit to a bare address, the message.bounced or message.complained webhook is the only signal.
A suppression is ours, written from what the recipient’s mail server told us, and your consent can’t lift it. A subscribed you send for a suppressed address changes the contact’s consent but doesn’t make us market to it.
An emit to an address that is suppressed for all email answers with message.state suppressed, sends nothing, and sends your endpoint message.suppressed.
Health
Section titled “Health”Each workspace’s health tracks how recipients treat its email. A new workspace is ramping while it builds a history, then established. If its bounce or complaint rates run high it is throttled, which slows its marketing, then paused, which stops its marketing until we’ve looked at it. A health pause always stops marketing, and our own throttle and pause leave transactional email flowing. This is what keeps one customer’s bad list from hurting your other customers. Your endpoint hears about every move through workspace.health_changed, with the reason.
Separately, the sending service can stop a workspace’s mail, and that stops transactional email too. Health may not show it, so don’t read health to decide whether transactional email is going out. The signal to rely on is the emit itself: it still answers 202 with queued, and the message then ends in message.failed with the reason sending_paused.
Health is separate from your suspend switch. A suspend is yours, stops both streams, and only you lift it. A health pause is ours, stops marketing, and only we lift it. A workspace can be both at once.