> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 细分

> 在 OneSignal 中创建和管理动态用户细分，基于活动、位置、标签等进行个性化消息定向。

细分会随着用户与您的应用或网站交互而自动更新——无需额外跟踪。

<Warning>
  推送通知、电子邮件和短信仅发送给已选择加入（已订阅）的 [订阅](./subscriptions)。细分编辑器会显示已订阅和未订阅的计数以便透明，但仅已订阅的订阅在您定向细分时会收到消息。应用内消息会显示给所有移动订阅，无论其状态如何。

  在 Journey 中使用时，无论状态如何，细分中的所有订阅都会被评估到其相应的 [用户](./users)，这些用户将进入 Journey。
</Warning>

***

## 细分类型

OneSignal 平台支持两个主要类别的细分：

### 基于订阅的细分

基于订阅的细分使用订阅属性的过滤器构建，如设备类型、语言或应用版本等。

### 基于用户的细分

基于用户的细分使用用户级属性而非单个订阅的过滤器构建。目前，这些细分支持消息事件和自定义事件的过滤器。示例包括：

* 用户最后一次打开通过 OneSignal 发送的邮件、短信或推送通知的时间。
* 在您的应用或网站中跟踪的特定自定义事件。

基于用户的细分包括所有符合条件的用户，并自动使他们的所有订阅都有资格被定向，从而实现更丰富的受众定义，可以到达用户的任何设备。

***

## 创建细分

可以在仪表板中、通过 API 或上传 CSV 来创建细分。在发送消息或构建 Journey 时，通过包含和排除细分来定向您的受众。

<Columns cols={3}>
  <Card title="仪表板" icon="display">
    从 **受众 > 细分** 创建和管理细分。
  </Card>

  <Card title="API" icon="code" href="/reference/create-segments">
    使用创建细分 API 以编程方式创建细分。
  </Card>

  <Card title="CSV 导入" icon="file-csv" href="./import">
    通过上传 CSV 将订阅批量导入细分。
  </Card>
</Columns>

**在仪表板中创建细分**

<Steps>
  <Step title="前往 受众 > 细分">
    在仪表板中导航到细分页面。

    <Frame caption="细分页面">
      <img src="https://mintcdn.com/onesignal/BIUS_wdfwITxcuxQ/images/segments/segments-tab.png?fit=max&auto=format&n=BIUS_wdfwITxcuxQ&q=85&s=3cb693860c79428fe33135b5401c4941" alt="细分页面显示细分列表" width="1277" height="1054" data-path="images/segments/segments-tab.png" />
    </Frame>
  </Step>

  <Step title="点击 新建细分">
    打开细分创建界面。

    <Frame caption="细分创建界面">
      <img src="https://mintcdn.com/onesignal/BIUS_wdfwITxcuxQ/images/segments/segment-creation-interface.png?fit=max&auto=format&n=BIUS_wdfwITxcuxQ&q=85&s=f9b2ec793a299ea442ce7a04194a4a31" alt="细分创建界面显示过滤器选项和细分名称字段" width="1301" height="1061" data-path="images/segments/segment-creation-interface.png" />
    </Frame>
  </Step>

  <Step title="添加过滤器、为细分命名，然后点击 创建细分">
    * 添加过滤器来定义您的受众标准。如果未选择过滤器，将默认为应用的每个用户。
    * 为细分命名，然后点击 **创建细分**。

    <Frame caption="细分创建界面">
      <img src="https://mintcdn.com/onesignal/BIUS_wdfwITxcuxQ/images/segments/segment-creation-example.png?fit=max&auto=format&n=BIUS_wdfwITxcuxQ&q=85&s=13624ad1b90beedabcfa1ee6347529f0" alt="细分创建界面显示过滤器选项和细分名称字段" width="1320" height="589" data-path="images/segments/segment-creation-example.png" />
    </Frame>
  </Step>
</Steps>

### 细分逻辑：AND 与 OR

使用 **AND** 组合 *全部* 必须匹配的过滤器。使用 **OR** 匹配多个条件中的 *任意* 一个。

