A receipt confirms a purchase. An offer invites another purchase. Both can arrive automatically after checkout, but they serve different purposes.

That difference affects which opt-outs apply. It also affects which messages share a sending reputation. The message type determines whether it needs an unsubscribe mechanism.

## What makes an email transactional or marketing?

The message's purpose determines its category. Automation, personalization and the number of recipients do not establish that purpose.

[Google's subscription guidelines](https://support.google.com/mail/answer/15263077?hl=en) distinguish password resets, purchase receipts and one-time passwords from subscription messages. Marketing lists and newsletters fall into the subscription category.

| Question                        | Transactional email                                           | Marketing email                                         |
| ------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------- |
| Why is it sent?                 | To complete or report a transaction, request or account event | To promote something or send subscribed content         |
| What starts it?                 | A purchase, reset request or relevant account event           | A campaign schedule or an automated promotional trigger |
| What does the recipient expect? | Information needed for that transaction or account            | Content they have agreed to receive as a subscription   |
| Examples                        | Receipt, reset link, security alert                           | Newsletter, product offer, promotional follow-up        |

A customer's request for a receipt and their permission to receive a newsletter are different things. Google tells subscription senders to confirm the recipient's email address before sending.

Consent requirements also depend on the applicable law. [CAN-SPAM](/explained/compliance/what-is-can-spam) regulates US commercial email through an opt-out framework.

## Why use separate sending addresses, domains and IP pools?

Separation keeps the traffic identifiable and reduces shared reputation exposure. [Yahoo's sender guidance](https://senders.yahooinc.com/best-practices/) identifies both IP addresses and DKIM signing domains as reputation signals.

Google recommends different sending addresses for subscription and non-subscription messages. Yahoo recommends separating bulk marketing mail from transactional mail by IP or DKIM domain.

For example, receipts can use an authenticated `receipts.example.com` subdomain and offers can use `news.example.com`. Each stream can also use its own IP pool, a group of sending IP addresses.

These controls are distinct. A different From address can still use the same signing domain and sending IPs.

## What happens when the streams are mixed?

Unwanted marketing can affect the reputation used by operational mail. [Yahoo's FAQ](https://senders.yahooinc.com/faqs/) warns about unsolicited commercial mail sharing IPs with transactional messages.

A campaign and a password reset using those IPs share that exposure.

Mixing purposes inside one message creates another problem. A promotional offer in a receipt can change how the message is classified under CAN-SPAM.

## How do Gmail and Yahoo requirements differ by message type?

Transactional messages still need authentication and compliant sending infrastructure. The unsubscribe distinction does not exempt them from the providers' other sender requirements.

[Gmail's sender requirements](https://support.google.com/mail/answer/81126?hl=en) require SPF or DKIM for all senders to personal Gmail accounts. Senders exceeding 5,000 messages a day to personal Gmail accounts need SPF, DKIM and DMARC. Their marketing and subscribed messages also need one-click unsubscribe and a visible body link.

Google's subscription guidelines ask senders to honor unsubscribe requests within 48 hours. A preference change therefore needs to stop subsequent subscription sends within that window.

[Yahoo's requirements](https://senders.yahooinc.com/best-practices/) also require SPF, DKIM and DMARC for bulk senders. Its one-click unsubscribe requirement applies to promotional and marketing messages. Its FAQ explicitly excludes transactional examples such as order confirmations and password resets.

## How does CAN-SPAM treat the two categories?

CAN-SPAM applies different obligations according to the message's primary purpose. The [FTC, the US consumer protection regulator](https://www.ftc.gov/business-guidance/resources/can-spam-act-compliance-guide-business), defines transactional or relationship content narrowly.

Commercial messages need truthful sender information, accurate subject lines, advertising identification, a postal address and an opt-out mechanism. Purely transactional or relationship messages remain subject to the ban on false or misleading routing information.

An existing customer relationship does not make every message transactional. For mixed content, a promotional subject line can make the message commercial. So can placing the transactional content mainly after the promotion.

A promotional email therefore cannot avoid these obligations by using a transactional sending address or an API category.

## How do you separate the two in Bird?

You set the message's [category](/docs/guides/email/categories) to `transactional` or `marketing` according to its content. An inline send defaults to `marketing`. A stored-template send inherits the template's category unless you override it.

Bird adds [one-click unsubscribe headers and an HTML-body link](/docs/guides/email/unsubscribe-links) to marketing sends. A marketing-only opt-out blocks marketing mail while allowing transactional mail. Hard bounces, manual suppressions and an opt-out covering all messages block both categories.

You choose the infrastructure separately. Use verified [sending subdomains](/docs/guides/email/sending-domains) and select a sending pool with [`ip_pool_id`](/docs/guides/email/dedicated-ips-and-pools#select-a-pool-at-send-time). Omitting that field uses your organization's default pool. Setting `category` does not select a different pool.

The [transactional email API](/explained/email/what-is-a-transactional-email-api) connects that setup to your application. The [transactional email service checklist](/explained/email/best-transactional-email-service) covers provider evaluation.

## Related resources

- [Email](/products/email) (product)
- [Send your first email](/docs/get-started/send-your-first-email) (docs)
- [Getting started with email](/learn/email/getting-started-with-email) (video)
- [Build your first integration](/learn/paths/integration) (course)

[Get an implementation brief](/learn/workspace?topic=email)
