Broadcasts in Customer.io

Broadcasts in Customer.io


Broadcasts in Customer.io are a single message sent to a large group of people at once. They are triggered by you— either scheduled, sent immediately, or by an API call. There are two types of broadcast, each with its 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.

Newsletters

A newsletter is a single email sent to a group of people that you define.

Recipients

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

image.png

For each recipient option you should immediately see how many people will be sent the email as well as a link to see the matching users.

Note: the preview includes unsubscribed users, so the actual number of sent newsletters may be smaller than the preview.

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 Weekly Update newsletter (newsletter condition):

image.png

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 Customer.io for a regular 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. Something like:

image.png

Then you'd create your segment and send newsletters to it.

Recipients: Everyone

This will send to every subscribed person in your Customer.io 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:

image.png

This option will override the Customer.io default.

We ask that you be careful when doing this. Continuing to email 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.

Content

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

You can also define different from addresses, reply-to address, and even change your To address to go to something other than the default "email" attribute.

image.png

Multivariate Testing

Adding a test allows you to evaluate any aspect of your email (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:

image.png

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 email should be easy!

image.png

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:

Image

Variations
Click the Add variation button to create a second email. 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 newsletters overview page.

image

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

Tracking

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.

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

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 your API call is received by Customer.io.

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.

Note: Keep in mind that recipients set via the API will override what is set in the UI.

Workflow

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 Urban Airship 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.

Unsubscribes

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

image.png

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

Goal & Exit

After setting up your messages, you can add a conversion goal:

Conversion tracking allows you to track the success of your emails, SMS, and push notifications, so you'll want to choose a relevant segment (a person using a feature, signing up for a paid plan, no longer being inactive, etc.). If a user enters/exits that segment after being sent the message, they'll be tracked as a conversion.

Learn more about conversions.

Review

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:

curl https://api.customer.io/v1/api/campaigns//triggers -X POST -H "Content-Type: application/json" -u : -d '{"data":{"foo":"bar"},"recipients":{"segment":{"id":8}}}'

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.

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 "Send History" 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.

<h3 id="apitb-faq"> API Triggered Broadcasts: Frequently Asked Questions</h3>

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!

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!

Was this article helpful?