> ## 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>
  プッシュ通知、メール、SMSメッセージはオプトイン済み（サブスクライブ済み）の[サブスクリプション](./subscriptions)にのみ送信されます。セグメントエディターは透明性のためにサブスクライブ済みとアンサブスクライブ済みの数を両方表示しますが、セグメントをターゲティングする際にメッセージを受信するのはサブスクライブ済みのサブスクリプションのみです。In-App Messagesはステータスに関係なく、すべてのモバイルサブスクリプションに表示されます。

  Journeysで使用する場合、ステータスに関係なくセグメント内のすべてのサブスクリプションが各[ユーザー](./users)に評価され、それらのユーザーがJourneyに入ります。
</Warning>

***

## セグメントタイプ

OneSignalプラットフォームは、2つの主要なセグメントカテゴリをサポートしています：

### サブスクリプションベースのセグメント

サブスクリプションベースのセグメントは、デバイスタイプ、言語、アプリバージョンなどのサブスクリプション属性のフィルターを使用して構築されます。

### ユーザーベースのセグメント

ユーザーベースのセグメントは、個々のサブスクリプションではなく、ユーザーレベルの属性のフィルターを使用して構築されます。現在、これらのセグメントはメッセージイベントとカスタムイベントのフィルターをサポートしています。例：

* ユーザーがOneSignal経由で送信されたメール、SMS、またはプッシュ通知を最後に開封した時刻。
* アプリまたはWebサイトで追跡された特定のカスタムイベント。

ユーザーベースのセグメントには、条件を満たすすべてのユーザーが含まれ、自動的にすべてのサブスクリプションがターゲティング対象になり、ユーザーのデバイスのいずれかに到達できる、より豊富なオーディエンス定義が可能になります。

***

## セグメントの作成

セグメントはダッシュボード、API、またはCSVのアップロードで作成できます。メッセージ送信またはJourneyの構築時に、セグメントを含めたり除外したりしてオーディエンスをターゲティングします。

<Columns cols={3}>
  <Card title="ダッシュボード" icon="display">
    **Audience > Segments**からセグメントを作成および管理します。
  </Card>

  <Card title="API" icon="code" href="/reference/create-segments">
    Create Segment APIを使用してプログラムでセグメントを作成します。
  </Card>

  <Card title="CSVインポート" icon="file-csv" href="./import">
    CSVをアップロードしてサブスクリプションをセグメントに一括インポートします。
  </Card>
</Columns>

**ダッシュボードでセグメントを作成する**

<Steps>
  <Step title="Audience > Segmentsに移動する">
    ダッシュボードのSegmentsページに移動します。

    <Frame caption="Segmentsページ">
      <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="セグメントのリストを表示するSegmentsページ" width="1277" height="1054" data-path="images/segments/segments-tab.png" />
    </Frame>
  </Step>

  <Step title="New Segmentをクリックする">
    セグメント作成インターフェースが開きます。

    <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="フィルターを追加し、セグメントに名前を付けて、Create Segmentをクリックする">
    * フィルターを追加してオーディエンス基準を定義します。フィルターが選択されていない場合、アプリのすべてのユーザーがデフォルトになります。
    * セグメントに名前を付けて **Create Segment** をクリックします。

    <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="30日以内にアクティブでセッション数が3以上のユーザーのANDフィルターセグメント" 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**ロジックを使用して複数のフィルターを組み合わせることができます。

フィルターが選択されていない場合、セグメントはアプリのすべてのユーザーにデフォルトになります。

