Getting Started: Campaigns and Broadcasts
This document is part of a complete series on Getting Started with Customer.io.
When setting up messaging in Customer.io, the first thing you need to choose is whether you should send a Broadcast or start a Campaign. The nature of the message(s) you plan to send will help you determine which one to select each time.
- Do you want to send one or more messages based on something that happens sporadically for each user? In that case, a campaign is the way to go! With campaigns, you can send things like welcome and onboarding campaigns.
- Do you want to send a single announcement that you will trigger yourself to send to a group of People? Broadcasts are designed to handle that type of messaging in Customer.io. This would include things with broad appeal like newsletters, alerts or announcements.
The configuration is very different for the various types of Campaigns and Broadcasts. Some are more technical than others so let’s dig into each type a bit deeper. Then you will have a better sense of what’s involved with each.
Campaigns
Campaigns define simple or elaborate workflows. Individual People will enter and exit Campaigns automatically based on the Campaign’s configuration. Campaigns are triggered by data and activity associated with each Person’s profile.
When setting up each Campaign you will choose how you want to trigger a Person’s entry and exit. You may choose to trigger the Campaign when conditions are met, when a particular date for a customer occurs, or when an event is performed. You can also add filters, set a frequency for re-entry, define conversion criteria and build out the Campaign’s message workflow.
Trigger: They meet conditions
Choose this trigger type when you want People to enter the Campaign as soon as they meet your conditions. For example, start a reminder Campaign when People enter a “Will expire in 30 days” Segment.
Messages in Campaigns that are triggered this way will have access to profile data for use in customizing the message content. E.g., {{ customer.first_name }}
Use this trigger type for things like recurring NPS surveys, onboarding drip campaigns, or inactivity reminders.
Trigger: A particular date
Choose this trigger type when you want People to enter the Campaign based on a date attribute in their profile. For example, send a birthday message every year on a customer’s birthday.
Messages in Campaigns that are triggered this way will have access to profile data for use in customizing the message content. E.g., {{ customer.first_name }}
Use this trigger type for recurring cases like birthdays, anniversaries, subscription renewals, and payment reminders.
Trigger: They perform an event
Choose this trigger type when you want People to enter the Campaign as soon as you send an Event they performed. For example, send an email receipt when you send an Event named “checked_out” after a Person completes a sale on your site.
Messages in Campaigns that are triggered by Events will have access to profile data as well as Event data for use in customizing the message content. E.g., {{ customer.first_name }}
and {{ event.order_total }}
Use this trigger type for transactional use cases that require more complex workflow functionality such as follow-up reminders, branching logic, time delays, or A/B testing.
Event-triggered Campaigns vs Transactional API
Event-triggered campaigns offer more functionality with branching, delays, and A/B testing. However, if you’re sending a single message in response to a single action, use the Transactional API for faster sends and deliverability.
Trigger: They fill out a form
If you connect forms to your workspace or have a Facebook Lead Ad integration, you can trigger campaigns when someone fills out your forms.
Use this trigger type to automatically enter people who respond to your form into campaigns and start converting leads to customers or users.
Filter
Add filters so that only a subset of People who meet the trigger condition will enter your Campaign. For example, only let People who meet the trigger conditions in if they are in a Segment named, “At Risk Accounts”.
Frequency
Tell us how often a Person should be allowed to enter each Campaign. If the frequency is set, People can re-enter at fixed intervals (e.g., every week) or when they re-match the trigger conditions and qualify for re-entry.
Workflow
A Campaign’s workflow is where you design the messages that will be sent by your Campaign. It is also where you set the cadence for when those messages will be sent. Your Campaign workflows can have any combination of messages, delays and more. You can send Email, Push Notifications, Twilio SMS, and Slack messages. You can also A/B test email messages, update profile Attributes and send Webhooks from your Campaign workflows.
Pro tip: You can see each Person’s trip through your workflows by visiting the “Journeys” tab in their profile. If you ever suspect your workflow isn’t working the way you expect, Journeys are a great resource for troubleshooting. You also have the option to force someone out of an active Journey if needed.
The detail for each Journey will show you:
- when they entered
- which messages were sent or skipped
- when and why they exited the workflow
Conversion Criteria
Setting a conversion goal marks 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. and journeyA person or data object’s path through your campaign. as converted when a person performs an event or enters/leaves a segment after they receive, open, or click a tracked link in a message.
Example: You have an “Inactive customer” Segment that matches People who haven’t made a purchase in the last three months. You also have a Campaign with messages that encourage those People to buy something. You set the Campaign’s conversion goal to mark People as converted when they leave the “Inactive customer” Segment.
If they make a purchase, they will automatically leave the “Inactive customer” Segment. If that happens after they were sent a message from your campaign, we’ll mark both the message and campaign as converted.
Exit Conditions
By default, People will exit a Campaign when they stop matching the Campaign’s trigger or filters. However, you can change the settings to override the default behavior. Use this option when you want to ensure People flow through the whole workflow or to make them leave when they meet the Campaign’s conversion goal.
Broadcasts
Broadcasts are messages you send to a large group of People at once. Each time a Broadcast is sent, it is triggered by you. How you set up and trigger a Broadcast will depend on which type of Broadcast you want to send. The two types of Broadcasts are Newsletter Broadcasts and API Triggered Broadcasts.
Newsletter Broadcasts
Newsletter Broadcasts allow you to send a single Email message to a predefined list of recipients. These are for more traditional, newsletter-style messages. Note, all recipients must have an existing profile in your account. Newsletters can be triggered manually or they can be scheduled to send at a specific time. You can split test up to eight email message variations in single a Newsletter Broadcast.
Newsletter Broadcasts are typically used for special, one-off messages like community announcements or product updates. For example, if you sell software, you may want to send your customers a list of release notes from time to time. Newsletter Broadcasts would be great for that.
For message customization, Newsletters have access to profile data. E.g., {{ customer.first_name }}
API Triggered Broadcasts
Broadcasts vs Transactional Messages
Broadcasts are designed to go to a wide audience. If you want to send one-to-one, personalized messages in response to your audience’s actions in your app (password reset requests, receipts, shipping confirmations, etc), you should use the Transactional API.
API Triggered Broadcast are a more technical and advanced solution to sending announcements. They involve programmatically sending trigger data via our API (Application Programming Interface). APIs allow computers to talk to each other, often without the need for human intervention. API Triggered Broadcast enable you to send announcements automatically based on current events happening in your system.
API Triggered Broadcast workflows can send any combination of messages to a predefined list of recipients. Note, all recipients must have an existing profile in your account. You can send Email, Push Notifications, Twilio SMS, and Slack messages. You can also A/B test email messages, update profile Attributes and send Webhooks. API Triggered Broadcast can be triggered manually or they can be triggered programmatically via our API.
With API Triggered Broadcasts, you design message templates that get reused every time you trigger the Broadcast. Each time you trigger the Broadcast, you tell us which subset of your users to send the message(s) to and what data to use when customizing the content.
Setting up a workflow for an API Triggered Broadcast is like setting up a Campaign workflow but in a Broadcast workflow you cannot add delays. This is because all messages configured in the Broadcast’s workflow are queued to be sent as soon as the Broadcast is triggered.
API Triggered Broadcasts are typically used to send messages that are similar in structure but vary in audience and detail. For example, if your service alerts People about bad weather in their area, your system can trigger a Broadcast today that alerts People in Florida about a hurricane and trigger the same Broadcast again tomorrow to alert People in Texas about a flood. Both triggers can use the same message template but they will have different recipients and content detail.
For message customization, API Triggered Broadcasts have access to profile data and trigger data. E.g., {{ customer.first_name }}
and {{ trigger.location }}
For more detail about API Triggered Broadcasts, please see the following documentation:
- API Triggered Broadcasts in Customer.io
- Using API Triggered Broadcast data in your messages
- API Triggered Broadcasts - Formatting Broadcast Data
- API Triggered Broadcasts - Common API errors