Skip to main content
Transactional email example in Brew

What are Transactional Emails?

Transactional emails are automated messages sent to individual users based on specific actions they take—like password resets, order confirmations, or account notifications. Unlike marketing emails, they contain essential information users need regardless of their subscription preferences. Key characteristics:
  • Triggered by user actions (not promotional campaigns)
  • Always delivered, even to unsubscribed contacts
  • Don’t require unsubscribe links (CAN-SPAM compliant)
  • Focus on functionality, not marketing
When contacts unsubscribe from your marketing emails, Brew automatically skips them for campaigns and automations but still delivers transactional emails since they contain essential information needed for using your service. This approach complies with CAN-SPAM regulations, which distinguish between marketing and transactional content.

When Should I Use Transactional Emails?

  • Authentication & Security
  • Order & Billing
  • System Notifications
  • Marketing Examples
Essential for user account management:
  • Password reset emails
  • Email verification
  • Login notifications
  • Two-factor authentication codes
  • Security alerts
Always transactional - users need these to use your service.

Quick Decision Guide

Ask yourself: “Can the user complete essential tasks without this email?”
  • No → Transactional (password reset, order receipt)
  • Yes → Marketing email (newsletter, product updates)
Legal requirement: If your email contains ANY promotional content, it must follow marketing email regulations including unsubscribe links per CAN-SPAM, GDPR, and CASL.

How to Create and Send Transactional Emails

1

Create your email with AI

Describe what you need and Brew generates an on-brand transactional email with proper data variables and responsive design.
2

Add data variables

Insert dynamic content like names, URLs, or order details using Brew’s data variable system.
3

Publish and get your ID

Publish your email to get a unique ID for API calls.
4

Send via API

Use Brew’s API to send personalized emails with your data.

Create with AI

Instead of building emails from scratch, tell Brew what you need: Example prompts:
  • “Create a password reset email with a secure link and security tips”
  • “Draft an order confirmation with order details and tracking info”
  • “Make an account verification email with a confirmation button”
Brew generates complete emails with proper security messaging, clear instructions, and your brand styling.

Add Data Variables

Data variables insert personalized content into each email: Common variables:
  • {DATA_VARIABLE:firstName} - Recipient’s name
  • {DATA_VARIABLE:resetUrl} - Password reset link
  • {DATA_VARIABLE:orderNumber} - Order confirmation
  • {DATA_VARIABLE:verificationLink} - Account verification URL
Adding variables:
  1. Use the Insert data variable button in the editor
  2. Type them directly: {DATA_VARIABLE:variableName}
  3. Add to text, links, buttons, or subject lines
Important requirements:
  • Variable names are case-sensitive (firstNameFirstName)
  • Use only letters, numbers, underscores, and dashes
  • All required variables must be included in API calls
  • Values can be strings, numbers, or booleans
  • Mark variables as “optional” if they’re not always needed

Publish and Send

  1. Review your email - Check variables and content
  2. Click “Publish” - Gets your unique transactional ID
  3. Copy the API payload - Use this for your integration

API Examples

Contact behavior: Transactional emails don’t automatically add recipients to your marketing audience. Set addToAudience: true if you want them added for future marketing emails.

Basic Password Reset

curl -X POST "https://api.brew.new/v1/transactional" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "transactionalId": "te_password_reset",
    "email": "user@example.com",
    "dataVariables": {
      "firstName": "Sarah",
      "resetUrl": "https://app.example.com/reset?token=abc123"
    }
  }'

With Contact Management

curl -X POST "https://api.brew.new/v1/transactional" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "transactionalId": "te_welcome",
    "email": "newuser@example.com",
    "addToAudience": true,
    "firstName": "Alex",
    "subscriptionGroups": {
      "sg_newsletter": true
    },
    "dataVariables": {
      "firstName": "Alex",
      "dashboardUrl": "https://app.example.com/dashboard"
    }
  }'

View full API documentation

Explore the complete transactional email API reference with all parameters, error handling, and advanced options

Testing and Troubleshooting

Safe Testing

Use these special test domains that won’t affect your sending reputation:
  • test@example.com
  • test@test.com
These return success responses without sending actual emails.

Common Issues

Error: Missing required fields: resetUrlFix: Include all required variables in your API call:
"dataVariables": {
  "resetUrl": "https://example.com/reset",
  "firstName": "John"
}
Error: Transactional email not foundCheck:
  • Is your transactionalId correct?
  • Is the email published (not draft)?
  • Hasn’t been deleted?
Error: Domain not verifiedFix: Verify your sending domain in Brew settings before sending emails

Best Practices

Content Guidelines

  • Be clear and direct - Users expect immediate, actionable information
  • Include your branding - Build trust with consistent design
  • Explain the trigger - “You’re receiving this because you requested a password reset”
  • Provide support contact - Never use “no-reply” addresses

Technical Best Practices

Use a dedicated subdomain for transactional emails:
  • notifications.yourdomain.com or auth.yourdomain.com
  • Isolates reputation from marketing emails
  • Signals purpose to email providers
Reputation isolation benefits:
  • Protects critical transactional emails if marketing campaigns face deliverability issues
  • Creates a “safety zone” for essential communications like password resets and account verifications
  • Allows faster recovery if problems occur with either transactional or marketing emails
  • Enables separate monitoring of deliverability metrics for each type of communication
Ensure proper authentication:
  • Verify domain in Brew settings
  • Set up DMARC for security
  • Match email URLs to your sending domain when possible
For sensitive emails (password resets, verification):
  • Keep content focused and minimal
  • Ensure immediate delivery expectations
  • Consider disabling click tracking for security
General best practices:
  • Limit email size (Gmail clips at 102KB)
  • Include plain text versions
  • Avoid excessive images
  • Use professional language

Monitoring

Track key metrics in your Transactional dashboard:
  • Sends - Total emails sent
  • Delivered - Successfully delivered emails
  • Bounces - Failed deliveries
  • Spam complaints - Recipients marking as spam
Open and click tracking is disabled by default for transactional emails to improve deliverability and focus on essential communications.

API Reference

For complete API documentation, including all parameters and error codes, see our Transactional Email API Reference.

Need Help?

Our team is ready to support you at every step of your journey with Brew. Choose the option that works best for you:
  • Self-Service Tools
  • Talk to Our Team

Search Documentation

Type in the “Ask any question” search bar at the top left to instantly find relevant documentation pages.

AI Assistant Chat

Click the sparkle ✨ icon next to the “Ask any question” search bar in the top left to chat with our AI assistant that’s been trained on our entire documentation.

ChatGPT/Claude Integration

Click “Open in ChatGPT” at the top right of any page to analyze documentation with ChatGPT or Claude for deeper insights.
I