| フィルター              | 説明                                                                                                                                                                            |
| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **First session**  | ユーザー作成の日時。                                                                                                                                                                    |
| **Last session**   | サブスクリプションが最後にアプリまたはサイトを開いた時刻。                                                                                                                                                 |
| **Session count**  | サブスクリプションがアプリを開いたまたはサイトを訪問した回数。                                                                                                                                               |
| **Usage duration** | サブスクリプションがアプリ/サイトを開いていた合計秒数。                                                                                                                                                  |
| **Language**       | ユーザーの優先言語（デバイス/ブラウザに基づく）。[多言語サポート](./multi-language-messaging)を参照してください。                                                                                                      |
| **App version**    | Androidの`versionCode`またはiOSの`CFBundleShortVersionString`から取得されます。**Device type**と組み合わせて、各プラットフォームの異なるアプリバージョンでフィルタリングします。[古いアプリバージョンをターゲティング](./app-version-update)を参照してください。 |
| **Device type**    | iOS、Android、Webプッシュ（ブラウザ）、メールなど。                                                                                                                                              |
| **User tag**       | SDKまたはAPI経由で設定するカスタムタグ。[タグを追加](./add-user-data-tags)を参照してください。                                                                                                                |
| **Location**       | 座標（緯度/経度）からの半径でフィルタリング。最低1メートル、最大小数点以下2桁の精度が必要です。[location permission](./mobile-sdk-reference#location)を参照してください。                                                             |
| **Country**        | 最後のIPジオロケーション（ISO 3166-2コード）に基づきます。                                                                                                                                           |
| **Test users**     | [テストユーザー](./test-users)としてマークされたユーザー。                                                                                                                                         |
| **Message Event**  | メッセージイベント（例：「clicked」、「delivered」、「failed」）でフィルタリング。[メッセージイベントフィルター](#message-event-filters)を参照してください。                                                                        |
| **Custom Event**   | カスタムイベント（例：「purchase」、「user login」）でフィルタリング。[カスタムイベントフィルター](#custom-event-filters)を参照してください。                                                                                  |

### メッセージイベントフィルター

メッセージイベントフィルターを使用すると、特定の期間内にメッセージングチャネルの1つとのインタラクションに基づいてユーザーをフィルタリングできます。

<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`オプションを使用して、カスタムの開始日と終了日の範囲（何日前で）を定義します。

**各チャネルで追跡可能なインタラクション：**

|  チャネル  |                               追跡可能なインタラクション                              |
| :----: | :----------------------------------------------------------------------: |
|  Push  |                       Sent、Received、Clicked、Failed                       |
|   SMS  |                           Sent、Delivered、Failed                          |
|  Email | Sent、Delivered、Opened、Clicked、Bounced、Failed、Suppressed、Reported as spam |
| In-App |                             Received、Clicked                             |

<Warning>
  メッセージイベントフィルターで作成されたセグメントはユーザーベースです。

  Journeys外でメッセージを送信する際に、サブスクリプションベースのセグメントと組み合わせて含めたり除外したりすることはできません。

  ユーザーベースの[Journeys](./journeys-overview)内では、イベントベースのセグメントとサブスクリプションベースのセグメントを組み合わせて、より柔軟なターゲティングが可能です。
</Warning>

**メッセージイベントの保持期間**

メッセージイベントデータの保持期間はプランによって異なります。ダッシュボードの時間ウィンドウセレクターは最大90日間表示しますが、プランの保持期間を超えたデータは結果を返しません。

<Card title="プラン別メッセージイベント保持期間" icon="clock" href="./billing-faq#message-event-retention">
  保持期間はプランによって異なります——詳細はBilling FAQを参照してください。
</Card>

### カスタムイベントフィルター

[カスタムイベント](./custom-events)フィルターを使用すると、アプリ、Webサイト、または外部システムでユーザーが実行した重要なアクションに基づいてユーザーをターゲティングできます。

<Note>
  カスタムイベントフィルターは現在**Early Access**です。

  アクセスをリクエストするには、会社名、OneSignal組織ID、アプリIDとともに`support@onesignal.com`にお問い合わせください。
</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>
  カスタムイベントフィルターで作成されたセグメントはEarly Accessです。カスタムイベントセグメントにはカスタムイベントフィルターのみを含めることができ、メッセージを送信する際に他のセグメントと組み合わせて含めたり除外したりすることはできません。
</Warning>

***

## オーディエンス数

セグメントエディターは、セグメント内のサブスクライブ済みとアンサブスクライブ済みのサブスクリプション数を、チャネル（プッシュ、メール、SMS）別の内訳とともに表示します。

* **サブスクライブ済み**のサブスクリプションはオプトイン済みで、このセグメントをターゲティングするとメッセージを受信します。
* **アンサブスクライブ済み**のサブスクリプションはセグメントフィルターに一致しますが、オプトアウト済みでメッセージを受信しません。

チャネル別の内訳により、チャネルごとのリーチ可能なサブスクリプションとリーチ不可能なサブスクリプションを確認できます——メッセージや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をコピーする：** APIで使用するセグメントIDをコピーします。
* **編集する：** フィルターまたは名前を変更します。
* **一時停止/再開する：** [セグメント制限](https://onesignal.com/pricing)に近い場合は、セグメントを削除せずに一時停止できます。一時停止されたセグメントをターゲティングすると失敗します。
* **デフォルトとして設定する：** 新しいメッセージを送信するときに自動的に選択されるデフォルトセグメントを設定します。これにより、ターゲティングのミスを減らし、時間を節約できます。
* **複製する：** セグメントのフィルターをコピーして新しいセグメントを作成します。
* **監査ログを表示する：** セグメントが誰によっていつ変更されたかの[監査ログ](./audit-logs)を確認します。
* **削除する：** セグメントを削除します。

### セグメントの削除

セグメントを削除すると、セグメントのリストから削除されます。セグメント内のユーザーは削除**されません**。セグメント内のユーザーを削除するには、[ユーザーの削除](./delete-users)を参照してください。

<Tabs>
  <Tab title="ダッシュボード">
    1. **Audience > Segments**に移動します
    2. セグメントの横にある3ドットメニューをクリックします
    3. **Delete**を選択します

    <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="編集、一時停止、複製、削除アクションを表示するセグメントの3ドットオプションメニュー" width="1290" height="1055" data-path="images/segments/segment-menu.png" />
    </Frame>
  </Tab>

  <Tab title="API">
    [Delete Segment API](/reference/delete-segments)を使用します。これはセグメント定義のみを削除します——セグメント内のユーザーは削除しません。
  </Tab>
</Tabs>

***

## FAQ

### 自分をセグメントに追加するにはどうすればよいですか？

自分をテストユーザーとして設定するか、カスタムタグを追加してから、それをターゲティングするセグメントを作成します。

1. [外部ID](./users)を使用してサブスクリプションを見つけます。
2. 次のいずれかを実行します：
   * 自分を[テストユーザー](./test-users)として設定する
   * カスタム[タグ](./add-user-data-tags)を追加する
3. **Test Users**フィルターまたはタグを使用してセグメントを作成します。

### セグメント数にはオプトアウトしたユーザーが含まれますか？

はい。セグメントエディターはサブスクライブ済みとアンサブスクライブ済みの両方のサブスクリプション数を表示します。サブスクライブ済みのサブスクリプションはオプトイン済みでメッセージを受信します。アンサブスクライブ済みのサブスクリプションはフィルターに一致しますが、オプトアウト済みでメッセージを受信しません。

メッセージを送信する際は、サブスクライブ済みのサブスクリプションのみがターゲティングされます。

JourneysおよびIn-App Messagesで使用される場合、セグメントにはサブスクライブ済みとアンサブスクライブ済みの両方のサブスクリプションが含まれます。

### セグメント数は常に正確ですか？

OneSignalは常に約15秒以内に数を返します。より小さくシンプルなセグメントの場合は正確な数です。より大きくて複雑なセグメントの場合は代わりに推定値が表示されます。

推定値はその精度について明確にラベルが付けられます。推定値のフォーマットと意味の詳細は[オーディエンス数](#audience-counts)を参照してください。