<Tabs>
  <Tab title="AND 示例">
    创建一个用户细分，这些用户：

    * 在过去 30 天内活跃
    * 至少有 3 次总会话

    <Frame caption="AND 过滤器细分设置">
      <img src="https://mintcdn.com/onesignal/BIUS_wdfwITxcuxQ/images/segments/and-filter-example.png?fit=max&auto=format&n=BIUS_wdfwITxcuxQ&q=85&s=c013ccef30256763df80d07d850a2962" alt="AND 过滤器细分，用于在 30 天内活跃且至少有 3 次会话的用户" width="1311" height="639" data-path="images/segments/and-filter-example.png" />
    </Frame>
  </Tab>

  <Tab title="OR 示例">
    创建一个用户细分，这些用户：

    * 超过 7 天未返回
    * 在过去 3 天内创建了新订阅

    <Frame caption="OR 子句细分配置">
      <img src="https://mintcdn.com/onesignal/BIUS_wdfwITxcuxQ/images/segments/or-filter-example.png?fit=max&auto=format&n=BIUS_wdfwITxcuxQ&q=85&s=82b594452c5432d927847e34e7d6f91d" alt="OR 过滤器细分，合并非活跃用户和新订阅" width="1298" height="672" data-path="images/segments/or-filter-example.png" />
    </Frame>
  </Tab>
</Tabs>

***

## 过滤器

过滤器定义哪些订阅属于一个细分。您可以使用 **AND** 或 **OR** 逻辑组合多个过滤器。

如果未选择过滤器，细分将默认为应用的每个用户。

