# 按事件构建细分

**基于事件的细分**允许您根据用户在您的应用或网站中的实际行为和操作来定向他们。这通过关注用户参与模式来创建高度个性化和有效的营销活动。

## 按事件构建细分

要按事件构建细分：

1. 在 **Add filter by** 部分点击 **Event**。

![界面显示 Add filter by 部分，其中 Event 选项已高亮显示](/segmentation-segments-by-events-1.webp)

2. 从下拉列表中选择一个事件。

![下拉列表显示可用于细分筛选的事件](/segmentation-segments-by-events-2.webp)

3. 指明所选事件的条件：事件发生的次数和时间范围。

> 在为您的细分指定时间范围时，您可以从两个类别中选择：**相对日期**和**特定日期**。

##### 相对日期

使用这些选项可根据当前日期动态更新时间窗口：

|                     |                                                           |
|-----------------------------|-------------------------------------------------------------------------|
| **during the last N days**  | 包括在过去 N 天内发生的事件                     |
| **exactly N days ago**      | 定向正好在 N 天前触发事件的用户                  |
| **N or more days ago**      | 包括至少在 N 天前触发事件的用户                |
| **between N and M days ago**| 定义今天之前的一段天数范围                                     |
| **between N and M days ahead**| 定义从今天起的 N 到 M 天的范围，其中 0 表示今天。N 和 M 都包含在内 |


<img src="/segmentation-segments-21.webp" alt="按事件发生和相对日期标准配置细分筛选器的示例"/>

##### 特定日期

使用这些选项定义基于日历的固定筛选器：

|                    |                                                                     |
|-------------------------------|-----------------------------------------------------------------------------------|
| **on a specific date**        | 包括在选定日历日期触发事件的用户                |
| **on or after a specific date** | 包括从选定日期开始触发事件的用户      |
| **on or before a specific date**| 包括截至并包含选定日期触发事件的用户       |
| **between dates**             | 包括在两个特定日历日期之间触发事件的用户        |

<img src="/segmentation-segments-20.webp" alt="按事件发生和指定事件时间范围标准对用户进行细分的界面"/>

4. （可选）点击 **+ Attribute** 将条件缩小到特定的事件属性。从下拉列表中选择属性，选择一个运算符，并指定一个值。开始输入以搜索基于先前记录数据的建议值。

