Broadcasts in

Broadcasts in are individual messages sent to a large group of people at once. Unlike campaigns, you trigger a broadcast yourself—by scheduling it, sending immediately, or by an API call. There are two types of broadcasts, Newsletters and API-triggered broadcasts, each with their own specific use cases.

Newsletters are used for product updates or special one-off announcements.
API Triggered Broadcasts are messages that send to a group based on an API call: for example, news alerts to people who subscribe to a specific topic, or a call to vote or participate in an event a few days out.

From the Broadcasts list, you can choose to create a new broadcast, then choose the type. The choice is between Newsletters and API Triggered Broadcasts.


A newsletter is a single email, SMS, push, or webhook sent to a group of people that you define.


You can send to all the people in your account, or you can define a smaller segment to send to.


As you choose recipients, shows a preview of how many people are expected be sent the message. Click “View people matching conditions” to see the list of expected recipients.

Recipients: Segment

This option allows you to send to any combination of segment matches, to people who meet specific conditions. For example: The segment ‘Upgraded to premium service’ could be combined with the segment ‘Active in the last 30 days’ to more closely target the recipients of your newsletter. You can also:

  • Send to people who are in or not in a particular segment
  • Send to people based on the value of a particular attribute
  • Send to people who have or haven’t received a previous newsletter
  • …or any combination of the above. Here is an example of sending a Weekly Update newsletter to Signed Up customers (segment condition) in Canada (attribute condition), who received the previous Important App Update newsletter (newsletter condition):

If you select a newsletter send as a condition, you may see a green or yellow dot on the newsletter icon. This is a “status” indicating whether the newsletter has been sent (green) or drafted (yellow).

Segments: Opting in to a newsletter To use for a recurring newsletter, you might want to explicitly have people opt-in to the newsletter. You can do this by setting an attribute on each person who should receive the newsletter, then setting them as recipients on your newsletter with a Segment Condition. For example:


Recipients: Everyone

This will send to every subscribed person in your account.

Recipients: Import Some people may not currently belong to a segment or have a specific shared attribute that makes them easy to target using a data-driven segment. If you know their IDs or Emails, though, you can send a newsletter to them by uploading a CSV or importing a Google Sheet in a manual segment.

Check out more information on manual segments here.

Sending to unsubscribed users

By default, newsletters do not send to unsubscribed people. However, when setting up your newsletter, you may have noticed this option:


Please be careful when sending to unsubscribed people. Continuing to message someone who has unsubscribed could result in your breaching anti-spam laws in your country, and we do reserve the right to terminate your account if you do so.

Skip duplicate email addresses

If your workspace is ID only, multiple people in your workspace can have the same email attributeA key-value pair that you associate with a person—like their name, the date they were created in your workspace, etc. Use attributes to target people and personalize messages.. The Skip duplicate email addresses setting prevents you from sending your email newsletter multiple times to the same address. It is on by default.

At your newsletter’s send time, we generate a deliveryThe instance of a message sent to a person. When you set up a message, you determine an audience for your message. Each individual “send”—the version of a message sent to a single member of your audience—is a delivery. for each member of your audience. If this setting is on and a subsequent member of your audience has the same email attribute as someone who already generated a delivery, we will skip that person.

This setting only prevents duplicate deliveries; we do not affect your newsletter audience in any other way. For example, we don’t modify the Is a recipient segment criteria for your newsletter—all of the people in the original audience of the newsletter, including people with duplicate email addresses who were skipped, will join the Is a recipient segment.

People with duplicate email addresses were a part of the audience and, technically, the email belonging to multiple people generated a delivery. Treating members of your audience the same, despite deduplicating deliveries can help prevent you from accidentally sending repeat or follow-up emails to someone who already received your newsletter.

 Recipient counts in your Newsletter set up do not account for duplicates

Deduplication takes place at send time, so the audience counts you see when you set up your newsletter and A/B test might be inflated by people with duplicate emails in your audience.

While this setting prevents you from sending duplicate emails, you can deduplicate people in your workspace by enabling the email or ID setting, which makes email a unique attribute. This ensures that multiple people cannot have the same email address attribute.

Limiting Send Rate

As an alternative to sending all messages as fast as possible, provides the option of setting a maximum sending rate.


When send rate is limited, messages will be queued for delivery in batch sizes of the number you specify. Every day/minute/hour after the newsletter is scheduled to be delivered, one of those batches will be sent, until all sending is complete.

