What are Segments?
Segments are named groups of People who share characteristics or behaviors. They're made up of one or more conditions that People must meet in order to be a member of the Segment. A Segment can have many People and a Person can belong to many Segments. In Customer.io, you can use Segments as recipient lists, campaign triggers, filters, conversion goals and more. Anytime you need to reference a subset of the People you have in Customer.io, a Segment is what you'll use.
For example, here is the criteria for one of the pre-made Segments in your account named, "Have not logged in recently":
If your integration is sending us Page View events for your logged-in users, this Segment will match all of the People who have been in your Workspace for at least 30 days who have not logged in recently (because they haven't viewed any pages while logged in within the past month). You can use a Segment like this as a Campaign trigger to send specific messages that will incentivize them to return!
Two types of Segments
Data-driven Segments - People enter and exit Data-driven Segments automatically when they match and stop matching the conditions you set for the Segment. There is no way to manually add someone to a Data-driven Segment. In order to be a member of a Data-driven Segment, a Person must match the Segment's conditions.
Use Data-driven Segments when you want Customer.io to handle moving People into and out of your Segments automatically based on the data you send us for each Person. This is useful when you want us to take specific actions based on real-time activity.
Manual Segments - People enter and exit Manual Segments when you explicitly add or remove them. People are added to Manual Segments via CSV upload, as part of a campaign workflow, or via our API. People are removed from Manual Segments via the "Clear Segment" option, as part of a campaign workflow, or via our API.
Use Manual Segments when you want to handle moving People into and out of your Segments based on your organization's own business logic. This is useful for situations where the set of People is determined outside of Customer.io and/or there is no integration setup with the source of the dataset.
Conditions (for Data-driven Segments)
When creating Data-driven Segments you build your criteria using Conditions. Conditions can evaluate User data (Attributes, Events, Page Views and Devices) as well as Message data (Email, Push, Slack, Twilio, Urban Airship, and Webhook messages).
CSV files (for Manual Segments)
The CSV files used for adding People to Manual Segments can be located on your computer or imported from Google Sheets. Your file must contain
Segment membership vs. Segment match time
People become members of a Data-driven Segment as soon as they meet all of the Segment's conditions. As soon as this happens, we will show them in your account as being a member of the Segment.
In addition to becoming a member of the Segment, in some cases, we also calculate the point in time we consider them to "match" the Segment's conditions. The rules for determining this match time can be somewhat complicated but the key point to know is that the time someone becomes a member of a Segment and their match time for that Segment may be different. This is important because we will trigger Campaigns based on Segment match times, not based on the time a Person becomes a member of the Segment.
This makes it possible for a Person to be a member of a Segment but not enter a Campaign triggered by that Segment until later if they have a future match time.
For example, imagine a Segment named "Signed up" that has only one condition ("
created_at is a timestamp") and on January 1st, 2020 you add a Person whose
created_at value equals "1836864000" (which is a timestamp representing March 17, 2028, at 12:00:00 AM). That Person will become a member of the "Signed up" Segment on January 1st, 2020 because that is when their
created_at was set to a properly formatted timestamp. The Person's match time for the "Signed up" Segment, on the other hand, will be March 17, 2028, at 12:00:00 AM (the date and time represented by the timestamp stored in their
created_at attribute). The Person will enter any Campaign that is triggered by the "Signed up" Segment on March 17, 2028, at 12:00:00 AM.
Working with Segments
You can use our API to work with Segment data programmatically.
Additionally, here are all the actions you can take with your Segments from within the Customer.io web app:
- List Segments
- View a Segment
- Create a Segment
- Edit a Segment
- Delete a Segment
- View People in a Segment
- View a Segment's Membership Over Time
- Export a Segment
- Archive/Unarchive a Segment
- Duplicate a Segment (Data-driven only)
- Add People to a Segment (Manual only)
- Remove People from a Segment (Manual only)
View a list of Segments in one of your Customer.io Workspaces.
List all active Segments
To view all active Segments in your Workspace, navigate to the Segments page by clicking "Segments" in the left-hand menu of your account. By default, this page will list all of the active Segments in the current Workspace (20 at a time) and will show the most recently edited Segments first.
List all archived Segments
To view all archived Segments in your Workspace, click the "Archived" tab located above the filter options at the top of the Segment list.
List a custom subset of Segments
To view only a subset of the Segments in your Workspace, you can start typing in the "Find a segment..." box. As you type, the list shown will only include Segments where the name or description contains the string you entered.
You can also filter this view using the dropdown options just above your list of Segments. Once applied, the list shown will only include Segments that match the filter conditions you selected.
Paging the list of Segments
To view the next set of 20 Segments, use the
|< < > >| arrows above and below the Segment list.
|<- Back to the beginning of the results
<- Back to the previous results page
>- Forward to the next results page
>|- Forward to the end of the results
View a Segment
There are many places in Customer.io that will lead you to an individual Segment's detail. For example, clicking on any Segment listed on your Segment's page will take you to that Segment's detail.
By default, you are shown the Segment's Overview tab and there are additional tabs to see more detail about the Segment.
Here's what you'll find in each tab:
- Overview - For a Data-driven Segment, you'll see a collapsed view of the Segment's conditions. For a Manual Segment, you'll see a list of CSV imports (if any). For all Segment-types you'll see how many People are in the Segment as well as a truncated view from the other tabs.
- People - A chart displaying the Segment's membership counts over time.
- Usage - A collection of links to places in Customer.io that reference this Segment.
- Ad Audiences - A list of Ad Audiences being synced with this Segment.
Create a Segment
Add a Segment to one of your Customer.io Workspaces.
Create a Data-driven Segment
To create a Segment, click "Segments" in the left-hand menu of your account and then click the "Create Segment" button near the top right of the screen. Enter a name and an optional description for your Segment and then choose "Data-driven" as the type of Segment you would like to create.
Next, start adding and configuring the conditions People must meet in order to join this Segment automatically. Once you have added all the conditions you want, click "Save Changes" in the lower right corner of the screen.
NOTE: There is a handle on the left side of each condition or group. These allow you to drag and drop your conditions to rearrange them and optionally nest conditions into groups to build more complex segmentation logic.
Once saved, the Segment will take a bit of time to build and determine the initial membership. If you have a lot of People in your Workspace or if the logic of your Segment conditions is complex, the build process may take a larger amount of time. Feel free to monitor the build process in your Workspace's Task list.
Create a Manual Segment
To create a Segment, click "Segments" in the left-hand menu of your account and then click the "Create Segment" button near the top right of the screen. Enter a name and an optional description for your Segment and then choose "Manual" as the type of Segment you would like to create.
Next, you can:
- Hit the "Cancel" button and start adding people via our API or
- Continue and upload a CSV file to add people as part of the Segment creation process or
- Hit the "Cancel" button and start adding people via workflow actions
Edit a Segment
To edit an existing Segment, view the individual Segment's detail page and make the changes you desire. When editing a single Segment in one of your Workspaces, you can:
- Edit the name and description - click the pencil icon next to each
- Edit the conditions (Data-driven only) - click the "Edit Conditions" button
Delete a Segment
To delete an unused Segment, view the individual Segment's detail page and click "Delete Segment" in the "Options" dropdown menu near the top right of the screen. You'll be asked to confirm and when you're ready, click the "Yes, delete segment" button.
You can also delete multiple unused Segments at once by clicking the checkbox next to each one you wish to delete in your list of Segments and then clicking the "Delete" button that appears just above the list.
You cannot delete a Segment that is currently in use.
View People in a Segment
When you view an individual Segment's detail page there will be a "People" card with a link in the upper right-hand corner.
Clicking the "View people list" link will take you to a pre-filtered search on the "People" page of the current Workspace where you will see who is in the Segment you were viewing.
View Segment Membership Over Time
When you view an individual Segment's detail page there will be a "People" card with a quick view of the Segment's membership counts over time.
Clicking anywhere on the chart will take you to the "People" tab for the Segment you are viewing. Here, you can view the total membership counts of the Segment and the change in Segment membership over time.
Segment Membership data only goes back to April 9th, 2020.
Export a Segment
When a Segment has one or more members, you can export a CSV file that contains all the People currently in the Segment. To do this, view the individual Segment's detail page and click "Export" in the upper right corner of the "Overview" tab, next to the "Options" drop down.
That will generate the CSV file which will be uploaded and available for download on the "Exports" page of the current Workspace.
Archive/Unarchive a Segment
To archive or unarchive an unused Segment, view the individual Segment's detail page and click "Archive Segment" or "Unarchive Segment" in the "Options" dropdown menu near the top right of the screen.
You can also archive and unarchive multiple unused Segments at once by clicking the checkbox next to each one you wish to archive/unarchive in your list of Segments and then clicking the "Archive" or "Unarchive" button that appears just above the list.
You cannot archive a Segment that is currently in use.
Duplicate a Segment (Data-driven only)
To duplicate a Data-driven Segment, view the individual Segment's detail page and click "Duplicate Segment" in the "Options" dropdown menu near the top right of the screen.
Add People to a Segment (Manual only)
Add via our API
You can add People to a Manual Segment using this API endpoint.
Add via CSV upload
You can also add People to a Manual Segment by uploading a CSV file via the Customer.io web app.
New profiles cannot be added to your account while uploading your CSV file. The People in your file must already exist in your Workspace before they can be added to a Manual Segment.
If you are uploading a CSV file while creating a new Manual Segment, you will be shown the form to upload the file as part of that process.
Otherwise, you will first need to view an existing Manual Segment and then click the "Add by CSV" button near the top right of the screen.
The next step is to tell us if we should look up the existing People by
id or by
After we upload the file, let us know which column holds the identifying data and then click "Next".
After we validate the data, we'll let you know how it went so you can choose how to proceed. You can download an error file (if any), download the import file or, if everything looks good to you, you can click the "Add People" button in the lower right corner of the screen. That will populate your Segment with the existing People found during the process.
Add via workflow action item
To add a Person to a Manual Segment as part of a Campaign's workflow, open the Workflow of an existing Campaign. Drag an "Update Manual Segment" action item into your Workflow from the bank of available action items in the left-hand side of the Workflow builder.
Click the new action item in the Workflow to edit and save the settings that appear in a pane to the left of your Workflow.
Remove People from a Segment (Manual only)
Remove via our API
You can remove People from a Manual Segment using this API endpoint.
Remove via workflow action item
To remove a Person from a Manual Segment as part of a Campaign's workflow, open the Workflow of an existing Campaign. Drag an "Update Manual Segment" action item into your Workflow from the bank of available action items in the left-hand side of the Workflow builder.
Click the new action item in the Workflow to edit and save the settings that appear in a pane to the left of your Workflow.
To help us enhance the real-time processing performance of your account, we automatically archive your unused segments. Any segment you have not used in the past 60 days will be automatically archived. This will not affect the messages you are sending in campaigns or newsletters and you can unarchive at any time.
What determines if a segment should be archived?
We consider a segment used if within the past 60 days it's:
- Used anywhere in a campaign
- Is a target or conversion goal for a newsletter in past 30 days
- Used for an ad audience sync
- Is pinned to your workspace dashboard for metrics
- The "People" tab with membership metrics was viewed
Why do we automatically archive segments?
We do this to improve the performance of your account. Every time data arrives at your account we scan all segments for updates. Eliminating the need to update unused segments gives your account a substantial performance boost.
How do I know what was archived?
On the "Segments" page of your account, go to the "Archived" tab and look at the "Archived on" column.
This will tell you which segments were automatically archived and allow you unarchive any that you still need. We recommend only unarchiving segments you are certain you will use in order to help us keep your account running fast.
Here's a list of issues you may run into, along with some tips for solving them. If you run into any trouble implementing any of these solutions, feel free to reach out to our Support team with links to what you're working on.
|Problem||What to try|
|My attribute value is a collection. How do I create a Segment based on an item in that collection?||Attribute values in Customer.io are only simple strings. For convenience, we do, however, make them available in message templates as JSON objects (if it is valid JSON) or as arrays (if it is a valid array) but for segmentation purposes, we do not currently distinguish them as being different data types such as arrays or dictionaries, etc.|
|I edited my Segment conditions but People who match the new conditions did not enter a campaign that is triggered by my Segment.||When you make changes to your data-driven Segment's conditions, People who already match the updated conditions will not automatically enter any Campaigns that are triggered by that Segment. Only People who meet the updated Segment conditions AFTER the changes are made will enter the Campaigns.
If you need People who already match your new conditions to enter a Campaign, please reach out to support with a link to the Campaign so that we can determine if it will be possible and advisable to force those People to enter your Campaign.
|I deleted a Segment but all the People are still in my account.||Deleting a Segment will NOT delete the members of that Segment. Try recreating the Segment and then viewing the People who are in the Segment by clicking on the link in the People section of the Segment's detail page where it says, "This segment contains # people". You will be able to delete the People from there.|
|I am trying to match values that contain a
|I am using regular expressions in my Segment Condition but it's not working.||Segment Conditions do not currently support the full set of regular expression rules. Try limiting your use to the few special operators we allow for string comparison (
|I cannot add a Person to my Manual Segment because they do not exist in my account.||People must exist in your account before they can be added to a Manual Segment. Try adding that person to Customer.io and then you will be able to add them to a Manual Segment.|
How do companies use the description field for their Segments?
Generally we see the description field used to communicate who will match the Segment's conditions using terms that are unique to the jargon of each company. This is also how we use our own Customer.io account.
The text you enter for the description will be searched when you start typing in the "Find a segment..." box so whatever you put in your descriptions can help people on your team hone in on the Segments they need.
When should I use a Data-driven Segment vs. a Manual Segment?
Customer.io shines best when you have an active data integration between your system and ours. This allows you to utilize attributes and behaviors of your end-users to set up automated messaging from our app.
That is the power of Data-driven Segments, and for the most part this is the type of Segment you should be using.
Manual Segments are available in instances where you need more hands-on control of the Segment, you are expecting limited changes or a data integration is not available to you.