Data-driven segments

Data-driven segments are groups of people that you automatically populate when they meet certain conditions. People enter the segment when they match the conditions and leave the segment when they stop matching the conditions. These kinds of segments help you group people according to real-time activities.

Create a Data-driven Segment

This process explains how to create a segment on the Segments page, but can also create a Data-Driven SegmentA group of people who match a series of conditions. People enter and exit the segment automatically when they match or stop matching conditions. when you create a campaign (using the They meet conditions option). The same basic steps apply there as well. If you create a new segment when working on a campaign, you may want to check your segment before you start the campaign just to make sure that your conditions match the right people for your campaign.

  1. Go to Segments.
  2. Click Create Segment.
  3. Enter a Name and Description for the segment. These help you find the segment—both in the list of segments, and when selecting the segment in a campaign, broadcast, etc.
  4. Click Create Data-driven Segment.
    Create a Data-driven Segment in Customer.io
    Create a Data-driven Segment in Customer.io
  5. Add conditions that people must meet to join the segment.
  6. Click Save Changes.

When you save a data-driven segment, it takes a bit of time to build and determine the initial membership in the segment. The more people in your workspace and the more complex your segment conditions, the longer it takes to build the initial segment membership. You can monitor the build process by clicking in the upper right corner and going to your workspace’s Task list.

Task list in Customer.io
Task list in Customer.io

Data-driven segment conditions

When you create Data-driven Segments, you’ll build a set of conditions determining membership in the segment—like whether a person has received a specific message or has a certain attribute. People matching the conditions enter the segment, and they leave the segment when they no longer match those same conditions.

You can segment on the following things:

When you create a segment, you start by specifying how to join conditions—All or At least one. All represents a boolean and—where all conditions must be true for a person to enter the segment. At least one is a boolean or, requiring only one of your conditions to be true to enter the segment.

You can also nest conditions using the Group option. This lets you create complex segmentation logic like condition1 AND (condition2 OR condition3). There is a handle on the left side of each condition or group that you can use to drag and rearrange conditions. After you create your segmentation conditions, use the handle to move conditions into nested groups that fit your specific logic.

Segment example - drag and drop
Segment example - drag and drop

Segment on a message

You can now create a segment of people who have received an email or triggered a webhook action in a campaign. When you create your segment, you’ll select the action type—Email or Webhook. Click the Any dropdown to search across your campaigns and messages to find the specific message you want to use for your segment condition.

Segment on a specific message
Segment on a specific message

Segment membership vs. campaign trigger times

People become members of a data-driven segment when they meet all of the segment’s conditions. However, there are some situations when a person becomes a member of a segment but doesn’t trigger a campaign based on a segment. This most commonly happens when a person’s attribute is a timestamp in the future, and it would not make sense to trigger a campaign based on that future value.

For example, imagine that you have a segment called “Signed up” that has a single condition: joined_club is a timestamp. On January 1st, 2020, you add a person whose joined_club value equals 1836864000—a timestamp for March 17, 2028, at 12:00:00 AM. This person becomes a member of the “Signed up” segment on January 1st, 2020 because that is when their joined_club attribute was set to a properly formatted timestamp. However, this person will not trigger a campaign based on membership in the “Signed up” segment until March 17, 2028, at 12:00:00 AM—the date and time value for their joined_club attribute—because we assume that the person will not officially join the club until then.

If you want to trigger campaigns based on future timestamp values, you can set campaign trigger conditions to include dates and times within a range of the present (the is a timestamp between or after conditions), so that people with a timestamp (like our joined_club example) can still match the campaign trigger when they have a future value.

set future timestamp conditions
set future timestamp conditions

Edit a Segment

You can edit the name, description, and conditions for your segment. Changing a data-driven segment’s conditions will cause the segment to rebuild and may affect active campaigns.

  1. Go to Segments.
  2. Click the segment you want to update.
    • Click to edit the name and/or description for the segment.
    • Click Edit conditions to edit the conditions driving membership in the segment.
Edit a Segment in Customer.io
Edit a Segment in Customer.io

Delete a segment

You cannot delete a segment that is currently in use. Check the Usage tab when looking at your segment to see if it’s still in use somewhere in your workspace.

  1. Go to Segments.
  2. Click the segment that you want to delete.
  3. Click Options > Delete Segment and confirm your choice.
Segment options
Segment options

You can also delete multiple unused segments from the Segments page by checking the box next to each segment that you want to delete and then clicking Delete.

Delete a checked Segment
Delete a checked Segment

Copy a data-driven Segment

You might want to copy a data-driven segment as a starting place for the conditions in a new segment.

To copy a data-driven segment:

  1. Go to Segments.
  2. Click the segment you want to duplicate.

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
Segment options
Copied to clipboard!