Every email your product sends falls into one of two buckets, and mixing them up is one of the fastest ways to hurt deliverability or annoy a customer who just wants their receipt. The line isn't about tone or template. It's about one question: did the recipient take an action that requires this message to exist?
The test
A password reset, an order confirmation, a "your payment failed" notice: the recipient did something (or something happened to their account) that this email is a direct response to. That's transactional. Withhold it and you've broken the product.
A weekly digest, a feature announcement, a "we miss you" nudge: nothing the recipient did requires this specific message right now. That's marketing. Withhold it and nothing breaks; someone just sees less mail.
The test isn't "is it promotional in tone." A receipt that says "thanks for upgrading to our Team plan" is still transactional, even though it mentions a paid feature. And a "here's what's new this month" email is still marketing, even if it's useful and welcome. What matters is whether the message is a consequence of an action, or a broadcast you chose to send.
Why the difference isn't cosmetic
Once you've sorted an email into one bucket or the other, three things follow automatically, and getting them backwards causes real problems.
Consent. Marketing email checks whether the recipient has opted in and skips them if they've unsubscribed. Transactional email doesn't check consent at all, because unsubscribing from marketing isn't the same as opting out of a receipt and CAN-SPAM agrees. If you route a password reset through your marketing sender and the person unsubscribed six months ago, they never get the email they're waiting on right now.
The footer. Marketing mail carries an unsubscribe link and a postal address. Transactional mail carries the postal address but no unsubscribe link, because there's nothing to opt out of. Put an unsubscribe link on a receipt and you're implicitly telling people they can opt out of order confirmations, which they can't, and which will generate support tickets when they try.
Volume and urgency. Marketing sends in batches, often scheduled or spread out to protect deliverability. Transactional sends the instant the triggering action happens, one at a time, because a password reset that arrives ten minutes late is useless. Routing high-urgency, one-off mail through a marketing pipeline built for batched sends is how "forgot password" emails end up taking longer than they should.
The gray area: lifecycle email
The confusing middle ground is lifecycle email: onboarding sequences, "you haven't finished setup" nudges, win-back campaigns triggered by inactivity. These are triggered by behavior, which makes them feel transactional, but they're still marketing. The test still holds: nothing requires the message to exist except your decision to send it. A new signup who doesn't get their day-three onboarding email hasn't lost access to anything; they've just missed a nudge you chose to send. That's why event-triggered sequences still check consent and carry an unsubscribe footer, even though, like transactional email, they fire off an event instead of a human clicking send.
The one place this gets genuinely ambiguous is billing. A "your card was charged" receipt is transactional. A "your card is about to expire, update it before your next charge" reminder is arguably a courtesy, not a required response to an action that already happened, and reasonable teams put it in either bucket. If in doubt, ask whether withholding the email would leave the customer's account in a broken state. A missed receipt is just confusing; a missed dunning notice can mean an involuntary cancellation. That argues for routing the reminder as transactional even though it's a closer call than a receipt.
How this maps to Pombo
Pombo keeps the two paths separate on purpose. A transactional send has a category: "transactional" and a key, is sent by an explicit API call, an agent tool call, or bound to an event, skips consent checks, and drops the unsubscribe footer. A sequence or campaign checks consent, carries the footer, and is built for the batched or drip cadence marketing implies. Both run on the same authenticated sending domain and the same suppression rules for hard bounces and complaints, so a dead address stays dead everywhere, but a marketing unsubscribe only turns off marketing.
The practical implication: pick the bucket at template-creation time, not at send time. If you're not sure which one a given email is, ask what happens if you don't send it. If the customer's account or transaction is left in a broken state, it's transactional. If the customer simply sees one less email, it's marketing.
Start with the transactional email overview if you're wiring up your first receipt, or the event-triggered sequences guide if what you actually need is a behavioral marketing flow.