Note that you cannot limit send rate in combination with scheduling the newsletter to send in user time zones.


You can send a newsletter for any channel– email, SMS, push, or webhooks. Select your channel of choice to begin.

While most channels are self explanatory, you can select Webhook to “broadcast” requests to your webhook server for each member of your audience. You might do this to trigger in-app messages or messages from a service outside When you elect to broadcast webhooks, you can personalize the URL or payload for each member of your audience using liquidA syntax that supports variables, letting you personalize messages for your audience. For example, if you want to reference a person’s first name, you might use the variable {{customer.first_name}}..

How you create your message is up to you. Choose the editor that works for you, use customer data, and even create variations to test!

 You may need to set a send rate for webhooks

If you haven’t set a Send rate, we issue requests to your webhook server as quickly as we can. Make sure that your webhook server can handle the spike in traffic from a broadcast or set a send rate to limit the number of requests we send to your webhook server at a time.

Testing newsletters

Adding a test allows you to evaluate any aspect of your message (subject line, content, design, you name it!) with variations, and send it to a sample percentage of people. Once sent, you can track variation performance and send the most successful to your remaining recipients.

To test your newsletter, click the Add Test button on the “Content” step of your newsletter creation workflow:


You can send your tests to a sample percentage, and automate sending to the rest. Adding a variation will copy your first message, so tweaking one variable of the message should be easy!

Sample Percentage Let’s say you want 20% of recipients to receive one of two emails with different subject lines. A randomly-selected 10% of people will receive each email, and you can choose to automatically send the one which performs better to the remaining 80% once the test is over. Start by setting the Sample percentage to 20% using the slider:


Variations Click the Add variation button to create a second message. While you can test just about anything, we highly recommend only changing one variable per test to ensure the test is reliable. In our example, we’ve edited the subject line.


You can add up to 8 variations for finely tuned testing, but keep in mind that the results are most useful with at least 500 recipients per variation. For fewer recipients, samples are not statistically significant. Learn more about Getting Conclusive Results from A/B Tests.

Choose Winner Automatically To send the winning message to the remaining recipients, toggle the “Automatically send a winner to remaining recipients?” option to Yes. Select the metric you’d like us to use to decide the winner and how long the test should run before sending it to the remaining recipients.

Using the subject line example from above, testing the open rate will tell you which subject line drew the most people in.


Note: Winner selection will not take the statistical significance of the test into consideration. To calculate the confidence level of the test yourself, please see Getting Conclusive Results from A/B Tests.

If you would prefer to analyze the results yourself and send to the remaining recipients manually, keep the “Automatically send a winner to remaining recipients?” toggled Off. Once the original newsletter has sent, you will have the option to change this.

Follow-ups and Changes As soon as the newsletter sends, you can start to monitor the results of your test on the Test tab of the Newsletter’s overview page.

From here, you can view the current metrics for each variation, with the metric chosen to track the winner in bold. The Details section of the page is where you can see the timeline of the test. It tells you when the original newsletter was sent and to what percentage of your recipients, how much longer the test will run, and when the winning message will be sent to the remaining recipients.

Modify automation settings If you would like to cancel the automation, edit the duration of the test, or edit the metric used to determine the winner, click the Edit link within Details:


Make any changes necessary in the modal, and click Save. Note that the duration of the test cannot be set to a value shorter than the amount of time that the test has already been running.

Cancel automatic send If you no longer want the winner to send automatically, click the Edit link in the bottom-most timeline entry of the Details section. Set the toggle control to Off and save your changes. Once the automation has been turned off, it cannot be turned back on. You will always have the chance to send to the remaining recipients manually, but ensure this is what you want before saving your changes.

Send to remaining recipients manually If you did not choose to automate sending your message to the winner, you will still see the metrics for each variation reported on the page, and the option to send one of your variations to the remaining recipients. Once you have determined that your test results are sound (see Getting Conclusive Results from A/B Tests for help in determining whether the results are conclusive or not), click the Send to remaining button. (Hint: you can also choose to Send to remaining directly from the variation row in the results table). In the modal, select the variation you would like to send and when you would like to send it. You can choose to send the variation immediately, schedule it to be sent in the future, or to not send it at all.


Completed test When a test has been completed, all the metrics for the test will remain visible on the Test page, as well as all the details and timeline of the completed test.

Goal & Tracking

Set a goal

