Transactional email
A transactional message is a response to something a specific person did. They reset a password, placed an order, were invited to a workspace - and the message is the other half of that action. The defining property is that it is expected: the recipient is often waiting for it, sometimes with the tab still open.
A transactional message is one-to-one and completes an action the recipient started. It is expected, usually urgent, and would be missed if it didn't arrive.
- Password resets and sign-in links
- Email verification and one-time codes
- Receipts, invoices and order confirmations
- Security alerts and account notices
- Replies and notifications about the recipient's own activity
Marketing email
A marketing message is sent because you decided to send it. The recipient agreed to hear from you at some point, which is not the same as asking for this message today, and that difference is the entire reason the two are regulated and filtered differently.
A marketing message is one-to-many and promotional. The recipient didn't trigger it; they agreed to receive it. Laws such as CAN-SPAM, GDPR and India's DPDP Act require consent and a working unsubscribe for it.
- Newsletters and product updates
- Promotions, offers and sales
- Onboarding sequences that sell an upgrade
- Re-engagement campaigns
Why the difference matters for delivery
Mixing them costs you the transactional mail. Complaints from a campaign attach to the sending reputation, and that reputation is what decides whether a password reset reaches the inbox an hour later. Someone who ignores a newsletter is mildly annoyed; someone who cannot log in is filing a support ticket.
Inbox providers build a reputation for each sending domain and IP. Marketing mail draws more complaints; if it shares a domain with password resets, a bad campaign can push your resets into spam. Keeping them on separate subdomains - for example mail.yourdomain.com and news.yourdomain.com - isolates the reputations.
| Transactional | Marketing | |
|---|---|---|
| Trigger | User action | Your schedule |
| Consent | Implied by the action | Explicit opt-in |
| Unsubscribe link | Not required | Required (one-click for bulk senders) |
| Open tracking | Usually off | Common |
| Tolerance for delay | Seconds | Minutes to hours |
Sending both from one API
Using one provider for both is fine - sharing one reputation between them is the part to avoid. Separate the streams so a campaign cannot damage the mail your product depends on:
You don't need two providers. With Sendpository both go through the same API: add track_opens and list_unsubscribe on marketing sends, leave them off transactional ones, and verify a separate subdomain for each stream.