Category: Docs

Segments

Intro

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”:

Segment example: no page views in 30 days

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!

Core Concepts

Two types of Segments

You can create two types of Segments in Customer.io. The way People enter and exit your Segments will depend on the type of Segment you create:

  • 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 id OR email attributes for people who already exist in the workspace you are working in. (Any other data in your file will be ignored.)

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

Filter the Segment list

Paging the list of Segments

To view the next set of 20 Segments, use the |< < > >| arrows above and below the Segment list.

Page through 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.

segment_detail_tabs_2

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.

Create a Data-driven Segment in Customer.io

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.

Segment example - drag and drop

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.

Task list in Customer.io

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.

Create a Manual Segment in Customer.io

Next, you can:

  1. Hit the “Cancel” button and start adding people via our API or
  2. Continue and upload a CSV file to add people as part of the Segment creation process or
  3. 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:

  1. Edit the name and description – click the pencil icon next to each
  2. Edit the conditions (Data-driven only) – click the “Edit Conditions” button
Edit a Segment in Customer.io

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.

Segment options

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.

Delete a checked Segment

Note

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.

segment_detail_people_card_3

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.

segment_detail_people_card_3

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_detail_membership_chart_2

Note

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.

Segment options

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.

Archive a checked Segment

Note

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.

Segment options

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.Note

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.

Add to Manual Segment via CSV while creating the Segment

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.

Add to a Manual Segment by CSV

The next step is to tell us if we should look up the existing People by id or by email and then click “Next”.

After we upload the file, let us know which column holds the identifying data and then click “Next”.

Map your id or email column

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.

Add to a Manual Segment via a Workflow Action

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.

Remove from a Manual Segment via a Workflow Action

Troubleshooting

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.

ProblemWhat 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 *| or + but I am not getting the results I expect.*| and + are special operators that allow for simple, regex-like matching. When searching specifically for strings containing these characters, try placing a backslash ( \) before the special operators that you want to find so that they will not be interpreted as regex operators.
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 (*| and +).
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.

Segment FAQs

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.