Conversion tracking lets you to track the success of your newsletter based on whether a person performs an event, enters a segment, or exits a segment after they receive your newsletter. If a person performs your goal criteria within the time frame you configure, the messageThe instance of a message sent to a person. When you set up a message, you determine an audience for your message. Each individual “send”—the version of a message sent to a single member of your audience—is a delivery. is marked converted. You can set goals to determine the success of your messages, and follow conversion rates over time to improve your message strategies. See Conversion goals and exit criteria for more information about conversions.

We track conversions for the following message/delivery types:

Conversions attributedConversions not attributed
EmailSlack Message
Twilio SMSCreate or update person action Push Notifications
1You must enable webhook conversions manually.

Slack and Create or update person actions are often internal or used for analytics purposes, and don’t always send messages to end-users. For that reason, we don’t attach conversions to them. You can enable webhook conversions on individual webhook actions.


In the Goal section of the workflow, you can set up a conversion goal, as well as decide if you want to track opens and clicks (on by default).

Review & Schedule

Newsletters can be sent immediately, or scheduled for a future date/time.


To schedule in advance, you’ll click schedule, and choose your date and time! Always schedule at least 5 minutes in advance, and note that the timezone defaults to your local time.


You also have the option to schedule messages to send at the specified time in each user’s time zone. Learn more about sending in user time zones.

Once sent, you can review your Newsletter’s performance on the overview page.

Send to an individual person

After you schedule and send your newsletter, you can send the content to an individual person who wasn’t in your original audience.

You can only send your broadcast or newsletter to an individual this way. If you want to re-send your newsletter to a large number of new recipients, you should copy the newsletter and re-send it to a new segment of people.

  1. Go to Broadcasts and select the broadcast you want to re-send. The broadcast must have a sent status.
  2. Go to the Content tab.
  3. Select the Recipient you want to send your message to. The recipient must be a person already in your workspace; you cannot send a newsletter to a person you haven’t identified.
  4. Click Send newsletter to the recipient.
    re-send newsletter content
    re-send newsletter content

API Triggered Broadcasts

With API triggered broadcasts, you can send messages to a group of people through an API call. Remember that these broadcasts aren’t triggered by a user’s membership in a specific segment; you define the recipients, but the broadcast is sent to the people who meet those conditions when receives an API call to trigger the broadcast.

 You cannot trigger a broadcast more than once every 10 seconds.

Broadcasts are designed to send messages in bulk to a wide audience of people per trigger, not for one-to-one interactions with a individual people. Use our Transactional API or event-triggered campaigns if you want to send individual, personalized messages to your audience (password reset requests, receipts, shipping confirmations, etc).

Define recipients

One thing you’ll note here is that defining recipients is optional for this type. We recommend that you trigger the broadcast via our API after activating it. However, you can also set recipients via the UI, using segment and attribute conditions:


If you know that your broadcast should go to the same segment(s) each time, feel free to set your conditions here. Using AND means that your users need to match all the segments before they will receive messages. OR means that it’s enough for a user to be part of any one of the segments in order to match.

Recipients set via the API will override what is set in the UI.


The workflow is where you create the experience or the journey of your end-user. API Triggered Broadcasts are designed to perform all actions in the workflow at the time of the broadcast. As such, Delays and Time Windows cannot be added to the workflow of an API Triggered Broadcast.

You can add Email, Push, Slack, Twilio SMS, and Push messages as well as Attribute Updates and Webhooks.

Each item will also have its own settings, such as:

  • Sending behaviour— whether or not the message sends automatically, queues a draft, or doesn’t send at all
  • Send to unsubscribed/tracking for that individual workflow item (more on that below)
  • The option to turn a message into an A/B test. We have documented how to how to understand A/B test results.


Each individual message, by default, does not send to unsubscribed people. You can override this, however:


Please keep in mind that sending to unsubscribes should only be used in transactional, important cases.

Goal & Exit

Conversion tracking lets you to track the success of messages and journeys based on whether or not a person performs an event, enters a segment, or exits a segment after they receive a message from your broadcast. If a person performs your goal criteria within a configurable time frame of a message in your campaign, the messageThe instance of a message sent to a person. When you set up a message, you determine an audience for your message. Each individual “send”—the version of a message sent to a single member of your audience—is a delivery. and journeyA person or data object’s path through your campaign. are marked converted. You can set goals to determine the success of your campaigns and messages, and follow conversion rates over time to try and improve your messaging strategies. See Conversion goals and exit criteria for more information about conversions.

