> ## 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.

# Segment (Twilio)

> ユーザーデータとメッセージングイベントのために、OneSignalとTwilio Segmentを統合します。

<Frame caption="OneSignal Segment統合の概要">
  <img src="https://mintcdn.com/onesignal/6v_cVPknFpo5qSVB/images/docs/0fe35d2-onesignal-segment-integration_1.png?fit=max&auto=format&n=6v_cVPknFpo5qSVB&q=85&s=f70d1f0b0ea879b548b634bb253ecacf" width="1280" height="720" data-path="images/docs/0fe35d2-onesignal-segment-integration_1.png" />
</Frame>

## 概要

OneSignal + Segment統合により、次のことができます：

* SegmentからOneSignalにユーザートレイトとイベントを送信して、ユーザープロファイルを充実させ、セグメンテーションを強化し、メッセージングをトリガーします。
* OneSignalからSegmentにメッセージ配信とエンゲージメントイベントを送信して、一元化された分析とデータウェアハウジングを実現します。

この双方向セットアップは、OneSignalのすべての主要チャネル（プッシュ、アプリ内、メール、SMS）をサポートします。

***

## 要件

* Growth、ProfessionalまたはEnterprise [OneSignalアカウント](https://onesignal.com/pricing)。
* Segment管理者権限
* データを送信するOneSignal [モバイルSDK](./mobile-sdk-setup)および/または[Web SDK](./web-push-setup)。[メール](./email-setup)または[SMS](./sms-setup)のみの統合はSDKを必要としません。
* OneSignalプロパティ：[外部ID](./users)（Segment.comの`userId`にマッピングされます）。

***

## セットアップ

### 1. OneSignalをセットアップする

OneSignalダッシュボードで既存のアプリを使用するか、新しいアプリを作成します。次に、希望するチャネルをセットアップします：

* [Webプッシュセットアップ](./web-push-setup)
* [モバイルプッシュセットアップ](./mobile-sdk-setup)
* [SMSセットアップ](./sms-setup)
* [メールセットアップ](./email-setup)

### 2. SegmentをOneSignalに接続する

OneSignalダッシュボード内で、**Data > Integrations**に移動し、Segment.comカード内の**Active**をクリックします。次に、セットアップオプションを続けます。

#### データイン

OneSignalへの「データイン」により、Segment.comアカウントから[OneSignalセグメント](./segmentation)、[タグ](./add-user-data-tags)、および[カスタムイベント](./custom-events)をOneSignalに送信できます。OneSignalダッシュボードのSegment.com設定ページの*Data In*セクションの下にある**Authenticate**をクリックします。

<Note>
  カスタムイベントは現在ベータ版です。
  アクセスをリクエストするには、以下の情報とともに`support@onesignal.com`にお問い合わせください：

  * 会社名
  * OneSignal組織ID
  * 有効にするアプリID
</Note>

<Warning>
  カスタムイベントの追跡が有効になると、Segment.com統合はデータタグとイベントの両方を送信するため、データタグを参照する既存のテンプレートを更新する必要はありません。
</Warning>

<Frame caption="データイン認証設定">
  <img src="https://mintcdn.com/onesignal/YOTSrtBSoqdrJ37A/images/docs/48031e3-Data_in.png?fit=max&auto=format&n=YOTSrtBSoqdrJ37A&q=85&s=3985a85e39ed139234cf81b3f29a0290" width="1182" height="428" data-path="images/docs/48031e3-Data_in.png" />
</Frame>

Authenticateをクリックすると、Segment.comのWebページが開き、Segment.comアカウントにサインインするように求められます。次に、Segment.comアカウントから新しいデータ宛先を構成するように求められます。

<Frame caption="Segmentセットアップ構成画面">
  <img src="https://mintcdn.com/onesignal/0qspEXXeJ8zJbkJ-/images/docs/85c6577-segment_set_up.png?fit=max&auto=format&n=0qspEXXeJ8zJbkJ-&q=85&s=a8a554790d8c80595116aca43093627b" width="898" height="916" data-path="images/docs/85c6577-segment_set_up.png" />
</Frame>

#### データアウト

Segment.comへの「データアウト」を有効にすると、生成されたメッセージイベントがSegment.comアカウントに同期されます。これらのメッセージイベントは、OneSignalプラットフォームでユーザーにメッセージを送信することで生成されます。生成できるイベントの種類と送信されるプロパティの詳細については、[下記](./segment-onesignal-integration#message-events)を参照してください。

まず、Segment.comアカウントからOneSignalをソースとして追加する必要があります。これは、Segment Connections Catalogueの[OneSignal Source listing](https://segment.com/docs/connections/sources/catalog/cloud-apps/onesignal/)に移動することで実行できます。

そこから、OneSignalダッシュボードにSegment.com APIトークンを追加できます。Segment APIキーを追加するには、OneSignalダッシュボードの**Data > Integrations > Segment**に移動してください。

<Frame caption="データアウトAPIキー構成">
  <img src="https://mintcdn.com/onesignal/6tscVAtiSqz353kV/images/docs/9d8eb5f-data_out_3.png?fit=max&auto=format&n=6tscVAtiSqz353kV&q=85&s=56098282da219dd7eb274b183b271362" width="1604" height="1052" data-path="images/docs/9d8eb5f-data_out_3.png" />
</Frame>

APIキーをセットアップした後、Segment.comのデータポリシー設定を確認して、SegmentのEU Residency Endpointにイベントを送信する必要があるかどうかを判断してください。

これらの設定がすべて完了したら、OneSignalで使用するチャネルに応じて、Segmentアカウントに同期するイベントを選択できます。

### 3. SegmentにOneSignal宛先を追加する

**Segment.com Dashboard > Destinations**内に**OneSignal**が表示されるはずです。表示されない場合は、OneSignalを新しい宛先として追加します。

OneSignal宛先を有効にすると、OneSignal APIキーとアプリIDもすでに表示されているはずです

<Frame caption="SegmentでのOneSignal宛先構成">
  <img src="https://mintcdn.com/onesignal/56ctKxZSV4m5VEkn/images/docs/b191d42-turn-on-configuration-in-segment.png?fit=max&auto=format&n=56ctKxZSV4m5VEkn&q=85&s=aebe97a4fbfe4775b502b2c3186ff5fb" width="2046" height="946" data-path="images/docs/b191d42-turn-on-configuration-in-segment.png" />
</Frame>

APIキーとアプリIDが設定されていない場合は、[OneSignalダッシュボード](https://app.onesignal.com/apps/)に移動してアプリを選択し、**Settings > Keys & IDs**に移動します。「App ID」と「API key」をコピーしてSegment.comに貼り付けます。

#### 複数のSegment.comソース

複数のソースがある場合は、[Segmentの**Personas > Spaces**機能](https://segment.com/docs/personas/#personas-spaces)を利用して、複数のソースを宛先にバインドできます。

### 4. SegmentからOneSignalにデータを送信する

OneSignalはチャネルレベルのレコード（Push/IAM、メール、SMS）を保存します。これらのレコードはOneSignalですでに作成されている必要があり、Segment.comによって送信される`userID`フィールドに一致するように、OneSignalで[外部ID](./users)エイリアスを設定する必要もあります。

<Warning>
  **Segment User ID \<--> OneSignal External ID**マッピングがないレコードはドロップされます。
</Warning>

## ユーザートレイトまたはプロパティ

Segmentですべての顧客タッチポイントにわたってデータを集約し、これらのユーザープロパティをリアルタイムで[データタグ](./add-user-data-tags)としてOneSignalに送信できます。

**注**：OneSignalは、ユーザープロパティとしてネストされたオブジェクトまたは配列を受け入れることができません。

[Identify](https://segment.com/docs/connections/spec/identify) - *SegmentのIdentify call*を使用して送信されたユーザートレイトまたはプロパティは、OneSignalでデータタグとして保存されます。例：

<Frame caption="ユーザーIdentify call例">
  <img src="https://mintcdn.com/onesignal/ciRrThfP6xMpI7GY/images/docs/0209647-Screenshot_2024-05-08_at_11.44.24_AM.png?fit=max&auto=format&n=ciRrThfP6xMpI7GY&q=85&s=423258a2b318e017771eb7a0586a88d9" width="2360" height="632" data-path="images/docs/0209647-Screenshot_2024-05-08_at_11.44.24_AM.png" />
</Frame>

[Track](https://segment.com/docs/connections/spec/track/) - *SegmentのTrack call*を使用して送信されたイベントと関連プロパティについて、OneSignalはすべての*イベントプロパティ*をデータタグとして保存しますが、タグを保存する際に*イベント名*を*ドロップ*します。データタグに*イベント名*を保持したい場合は、OneSignalに送信する前にイベント名をプロパティに追加できます。例：

<CodeGroup>
  ```javascript track example theme={null}
  let timestampInSeconds = Int(NSDate().timeIntervalSince1970).toString()//convert to string since Segment adds decimals to end
  //name will be dropped and only properties will be sent to OneSignal as tag "last opened: timestampInSeconds"
  analytics.track(
    name: "iOS App Last Opened",
    properties: ["last opened": timestampInSeconds]
  )
  ```
</CodeGroup>

<Frame caption="Track callプロパティ例">
  <img src="https://mintcdn.com/onesignal/4HyuQPBpu-4xjmQC/images/docs/ce2b574-Screenshot_2024-05-08_at_11.49.34_AM.png?fit=max&auto=format&n=4HyuQPBpu-4xjmQC&q=85&s=0a32647a69bae9078fa785b6df4a7d24" width="2360" height="632" data-path="images/docs/ce2b574-Screenshot_2024-05-08_at_11.49.34_AM.png" />
</Frame>

<Frame caption="ユーザートレイトとプロパティのインターフェース">
  <img src="https://mintcdn.com/onesignal/jFWn5xzleD8du3j6/images/docs/565e212-user-traits-or-properties.png?fit=max&auto=format&n=jFWn5xzleD8du3j6&q=85&s=a18d3a422c087b32ce05d702b51b2e6b" width="1773" height="1209" data-path="images/docs/565e212-user-traits-or-properties.png" />
</Frame>

## PersonasオーディエンスとComputed Traits

[Persona Audiences](https://segment.com/docs/personas/)は、自動的に[OneSignalのセグメント](./segmentation)として表示されます。

Computed Traitsは、OneSignalユーザーレコードの[データタグ](./add-user-data-tags)として更新されます。

**オーディエンス**

<Frame caption="PersonasオーディエンスとComputed Traitsのインターフェース">
  <img src="https://mintcdn.com/onesignal/9_Q1FZLh6C0BFLq-/images/docs/c494a4b-persona-audience-or-computed-traits.png?fit=max&auto=format&n=9_Q1FZLh6C0BFLq-&q=85&s=2a858790b04fbcbc6676e894efd3254b" width="1773" height="1209" data-path="images/docs/c494a4b-persona-audience-or-computed-traits.png" />
</Frame>

SegmentのTrack callを使用して送信されたオーディエンスは、*オーディエンス名*でOneSignalセグメントを作成します。

SegmentのIdentify callを使用して送信されたオーディエンスは：

* *オーディエンス名*でOneSignalセグメントを作成します
* 一致するすべてのユーザーレコードにデータタグを追加します（Identify callに追加のプロパティがある場合）。

<Frame caption="SegmentからOneSignalで作成されたセグメント">
  <img src="https://mintcdn.com/onesignal/Z6xkXGfmy814If53/images/docs/e5ad7f4-segments-in-onesignal.png?fit=max&auto=format&n=Z6xkXGfmy814If53&q=85&s=21e0f73a8bf21f50311b1c6e11535c51" width="1773" height="1209" data-path="images/docs/e5ad7f4-segments-in-onesignal.png" />
</Frame>

ユーザーがオーディエンスに入るまたは出るたびに、IdentifyおよびTrack callが自動的にOneSignalに送信されます。

**Computed Traits** Personas Computed Traitsは、Identify callまたはTrack callとしてOneSignalに渡されるかどうかに関係なく、OneSignalユーザーレコードの[データタグ](./add-user-data-tags)として保存されます。その後、これらのデータタグを使用して、OneSignalセグメントを手動で作成し、メッセージングワークフローを自動化できます。

***

## メッセージイベント

## イベントの種類

以下は、OneSignalがSegmentに送信するメッセージイベントの種類です

| MessageEvent Kind             | イベントの説明                    |
| ----------------------------- | -------------------------- |
| Push Sent                     | プッシュ通知が正常に送信されました          |
| Push Received                 | プッシュ通知が正常に受信されました          |
| Push Clicked                  | デバイスでプッシュ通知がタップされました       |
| In-App Message Displayed      | アプリ内メッセージがデバイスに正常に表示されました  |
| In-App Message Clicked        | デバイスでアプリ内メッセージがクリックされました   |
| In-App Message Page Displayed | アプリ内メッセージのページが表示されています     |
| Email Sent                    | メールが正常に送信されました             |
| Email Opened                  | 受信者がメールを開封しました             |
| Email Unsubscribed            | 受信者がメールの配信を停止しました          |
| Email Received                | 受信者がメールを受信しました             |
| Email Reported As Spam        | 受信者がメールをスパムとして報告しました       |
| Email Bounced                 | 永続的なエラーのため、メールが送信者に返送されました |
| Email Failed                  | 受信者の受信トレイにメールを配信できませんでした   |
| SMS Sent                      | SMSが受信者に送信されました            |
| SMS Delivered                 | SMSが正常に配信されました             |
| SMS Failed                    | SMSの送信に失敗しました              |

### イベントプロパティ

以下は、OneSignalからSegment.comに送信されるイベントに含まれるプロパティです

| プロパティ名              | 説明                                |
| ------------------- | --------------------------------- |
| `userId`            | メッセージに関連付けられた`external_id`        |
| `anonymousId`       | `subscription_id`                 |
| `messageId`         | 個別メッセージの識別子                       |
| `campaign_id`       | `messageId`と同じ値                   |
| `message_name`      | メッセージ名                            |
| `message_title`     | メッセージタイトル                         |
| `message_contents`  | メッセージの内容                          |
|                     |                                   |
| `subscription_type` | メッセージが送信されたチャネル                   |
| `template_id`       | 使用されたメッセージテンプレート                  |
| `subscription_id`.  | OneSignalが設定したデバイス/メール/SMS識別子     |
| `device_type`       | メッセージを受信したデバイスタイプ                 |
| `language`          | デバイスの2文字言語コード                     |
| `message_type`      | 送信されたメッセージのタイプ（プッシュ、アプリ内、メール、SMS） |

## FAQ

### サブスクリプションイベントはどのように渡せますか？

サブスクリプションイベントは現在自動的に送信されていません。これは、OneSignal SDKのSubscription Observer Methodsを使用して実行できます。詳細については、[サブスクリプション追跡](./analytics-overview#subscription-tracking)を参照してください。

### OneSignalでSegmentの予約済みおよびカスタムユーザープロパティを管理する

* Segmentのすべてのユーザートレイトは、データタグとしてOneSignalに送信されます。OneSignalで許可されるデータタグの数は、OneSignal料金プランによって異なります。許可された数を超えるタグはドロップされます。
* OneSignalは、一致するユーザーのfirstNameとlastNameプロパティを常に更新します。他のすべてのトレイトは、先着順で追加/更新されます。*firstName*と*lastName*タグは「first\_name」と「last\_name」として保存されます。
* 空白/null値でOneSignalに送信されたユーザープロパティは、OneSignalユーザーレコードから削除されます。これは、データタグの制限内に収まるようにするために行われます。

***
