> This page is part of the [Customer.io documentation](https://docs.customer.io). For the complete index, see [llms.txt](https://docs.customer.io/llms.txt).
> Last updated: July 15, 2026

# Capture events and set up segments

The real power of Customer.io comes from using the things you know about profiles, and the things they do, to organize them into groups, automatically trigger automations, and so on.

## How it works

You can use [attributesA key-value pair that you associate with a person or an object—like a person’s name, the date they were created in your workspace, or a company’s billing date etc. Use attributes to target people and personalize messages.](/journeys/people/manage/attributes/) and [eventsSomething that a person in your workspace did. Events can trigger automations, add people to segments, etc, and you can use properties from events to personalize messages.](/journeys/people/events/) to automatically group profiles into [segmentsA group of people who match a series of conditions. People enter and exit the segment automatically when they match or stop matching conditions.](/journeys/segmentation/data-driven-segments/) and trigger automations. This helps you automate your messaging strategy, so you send messages to your audience at the right times—without having to manually update lists or trigger messages.

## Data Index: Know your data

If you’re going to use attributes and events to group profiles, trigger automations, and so on, you should know what attributes and events are available to you.

If you’re not already aware of the data coming into your system, you can see the attributes and events in your system under **Integrations > Data Index**.

[![see the attributes and events in your system under Data Index](https://docs.customer.io/images/data-index.png)](#17beb4bd607f4272be0584e3580d0f44-lightbox)

The Data Index shows all of the attributes in your system and a list of events performed within the last 30 days. If you don’t see an attribute or event that you think you might need, you may need to update your integration to send the right attributes and events to Customer.io!

 Find an individual’s data on the Profiles page

If you go to **Profiles**, you can click an individual profile to see their specific attributes (in the **Attributes** tab) and events (in the **Activity** tab).

## Segments

A Segment is a group of profiles in your workspace—profiles who share the same attributes, performed the same events, and so on. You can use segments to trigger automations, as the audience for a broadcast, as a goal for an automation (e.g. you want profiles to join a particular segment), and so on.

You can add profiles to segments manually or automatically—which we call [**data-driven segments**](/messaging/segmentation/data-driven-segments/).

In general, you should use data-driven segments whenever possible, because they update as your audience’s data changes—they’re easier to set up and update automatically. Profiles join and leave data-driven segments automatically based on whether they match the conditions you set.

But [**manual segments**](/messaging/segmentation/manual-segments/) can be helpful when you don’t want a segment to update in real time—like if you want to maintain a static list of profiles you met at a conference. Unlike data-driven segments, profiles don’t join or leave manual segments automatically. You can add profiles to manual segments by uploading a CSV file, or by adding them to a segment as part of an automation or broadcast workflow.

### Data-driven segments

Data-driven segments group profiles based on the data you send to Customer.io, so profiles join the segment when they match certain criteria, and leave it when they stop matching the criteria.

These kinds of segments are an essential part of your marketing automation plans because you can use them as automation triggers. In the same way that profiles join segments when they match your criteria, they can also start automation journeys when they join your segments.

With well-defined segments, you can automate your messaging strategy and send messages to your audience at the right times—without having to manually update lists or trigger messages.

You can define data-driven segments on the **Segments** page.

[![a data driven segment based on a profile's address](https://docs.customer.io/images/segment-json-data-driven-example.png)](#b3f8fdfd019a12013d89d41b9a77e1df-lightbox)

You can use most of your customer’s data as segment criteria, including attributes, events, page views, and devices. You can also use metadata from inside Customer.io like when profiles click tracked links in emails, open messages, etc.

#### Example segments

**Lifetime value**: Imagine Profiles have a `lifetime_value` [attributeA key-value pair that you associate with a person or an object—like a person’s name, the date they were created in your workspace, or a company’s billing date etc. Use attributes to target people and personalize messages.](/journeys/people/manage/attributes/) that you increase when they pay you. You could set up a [segmentA group of people who match a series of conditions. People enter and exit the segment automatically when they match or stop matching conditions.](/journeys/segmentation/data-driven-segments/) that profiles join when their `lifetime_value` value is greater than a certain amount; for our example below, we’re using `25000`.

You might trigger an automation based on this segment to send special messages to your high-value customers!

[![a data driven segment based on a profile's lifetime value](https://docs.customer.io/images/qsg-segment-ltv.png)](#2227f4d95d9b076876b06f538f159941-lightbox)

**High value offers**: Let’s say you send events to Customer.io when your customers visit high value offers on your site. You might create a segment that matches profiles that have seen the same high value offer five times in the past week but haven’t used it or made a purchase yet. The segment could trigger an automation that sends those users a special offer or nudge that encourages them to finish their purchase.

### Manual Segments

Manual segments let you define exactly who belongs in the segment, and they’ll remain there until you remove them. They’re good for keeping static lists of profiles—like people you met at a conference, or people who signed up for a beta program.

You can add profiles to (and remove them from) manual segments by uploading a CSV file or [invoking our API](/api/track/#tag/Track-Segments). You can remove profiles from manual segments as a part of an automation or broadcast workflow. 

[![Set up a manual segment and choose how you want to add profiles to it](https://docs.customer.io/images/qsg-segment-manual.png)](#20c25b5213b38d0c96ba1da8ec6e80e7-lightbox)

## Events

Events are the things that profiles do in your system—like signing up, logging in, or making a purchase. You can use events to trigger automations, as segment criteria, and so on.

Unlike attributes, which you can set manually, events are a standard part of [your integration(s) with Customer.io](/get-started/integrate). You’ll need to send events into Customer.io programmatically to take advantage of your audience’s real-time activities.

Beyond their use in Customer.io, events are a typical way to pass data outAn integration that sends data *out* of Customer.io. to other services. For example, you might send events to Customer.io to trigger automations and send those same events to an analytics platform like Mixpanel.

### Event data

Each event carries `data` with it. Data properties can provide important information about the event a profile performed. For example, if you send a `purchase` event, you might include `product_name` and `price` properties so you know what a profile bought and how much it cost.

You can use these properties in a few different ways:

*   Fine-tuning automation triggers: for example, you might want to trigger an automation that sends a coupon to profiles when they spend over a certain amount in a purchase.
*   Personalizing messages with [liquidA syntax that supports variables, letting you personalize messages for your audience. For example, if you want to reference a person’s first name, you might use the variable `{{customer.first_name}}`.](/journeys/liquid/using-liquid): for example, if someone signs up for an online class, you might send them a message that reminds them of the class they signed up for, and includes a link to the class materials.

Here’s an example of a `signup` event that includes some relevant properties.

```json
{
  "type": "track",
  "event": "Course Started",
  "properties": {
    "course_in_series": 1,
    "course_format": "pass/fail",
    "title": "Intro to Customer.io"
  }
}
```

### Page and Screen View Events

There are two very specific kinds of events: page and screen views. These events represent the pages (web) and screens (mobile) that your audience visits.

These events work much like other events. You can do everything you do with standard events, plus two special things:

*   Create special segments based on the pages and screens your audience visits.
*   Determine the pages/screens on which profiles receive in-app messages. We call these [Page Rules](/messaging/channels/in-app/send-in-app-message/#page-rule).

[![Use page events to determine when and where in-app messages appear](https://docs.customer.io/images/in-app-page-rule.png)](#a55af0f9917c15a7b484c9df200f448d-lightbox)

 Capture page views automatically

If you use our [JavaScript snippet](/get-started/integrate/#add-a-javascript-source), we’ll automatically send page view events.

### Semantic events

Some events have special meaning in Customer.io or your downstream destinationsAn integration that sends data *out* of Customer.io—your data’s ultimate *destination*.. We call these **semantic events**. You can use semantic events to perform actions in Customer.io (and other destinations).

For example, we don’t have a call from our source libraries to remove a profile from your Customer.io workspace using our JavaScript source snippet. So, if you need to delete a profile from your workspace, you can send an event called `Delete Profile`.

```javascript
// Remove a profile from your Customer.io workspace
cioanalytics.track("User Deleted");
```

Semantic events are based on the event `name`. You can set up your own events for any destination, but we’ve pre-defined a significant number of these events to support various destinations—so you don’t have to define them yourself if you’re just getting started. See [Semantic Events](/integrations/data-in/semantic-events/) for more information.

*   *   [How it works](#how-it-works)
    *   [Data Index: Know your data](#data-index-know-your-data)
    *   [Segments](#segments)
        *   [Data-driven segments](#data-driven-segments)
            *   [Example segments](#example-segments)
        *   [Manual Segments](#manual-segments)
    *   [Events](#events)
        *   [Event data](#event-data)
        *   [Page and Screen View Events](#page-and-screen-view-events)
        *   [Semantic events](#semantic-events)

Training Courses

*   [Target your audience with segments](https://academy.customer.io/training/019664ab-9be6-7691-8d36-325753ec7520/overview)

Copy page

Copy page [Download .md](/get-started/segments-and-profiles-data.md)

Is this page helpful?

![](https://docs.customer.io/images/export-success.png) ![](https://docs.customer.io/images/export-failure.png)

# How can we make it better?

Close

Do you need help from Customer.io support?  No  
 Yes

What part of Customer.io do you need help with? 

How can we improve this page?

Email (optional):  Please provide a valid email address

 I am not a bot

 

We appreciate your feedback!

Our support team will contact you as soon as possible