We track conversions for the following message/delivery types:

Conversions attributedConversions not attributed
EmailSlack Message
Twilio SMSCreate or update person action Push Notifications
1You must enable webhook conversions manually.

Slack and Create or update person actions are often internal or used for analytics purposes, and don’t always send messages to end-users. For that reason, we don’t attach conversions to them. You can enable webhook conversions on individual webhook actions.


Review is the final step of the broadcast creation process. It’s an overview of the entire setup, so take a look to make sure you haven’t forgotten anything. “Needs fixing” labels is applied to anything that is preventing you from moving forward.


If everything looks right, you can activate your broadcast!

Curious about what happens when recipients or messages are modified for active broadcasts? We have answers.

Triggering your Broadcast


You’ll be brought to this page as soon as your broadcast is activated, and it contains all the information you need to start sending. To do this, you’ll need to trigger via our API.

For more comprehensive information on structuring your API calls, check out our API documentation.

Triggering via the API

The main benefit of this broadcast— triggering dynamically via the API! You can do that with cURL. The following example is for our US region; if your account is in the EU, send your request to

curl --request POST \
  --url{your-broadcast-id-here}/triggers \
  --header 'Authorization: Bearer <your-bearer-token>' \
  --header 'content-type: application/json' \
  --data '{"recipients":{"segment":{"id":4}},"data":{"foo":"bar"}}'

You’ll have to replace the campaign id with the one you find on the details tab above, as well as the site ID, API key, and data you want to send. We’ve got a lot of details on data formatting, as well as different ways to trigger via the API.

If you define your recipients in the trigger, the people you set must already exist. An API-triggered broadcast cannot create new people. Using an ID or an email that doesn’t belong to a person in your workspace will produce errors.

Also, if you encounter errors, we’ve documented a few common ones.

Trigger manually

If you’d just prefer to trigger the broadcast manually from the UI, you can do that from this page as well, and include any data you want to send as part of that broadcast, like this:


Keep in mind that you should preview this data in the composer first, as we’re unable to validate it for you! After hitting the Send Manually button, you’ll need to confirm once more that you want to trigger the broadcast.

We have a lot more information on how to trigger this in the API documentation, as well as our developer docs, but let us know if you find yourself struggling with it!

Basic data formatting We ask that you send us your data in JSON format. Here’s a basic example of what some data might look like:

  "data": {
    "headline": "Roadrunner spotted in Albuquerque!",
    "date": "January 24, 2018", 
    "text": "We've received reports of a roadrunner in your immediate area! Head to your dashboard to view more information!" 

This can then be used as sample data in our Composer preview.

Tracking API Triggered Broadcasts Once you send, we have various ways for you to gauge the performance of the overall broadcast, as well as its individual broadcasts. On your overall broadcast overview page, you can view when you last triggered this (and go to that individual broadcast’s page), as well as all-time metrics across all sends:


In the “Broadcasts” tab, you can view a history of all the individual instances of this API Triggered Broadcast, and how many recipients there were for each:


If you’d like to view an individual broadcast’s performance, you can click into it from the Send History tab to see the messages you’ve sent and their associated metrics, as well as who they went to and when.

API Triggered Broadcasts: Frequently Asked Questions

What does queueing mean?

When you send an API call to trigger a broadcast, we put it that broadcast in a queue. When it reaches the front, we start creating and sending messages or storing drafts depending on the sending behaviour you’ve selected. When it finishes, it drops out of the queue!

Per workspace, there is a queue limit of 5: while you can create as many API Triggered Broadcasts as you like, you can’t send us more than 5 triggers at one time. If you send us any more, we’ll show you an error, and you can retry the rest once they’re finished.

Why can’t I add delays and/or time windows? The idea behind API Triggered Broadcasts is to send one message to many people quickly or immediately, in response to an API call or a recent change. For that reason, we haven’t added delays or time windows to the first iteration of the feature. That said, if you have a specific use case that necessitates time windows or delays in your Broadcast, please let us know!

How many people can I message with a single API Triggered Broadcast call? There is no limit. You can pre-define a segment within with the profiles you wish to message, or host a data file containing all profiles you wish to have messaged. For more on how hosting a data file works, click here.

Have questions?

This is a new feature, and we want to make it as useful and intuitive as possible! If you have any questions or feedback, please let us know!

Copied to clipboard!