Back to blog
Product UpdateBroadcasts

Introducing Broadcasts: Marketing Emails in SendPigeon

Send targeted marketing emails to your audience with contact management, templates, and tracking—all from the same platform as your transactional emails.

SendPigeon TeamJanuary 17, 20253 min read

We built SendPigeon for transactional email. Password resets, order confirmations, the emails your app needs to send. But we kept hearing the same request: "Can I also send newsletters?"

Today, yes. Broadcasts are here.

TL;DR

What's new:

  • Contact management with tags and custom fields
  • Broadcast campaigns with audience targeting
  • Open and click tracking per recipient
  • Automatic unsubscribe handling
  • CSV import for existing lists

Available on: Starter plan and above ($7/mo)


Why We Built This

Most teams end up with two email tools: one for transactional, one for marketing. That means:

  • Two sets of DNS records to manage
  • Two dashboards to check
  • Two billing relationships
  • Templates that don't match

We wanted to fix that. Same verified domains, same visual editor, same API patterns—just a different send mode.


How It Works

1. Import Your Contacts

Add contacts one by one, batch via API, or import a CSV. Organize them with tags like newsletter, beta-users, or paying-customers.

// Add contacts via API
await client.contacts.create({
  email: "user@example.com",
  tags: ["newsletter", "product-updates"],
  fields: { firstName: "Alex" }
});

// Or batch import
await client.contacts.batch([
  { email: "user1@example.com", tags: ["newsletter"] },
  { email: "user2@example.com", tags: ["newsletter"] },
]);

2. Create a Broadcast

Use the visual editor or write HTML directly. Add personalization with {{firstName}} variables. Preview on desktop and mobile.

3. Target Your Audience

Select which tags to include. Only contacts matching your criteria receive the broadcast.

4. Send or Schedule

Send immediately or schedule for later. We handle unsubscribe links automatically—no need to add them yourself.


Tracking Built In

Every broadcast includes:

  • Open tracking — See who opened and when
  • Click tracking — Know which links get clicks
  • Per-recipient status — Delivered, bounced, complained
  • Analytics dashboard — Opens over time, link performance

Tracking respects your organization's privacy settings. If you've disabled tracking for transactional emails, broadcasts follow the same rules.


Unsubscribe Handling

We automatically:

  1. Add an unsubscribe link to every broadcast
  2. Host the unsubscribe page
  3. Update contact status when someone unsubscribes
  4. Exclude unsubscribed contacts from future sends

You don't have to think about compliance. It just works.


Pricing

Broadcasts are available on Starter ($7/mo) and above. Broadcast emails count toward your monthly quota—same as transactional emails.

PlanEmails/moContacts
Starter10,000Unlimited
Growth30,000Unlimited
Pro100,000Unlimited

Getting Started

  1. Go to Dashboard → Broadcasts
  2. Import contacts or add them manually
  3. Create your first broadcast
  4. Send a test email to yourself
  5. Send to your audience

Or use the API:

// Create and send a broadcast
const broadcast = await client.broadcasts.create({
  name: "January Newsletter",
  subject: "What's new this month",
  htmlContent: "<p>Hello {{firstName}}!</p>",
  tags: ["newsletter"]
});

await client.broadcasts.send(broadcast.id);

What's Next

This is v1. We're planning:

  • A/B testing for subject lines
  • Send time optimization
  • Automation sequences
  • More analytics

Have requests? Let us know at info@sendpigeon.dev.


Learn More