Broadcast Emails
Broadcast emails allow you to send one-time messages to your subscribers. This guide covers creating, testing, scheduling, sending, and analyzing broadcast emails.
Broadcasts are organized per Channel. You cannot send a broadcast to subscribers from another channel. Make sure you’re in the correct channel before creating a broadcast.
Broadcasts Overview
The Broadcasts section shows all your email campaigns in a table format, displaying the broadcast ID, name, recipient count, status, engagement metrics, and both the sent and creation dates.

From this page, you can:
- View all broadcasts for the current channel
- Create new broadcasts
- Filter by status (Draft, Scheduled, Sending, Sent)
- Search broadcasts by name
- Monitor engagement metrics (Open Rate, CTR, Unsubscribe Rate, Bounce, Spam)
Sent vs Created
The list shows two dates, and for scheduled sends they are rarely the same:
- Sent: when the broadcast actually went out to subscribers. Empty (
—) for anything not yet sent. - Created: when the broadcast was first drafted.
A broadcast drafted on the 1st and scheduled to go out on the 14th shows both dates, so the engagement rates on the same row can be read against the date recipients actually received the email.
Bounce and Spam columns sit alongside the existing rates, both expressed as a percentage of total recipients. Rates are shown once a broadcast has finished sending; before that the columns read N/A.
Creating a Broadcast
Step 1: Choose Content Format
Click New Broadcast to open the format selection dialog:

Choose from three options:
- Rich Text (Recommended): A visual editor perfect for newsletters and announcements
- HTML: Direct code editing for custom designs
- Start from Template: Begin with a professionally designed template
Step 2: Content Tab
After selecting your format, you’ll see the broadcast creation wizard with four tabs. The Content tab is where you compose your email:

Basic Fields:
- Name: Internal reference for easy identification (e.g., “Newsletter #12”)
- Subject (Required): The email subject line recipients will see
- Preview Text: Text shown alongside the subject in email clients
- Reply-To: Optional custom reply address
- Tags: For internal organization
Rich Text Editor Features:
- Font selection and text color
- Formatting (bold, italic, underline, strikethrough)
- Links and images, uploaded or picked from File Assets
- Lists (bulleted and numbered)
- Text alignment
- Undo/redo
The Inbox Preview shows how your email will appear in recipients’ inboxes as you type.
Step 3: Settings Tab
Configure tracking and delivery options:

Tracking Options:
- Track opens: Inserts an invisible pixel to record when emails are opened (note: some email clients block tracking pixels)
- Track clicks: Rewrites links to track click-through rates
Email Server Options:
- Use any email server (load balanced): Distributes emails across all active servers
- Optionally select specific servers for this broadcast
Custom Email Headers:
Add or override email headers for specific requirements. Header values support Liquid variables, so you can include dynamic subscriber data. For example, to set a custom List-Unsubscribe header that points to your own domain:
List-Unsubscribe: <https://example.com/unsubscribe/{{ subscriber.data.unsubscribe_token }}>
List-Unsubscribe-Post: List-Unsubscribe=One-Click
All standard Liquid variables are available in header values, including {{ subscriber.email }}, {{ subscriber.data.* }}, and {{ unsubscribe_url }}. Static header values (without Liquid tags) are passed through unchanged with no overhead.
Step 4: Audience Tab
Select who will receive your broadcast:

Targeting Options:
- All Subscribers: Send to everyone on your list
- Segments: Target specific groups based on your segment rules
You can select multiple segments: subscribers matching any selected segment will receive the broadcast.
Step 5: Save or Send
- Save Draft: Save your progress to continue later
- Autosave: Enable automatic saving as you work (toggle at bottom of screen)
- Proceed through the wizard tabs using Next buttons
Testing a Broadcast
Before sending to all subscribers, test your broadcast. From the broadcast detail page, click the dropdown arrow next to Send now:

Click Send test email to open the test dialog:

Enter an email address you have access to and click Send test to verify:
- Email formatting and layout
- Links work correctly
- Personalization displays properly
- Content appears correctly across email clients
Broadcast Detail Page
After creating a broadcast, view its details and preview:

The detail page shows:
- Recipients: Estimated number of subscribers who will receive the broadcast
- Audience: Selected targeting (All Subscribers or specific segments)
- Tracking: Which tracking options are enabled
- Email Preview: Gmail-style preview of how your email will appear
- Email Servers: Which servers will send this broadcast
- Details: Broadcast ID and creation date
Sending a Broadcast
Send Immediately
Click Send now to immediately queue your broadcast. The system will:
- Validate all broadcast settings
- Queue emails for all targeted recipients
- Begin sending through configured email servers
- Display real-time progress
Schedule for Later
Select Schedule send from the options dropdown to:
- Set a specific date and time
- Schedule across different time zones
- Plan campaigns in advance
Broadcast Statuses
A broadcast moves through these statuses. The badge next to its name on the detail page always shows the current one, and the Filter by status list in the sidebar gives quick counts for the four you look at most.
| Status | Meaning | What you can do |
|---|---|---|
| Draft | Being created or edited | Edit, send, schedule, duplicate, archive, delete |
| Future scheduled | Waiting for its scheduled time | Cancel the schedule, which returns it to draft |
| Scheduled | Handed to the sending job, about to start | Pause, abort |
| Queueing | Recipients are being assembled | Pause, abort |
| Sending | Emails are going out now | Pause, abort |
| Paused | Stopped part-way through, by you | Resume, abort |
| Sent | Finished, every recipient was processed | Duplicate, archive |
| Partial failure | Finished, but some recipients failed | Duplicate, archive |
| Failed | Could not send, usually a channel or server problem | Duplicate, archive |
| Aborted | Stopped permanently, by you | Duplicate, archive |
Note
Sent and Partial failure are both finished states, and both expose full delivery stats. The difference is only whether every recipient succeeded. Treat a partial failure as a completed send with something worth investigating in Email Metrics, not as a send that needs repeating.
Archiving is separate from status. An archived broadcast keeps whatever status it had and is simply hidden from the default list.
Controlling a Send in Progress
Once a broadcast is sending you are not stuck watching it. The detail page swaps its buttons for the controls that apply to the current state.
Pausing
While a broadcast is scheduled, queueing, or sending, the header shows Pause, with Abort send in the dropdown beside it.

Pausing does not cut off mid-flight. The sending job checks the status each time it flushes a batch, so a pause takes effect within the next few emails: after at most 5 for a list under 100 subscribers, 25 under 1,000, and 100 above that. Emails already handed to your email server are on their way and cannot be recalled.
Pause when you spot a broken link or a wrong merge tag and want to stop the bleeding while you decide what to do.
Resuming
A paused broadcast shows Resume instead.

Resuming re-queues the send and picks up where it stopped, so subscribers who already received the email do not get a second copy. It needs the channel’s sender and email server settings to still be valid, and it will refuse with an error if they are not.
Warning
Pausing does not let you edit the content. A broadcast that has started sending is locked, so half your list would get the old version and half the new one. If the content is wrong, abort, fix a duplicate, and send that to the remainder.
Aborting
Abort send stops the broadcast permanently and moves it to Aborted. There is no resume from there, and emails already sent stay sent. Use it when you want the send stopped for good rather than paused.
Recipient Counts
The Recipients card on a sent broadcast reads “X of Y delivered”, where Y is the recipient total recorded when the send began. It is the denominator behind every rate on the page.

These two numbers can drift apart. If subscribers unsubscribed or were deactivated between the moment the total was recorded and the moment they were reached, the recorded total stays higher than the number of actual recipients, and every rate is computed against a denominator that is too large.
The circular arrow on the Recipients card fixes this. It resets the total to the real recipient count.

Warning
Recalculating is irreversible and permanently changes the broadcast’s analytics. Only do it when you are confident the recorded total is wrong, since a broadcast that genuinely failed to reach people should keep the higher denominator: those recipients were real, they just did not get the email.
Analytics and Reporting
After sending, these metrics become available:
- Open Rate: Percentage of recipients who opened the email
- Click Rate (CTR): Percentage who clicked links
- Unsubscribe Rate: Recipients who opted out after this broadcast
- Delivery Rate: Successfully delivered vs. total sent
- Bounce Rate: Emails that couldn’t be delivered
Recent Activity
A sent broadcast with tracking enabled shows Recent Activity: one row per recipient, with a column for each event.

| Column | What it shows |
|---|---|
| Recipient | The email address. Where that address is a subscriber in this channel, it links to their profile. |
| Status | The most significant outcome for that recipient: Bounced, Spam, Unsubscribed, Clicked, Opened or Delivered. A bounce or complaint reason appears underneath. |
| Delivered | When the email reached the recipient. See the note below on where this time comes from. |
| Opened / Clicked | When each event happened, or — if it didn’t. |
Where a recipient both engaged and failed (opened the email and later marked it as spam), Status shows the failure, since that is the more important fact.
Where the Delivered time comes from
Delivery is reported by your email provider, through the delivery webhook you configure for it. Opens and clicks are different: Broadcast records those itself, from the tracking pixel and rewritten links, so they need no webhook at all.
That means a provider which doesn’t send delivery events (or one whose webhook isn’t set up yet) leaves Broadcast with no delivery time of its own to show. Since an email cannot be opened or clicked without having arrived, an open or a click is taken as confirmation that it was delivered, and the send time stands in for the delivery time. Those times are shown with a dotted underline, and hovering one says that the provider reported no delivery time.
A recipient who neither opened nor clicked, on a channel with no delivery webhook, still shows —: nothing has confirmed that the email arrived. If a whole broadcast reads that way, check the webhook configuration for that channel’s email server, see Webhooks.
A bounce is never treated as a delivery, so a bounced recipient’s Delivered column stays empty.
Sorting: click Recipient, Delivered, Opened or Clicked to sort by that column; click again to reverse it. By default the most recently active recipients come first, so whoever just clicked is at the top. Recipients with no activity in the sorted column always sort to the end.
Two controls narrow the table:
- Search recipient: matches any part of an email address. Enter a full address to check one person, or a domain such as
northwind.comto see everyone from one organisation. - Event filters: All, Opened, Clicked, Bounced, Spam, and Unsubscribed limit the table to a single event type. Useful for questions like “who bounced?” without paging through every recipient.

The search, the event filter and the sort all combine, so you can ask for “everyone at northwind.com who clicked, most recent first”. All three stay applied as you page through results.
Exporting the activity
Export CSV, at the end of the filter row, downloads the table you are looking at. The search, the event filter and the sort all carry into the file, so filtering to Bounced and exporting gives you exactly the bounced recipients.

The file has one row per recipient and a column for each event, along with the timestamps and any bounce or complaint reason:
| Column | What it contains |
|---|---|
| Recipient | The email address |
| Delivered, Opened, Clicked, Bounced, Spam, Unsubscribed | Yes or No for each event |
| Delivered At, Opened At, Clicked At, Bounced At | When each happened, blank where it didn’t |
| Failure Reason | The bounce or complaint reason, where the provider gave one |
Dates are ISO 8601 (2026-07-26T14:30:00Z). Exporting needs the same permission as viewing the broadcast: the table already shows every recipient’s address on screen, so the file discloses nothing new.
The export covers one broadcast. To compare sends, export the broadcasts list instead, see below.
Exporting the Broadcasts List
Export CSV, beside the search box on the broadcasts list, downloads one row per broadcast with the figures the list shows: a performance summary across sends rather than a per-recipient dump.

As with every export in Broadcast, you get what the list is currently showing: the search, the tag filter, the status filter and the Active/Archived tab all carry into the file.
| Column | What it contains |
|---|---|
| ID, Subject, Status | Identifying the broadcast |
| Created At, Sent At | Blank Sent At for anything not yet sent, see Sent vs Created |
| Recipients | How many the broadcast went to |
| Open Rate %, Click Rate %, Unsubscribe Rate %, Bounce Rate %, Spam Rate % | The same figures as the list columns |
| Tags | Comma-separated, in one cell |
A rate reads N/A rather than 0.0 where there is nothing to measure: a broadcast that has not sent, or a rate whose tracking is switched off. A zero would claim a real measurement of nothing.
This export contains no recipient data, so it needs only permission to view broadcasts: it is the report to hand a client.
Managing Broadcasts
The options dropdown next to the main button changes with the broadcast’s status, so you only ever see actions that apply.
| Action | Available when | What it does |
|---|---|---|
| Edit | Draft | Reopens the composer. A broadcast that has started sending is locked |
| Schedule send | Draft | Sets a date and time instead of sending now |
| Cancel schedule | Future scheduled | Returns the broadcast to draft |
| Duplicate | Any status | Creates a fresh draft copy named “Copy of …”, carrying over the content, subject, and settings |
| Archive | Draft or finished | Hides it from the default list without deleting it |
| Unarchive | Archived | Returns it to the default list |
| Delete | Draft | Removes it permanently |
Duplicating is the safe way to iterate. Because the copy is always a new draft, you can rework a broadcast that has already gone out without any risk of touching the original or its analytics.
To work through many at once, select broadcasts with the checkboxes on the list page and use the bulk Archive and Unarchive actions.
Best Practices
Content:
- Write compelling subject lines (aim for under 60 characters)
- Use preview text to complement your subject
- Keep content focused and valuable
Deliverability:
- Maintain clean subscriber lists
- Monitor bounce and spam rates
- Use proper sender authentication
Testing:
- Always send a test email before broadcasting
- Verify on multiple email clients
- Check all links work correctly