<Aside type="tip">
对于自定义事件，请在[创建事件](/zh/product/audience-data-and-segmentation/events/custom-events/#creating-custom-events)时添加属性。属性类型在[了解事件](/zh/product/audience-data-and-segmentation/events/#2-set-attributes)中列出。默认事件已包含其属性。请参阅[默认事件](/zh/product/audience-data-and-segmentation/events/default-events/)。
</Aside>


<img src="/segmentation-segments-by-events-4.webp" alt="事件属性条件，显示属性名称、运算符和带有自动完成建议的值"/>

有关可用运算符的完整列表，请参阅[按类型划分的事件属性运算符](#event-attribute-operators-by-type)。

5. 如果您将多个事件设置为细分条件，请选择您想要使用的运算符 (AND/OR)。

<video src="/segmentation-segments-5.webm" title="按事件设置细分筛选器，显示事件选择和时间范围条件" autoplay loop muted playsinline />

6. 包括所有用户设备

启用此选项可在用户的所有设备上定向他们，而不仅仅是匹配细分条件的设备。这可确保他们在使用的每个平台上都能收到您的消息。

* **启用**：如果用户的任何设备满足条件（例如，购买事件、标签、行为），则其所有跨平台的设备都将包含在细分中。

* **禁用**：只有满足条件的设备才会包含在细分中。

<img src="/segmentation-segments-16.webp" alt="用于跨平台定向的“包括所有用户设备”选项切换"/> 

## 按类型划分的事件属性运算符

可用的运算符取决于您要筛选的事件属性的类型。在下方选择一个类型以查看其运算符。

<Tabs>
<TabItem label="String">

| 运算符    <div style="width:180px"></div> | 描述    <div style="width:250px"></div> | 示例 |
| --- | --- | --- |
| **is** | 属性值等于指定值 | `button_name is "checkout"` |
| **is not** | 属性值不等于指定值 | `url is not "/cart"` |
| **starts with** | 属性值以指定字符串开头 | `url starts with "https://example.com"` |
| **ends with** | 属性值以指定字符串结尾 | `url ends with ".html"` |
| **contains** | 属性值包含指定字符串 | `url contains "/products/"` |
| **in** | 属性值匹配所提供列表中的任何值 | `button_name in ["submit", "cancel"]` |
| **not in** | 属性值不匹配所提供列表中的任何值 | `category not in ["spam", "test"]` |
| **not set** | 未记录该属性的值 | `coupon_code not set` |
| **any** | 属性有任何已记录的值 | `referrer any` |

</TabItem>
<TabItem label="Integer">

| 运算符    <div style="width:180px"></div> | 描述    <div style="width:250px"></div> | 示例 |
| --- | --- | --- |
| **is** | 属性值等于指定数字 | `level_number is 5` |
| **is not** | 属性值不等于指定数字 | `score is not 0` |
| **greater or equals** | 属性值大于或等于指定数字 | `points_earned greater or equals 100` |
| **less or equals** | 属性值小于或等于指定数字 | `attempts less or equals 3` |
| **between** | 属性值在指定范围内（含边界值） | `level_number between 10 and 20` |
| **in** | 属性值匹配列表中的任何值 | `level_number in [5, 10, 15]` |
| **not in** | 属性值不匹配列表中的任何值 | `attempts not in [0, 1]` |
| **not set** | 未记录该属性的值 | `score not set` |
| **any** | 属性有任何已记录的值 | `level_number any` |

</TabItem>
<TabItem label="Boolean">

| 运算符    <div style="width:180px"></div> | 描述    <div style="width:250px"></div> | 示例 |
| --- | --- | --- |
| **is true** | 属性值为 true | `enabled is true` |
| **is false** | 属性值为 false | `is_trial is false` |
| **not set** | 未记录该属性的值 | `enabled not set` |
| **any** | 属性有任何已记录的值 (true 或 false) | `is_trial any` |

</TabItem>
<TabItem label="Decimal (price)">

此类型用于带小数的货币值。在 Control Panel 中，当您创建或编辑事件属性时，它显示为 **decimal (price)**。

| 运算符    <div style="width:180px"></div> | 描述    <div style="width:250px"></div> | 示例 |
| --- | --- | --- |
| **is** | 属性值等于指定价格 | `total_price is 9.99` |
| **is not** | 属性值不等于指定价格 | `total_price is not 0` |
| **greater or equals** | 属性值大于或等于某个价格 | `total_price greater or equals 50.00` |
| **less or equals** | 属性值小于或等于某个价格 | `total_price less or equals 100.00` |
| **between** | 属性值在指定价格范围内（含边界值） | `total_price between 10.00 and 50.00` |
| **in** | 属性值匹配列表中的任何值 | `total_price in [9.99, 14.99, 19.99]` |
| **not in** | 属性值不匹配列表中的任何值 | `total_price not in [0, 5]` |
| **not set** | 未记录该属性的值 | `total_price not set` |
| **any** | 属性有任何已记录的值 | `total_price any` |

</TabItem>
<TabItem label="List">

列表类型的属性可以一次持有多个值，例如添加到购物车的产品 ID。

| 运算符    <div style="width:180px"></div> | 描述    <div style="width:250px"></div> | 示例 |
| --- | --- | --- |
| **in** | 属性至少包含指定值中的一个 | `product_ids in ["prod-123", "prod-456"]` |
| **not in** | 属性不包含任何指定值 | `product_ids not in ["prod-789"]` |
| **not set** | 未记录该属性的值 | `product_ids not set` |
| **any** | 属性有任何已记录的值 | `product_ids any` |

</TabItem>
<TabItem label="Date">

日期类型的属性支持与事件自身时间范围相同的[相对日期](#relative-dates)和[特定日期](#specific-dates)比较。

</TabItem>
</Tabs>

## 基于事件的细分示例

以下是几个实际场景，说明了如何使用事件筛选器创建有意义的受众细分。

##### 频繁购买者

**目标：** 定向近期多次购买的高度活跃用户。

**如何设置：**
- **Event:** `Purchase_made`
- **Condition:** exactly or more
- **Times:** `3`
- **Time frame:** during the last N days
- **Value:** `30`

**用例：** 向表现出频繁购买行为的用户发送特别优惠或忠诚度奖励。


##### 高价值单次购买

**目标：** 定向进行大额购买的用户，无论他们购买的频率如何。

**如何设置：**
- **Event:** `Purchase_made`
- **Condition:** exactly or more
- **Times:** `1`
- **Time frame:** during the last N days
- **Time frame value:** `30`
- **Attribute:** `total_price`
- **Operator:** greater or equals
- **Attribute value:** `50`

**用例：** 在大额消费者完成符合条件的购买后，立即邀请他们加入忠诚度或 VIP 计划。

##### 查看了产品但未购买

**目标：** 识别已表现出兴趣但尚未转化的用户。

**如何设置：**
- **Event 1:** `Product_Viewed`
   - **Condition:** exactly or more
   - **Times:** `1`
   - **Time frame:** during the last N days
   - **Value:** `7`
- **Event 2:** `Purchase_made`
   - **Condition:** never
   - **Time frame:** during the last N days
   - **Value:** `7`
- **Operator:** AND

**用例：** 向浏览了产品但尚未购买的用户发送提醒、特别优惠或个性化消息。

##### 在营销活动期间参与的用户

**目标：** 定向在特定促销期间参与的用户。

**如何设置：**
- **Event:** `Promotion_Click`
- **Condition:** exactly or more
- **Times:** `1`
- **Time frame:** between dates
- **Value:** `"2024-01-01"` and `"2024-01-31"`

**用例：** 对与过去营销活动互动的用户进行跟进，以推广相关优惠或收集反馈。

##### 长期的高价值行为

**目标：** 识别在自定义日期范围内执行了特定次数有价值事件的用户。

**如何设置：**
- **Event:** `Subscription_Renewal`
- **Condition:** exactly or more
- **Times:** `2`
- **Time frame:** between dates
- **Value:** `"2024-01-01"` and `"2024-12-31"`

**用例：** 为定期续订订阅的忠实用户提供特别表彰或高级功能。

## 基于事件的细分技巧

- 对于需要根据当前用户活动保持更新的持续性营销活动，请使用[相对日期](#relative-dates)。
- 使用[事件属性筛选器](#event-attribute-operators-by-type)（例如，购买金额、产品类别）来缩小事件条件，而不仅仅依赖于事件的发生。
- 将事件筛选器与其他标准（如[标签](/zh/product/audience-data-and-segmentation/segmentation/create-segments/by-tags/)（例如，用户人口统计信息、订阅状态）或[现有细分](/zh/product/audience-data-and-segmentation/segmentation/create-segments/by-existing-segments/)）结合起来，以实现更精确的定向。例如，您可以根据事件发生和存储在标签中的用户属性来筛选用户，从而进一步定制您的消息。
- 定期审查和更新您的细分筛选器，以适应不断变化的用户行为或业务目标。