| 过滤器       | 描述                                                                                                                                 |
| --------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| **首次会话**  | 用户创建的日期/时间。                                                                                                                        |
| **最后会话**  | 订阅最后一次打开应用或网站的时间。                                                                                                                  |
| **会话次数**  | 订阅打开应用或访问网站的次数。                                                                                                                    |
| **使用时长**  | 订阅打开您的应用/网站的总秒数。                                                                                                                   |
| **语言**    | 用户的首选语言（基于设备/浏览器）。请参阅 [多语言支持](./multi-language-messaging)。                                                                         |
| **应用版本**  | 从 Android `versionCode` 或 iOS `CFBundleShortVersionString` 获取。与 **设备类型** 组合以按每个平台的不同应用版本进行过滤。请参阅 [定向过时应用版本](./app-version-update)。 |
| **设备类型**  | iOS、Android、Web Push（浏览器）、邮件等。                                                                                                     |
| **用户标签**  | 您通过 SDK 或 API 设置的自定义标签。请参阅 [添加标签](./add-user-data-tags)。                                                                           |
| **位置**    | 按坐标（纬度/经度）半径进行过滤。需要至少 1 米和最多 2 位小数精度。请参阅 [位置权限](./mobile-sdk-reference#location)。                                                  |
| **国家**    | 基于最后 IP 地理位置（ISO 3166-2 代码）。                                                                                                       |
| **测试用户**  | 被标记为 [测试用户](./test-users) 的用户。                                                                                                     |
| **消息事件**  | 按消息事件进行过滤（例如，"已点击"、"已送达"、"失败"）。请参阅 [消息事件过滤器](#message-event-filters)。                                                              |
| **自定义事件** | 按自定义事件进行过滤（例如，"购买"、"用户登录"）。请参阅 [自定义事件过滤器](#custom-event-filters)。                                                                  |

### 消息事件过滤器

消息事件过滤器允许您根据用户在特定时间窗口内与您的消息渠道之一的互动来过滤用户。

<Frame caption="消息事件过滤器">
  <img src="https://mintcdn.com/onesignal/BIUS_wdfwITxcuxQ/images/segments/message_event_filters.png?fit=max&auto=format&n=BIUS_wdfwITxcuxQ&q=85&s=8ff30920fd89a72dd785f2949808e2c7" alt="消息事件过滤器选项，显示渠道、操作和时间窗口选择器" width="1295" height="581" data-path="images/segments/message_event_filters.png" />
</Frame>

首先选择您要过滤的消息渠道，然后指定要跟踪的操作以及用户是否已执行该操作。

您可以指定用户必须执行操作的最小、最大或确切次数，以及从最后 24 小时到最后 90 天的时间窗口。使用 `between` 选项可定义自定义开始和结束范围（以天前计）。

**各渠道可跟踪的互动：**

|  渠道 |               可跟踪的互动               |
| :-: | :--------------------------------: |
|  推送 |           已发送、已接收、已点击、失败           |
|  短信 |             已发送、已送达、失败             |
|  邮件 | 已发送、已送达、已打开、已点击、已退回、失败、已抑制、举报为垃圾邮件 |
| 应用内 |               已接收、已点击              |

<Warning>
  使用消息事件过滤器创建的细分是基于用户的。

  在 Journey 外发送消息时，它们不能与基于订阅的细分组合使用进行包含或排除。

  在基于用户的 [Journey](./journeys-overview) 中，您可以将基于事件的细分与基于订阅的细分结合使用，以实现更灵活的定向。
</Warning>

**消息事件保留**

消息事件数据的保留时间取决于您的套餐。仪表板时间窗口选择器最多显示 90 天，但超出套餐保留期的数据将不会返回结果。

<Card title="按套餐划分的消息事件保留" icon="clock" href="./billing-faq#message-event-retention">
  保留期因套餐而异——详情请参阅账单常见问题。
</Card>

### 自定义事件过滤器

[自定义事件](./custom-events) 过滤器让您根据用户在您的应用、网站或外部系统中采取的有意义操作来定向用户。

<Note>
  自定义事件过滤器目前处于 **早期访问** 阶段。

  要请求访问权限，请联系 `support@onesignal.com` 并提供您的公司名称、OneSignal 组织 ID 和应用 ID。
</Note>

<Frame caption="自定义事件过滤器">
  <img src="https://mintcdn.com/onesignal/BIUS_wdfwITxcuxQ/images/segments/custom_event_filters.png?fit=max&auto=format&n=BIUS_wdfwITxcuxQ&q=85&s=99925f2d8c574a94b54817e7a8aae24c" alt="自定义事件过滤器选项，显示事件类型和属性选择器" width="1305" height="757" data-path="images/segments/custom_event_filters.png" />
</Frame>

首先选择：

* 您要过滤的事件名称。
* 用户是否 `已` 或 `未` 执行该操作。
* 必须执行操作的最小、最大或确切次数。
* 操作必须（或不得）发生的时间窗口——选择预设范围或使用 `between` 选项定义自定义窗口（以天前计的开始和结束）。

指定事件后，您可以选择性地对特定或多个属性进行过滤：

* `all` — 在属性之间应用 AND 条件。
* `at least one` — 应用 OR 条件。

然后使用 `dot notation` 设置您要过滤的属性。

* 自定义事件表示为 [JSON 对象](https://www.w3schools.com/js/js_json.asp)。
* 请参阅 [自定义事件](./custom-events#what-is-a-custom-event%3F) 了解更多详情。

**示例**

给定以下自定义事件：

```json theme={null}
{
  "events": [
    {
      "name": "cart_updated",
      "properties": {
        "product_name": "24 Pack of Acorns",
        "product_price": "12.99",
        "product_quantity": "2"
      },
      "external_id": "ID_OF_THE_USER"
    }
  ]
}
```

您可以按以下方式过滤：

* `product_name` → 定向产品名称为 `24 Pack of Acorns` 的用户。
* `product_price` → 定向产品价格为 `12.99` 的用户。
* `product_quantity` → 定向产品数量为 `2` 的用户。

<Frame caption="自定义事件过滤器示例">
  <img src="https://mintcdn.com/onesignal/BIUS_wdfwITxcuxQ/images/segments/custom_event_filter_example.png?fit=max&auto=format&n=BIUS_wdfwITxcuxQ&q=85&s=3b5b12a65bd8528e097cf1e46c185ff5" alt="自定义事件过滤器示例，显示产品名称、图片、价格、数量和购物车 URL" width="1299" height="721" data-path="images/segments/custom_event_filter_example.png" />
</Frame>

<Warning>
  使用自定义事件过滤器创建的细分处于早期访问阶段，是基于用户的。自定义事件细分只能包含自定义事件过滤器，在发送消息时不能与其他细分组合使用进行包含或排除。
</Warning>

***

## 受众计数

细分编辑器显示您的细分中已订阅和未订阅的订阅数量，并按渠道（推送、邮件和短信）进行细分。

* **已订阅** 的订阅已选择加入，当您定向此细分时将收到消息。
* **未订阅** 的订阅符合您的细分过滤器，但已选择退出，不会收到消息。

渠道细分让您可以查看每个渠道的可触达与不可触达订阅——在构建消息或 Journey 之前了解哪些渠道最有效非常有用。

<Frame caption="受众计数">
  <img src="https://mintcdn.com/onesignal/BIUS_wdfwITxcuxQ/images/segments/audience_counts.png?fit=max&auto=format&n=BIUS_wdfwITxcuxQ&q=85&s=f945aabbb335d53054b058f41bfad527" alt="按渠道显示已订阅和未订阅计数的受众计数" width="1309" height="1089" data-path="images/segments/audience_counts.png" />
</Frame>

### 精确计数和估计

OneSignal 总是在大约 15 秒内返回计数。在该时间限制内尽可能返回精确计数。对于精确计数需要较长时间计算的大型或复杂细分，将显示估计值。

估计值会有标记以表明它们不是精确的：

| 细分大小      | 格式       | 示例                  |
| --------- | -------- | ------------------- |
| 超过 10,000 | 带误差范围的计数 | `140,000 +/- 5,000` |
| 低于 10,000 | 小于值      | `<4,800`            |

两种格式都会四舍五入以表明数字是近似值。估计值永远不会显示为 0：如果您的细分成员很少，估计值会反映一个小的非零估计值，以避免暗示细分为空。

<Note>
  受众计数适用于基于订阅的细分。基于用户的细分计数尚不支持。
</Note>

***

## 管理细分

在仪表板中查看细分时，您可以：

* **查看订阅：** 查看哪些 [订阅](./subscriptions) 在细分中。
* **复制细分 ID：** 复制细分 ID 以在 API 中使用。
* **编辑：** 更改过滤器或名称。
* **暂停/恢复：** 如果您接近 [细分限制](https://onesignal.com/pricing)，可以暂停细分而无需删除。定向已暂停的细分将失败。
* **设为默认：** 设置默认细分以在发送新消息时自动选择。这有助于减少定向错误并节省时间。
* **复制：** 复制细分的过滤器来创建新的细分。
* **查看审计日志：** 查看谁可能更改了细分以及何时更改的 [审计日志](./audit-logs)。
* **删除：** 删除细分。

### 删除细分

删除细分会将其从您的细分列表中移除。它 **不** 会删除其中的用户。要删除细分中的用户，请参阅 [删除用户](./delete-users)。

<Tabs>
  <Tab title="仪表板">
    1. 前往 **受众 > 细分**
    2. 点击细分旁边的三点菜单
    3. 选择 **删除**

    <Frame caption="细分选项菜单">
      <img src="https://mintcdn.com/onesignal/BIUS_wdfwITxcuxQ/images/segments/segment-menu.png?fit=max&auto=format&n=BIUS_wdfwITxcuxQ&q=85&s=50001e1271a9ce9067a81a4e07370517" alt="细分上的三点选项菜单，显示编辑、暂停、复制和删除操作" width="1290" height="1055" data-path="images/segments/segment-menu.png" />
    </Frame>
  </Tab>

  <Tab title="API">
    使用 [删除细分 API](/reference/delete-segments)。这仅移除细分定义——不会删除其中的用户。
  </Tab>
</Tabs>

***

## 常见问题

### 如何将自己添加到细分中？

将自己设置为测试用户或添加自定义标签，然后创建一个定向它的细分。

1. 使用您的 [外部 ID](./users) 找到您的订阅。
2. 任选一种：
   * 将自己设置为 [测试用户](./test-users)
   * 添加自定义 [标签](./add-user-data-tags)
3. 使用 **测试用户** 过滤器或标签创建细分。

### 细分计数是否包括退订用户？

是的。细分编辑器显示已订阅和未订阅的订阅计数。已订阅的订阅已选择加入，将会收到消息。未订阅的订阅符合您的过滤器，但已选择退出，不会收到消息。

当您发送消息时，仅已订阅的订阅会被定向。

在 Journey 和应用内消息中使用时，细分包括已订阅和未订阅的订阅。

### 细分计数总是准确的吗？

OneSignal 总是在大约 15 秒内返回计数。对于较小或较简单的细分，这是精确计数。对于较大或更复杂的细分，将显示估计值。

估计值会有清晰标记说明其精确度。有关估计值格式和含义的详细信息，请参阅 [受众计数](#audience-counts)。
