
OneSignal + Amplitude統合の概要
主なメリット
- Amplitudeにメッセージイベントを送信:プッシュ、アプリ内、メール、SMS全体で配信、クリック、失敗などを追跡します。
- OneSignalにカスタムイベントを送信:AmplitudeからカスタムイベントをOneSignalに送信します。
- Amplitudeからコホートをインポート:行動ベースのコホートを自動的にOneSignalに同期し、ターゲティングのフィルターとして使用します。
要件
- Amplitudeアカウント
- OneSignal有料プラン
- ユーザーとExternal IDが設定されたOneSignalアプリ。
この統合はユーザーを作成しません。AmplitudeのユーザーをOneSignalのユーザーにマッピングします。
セットアップ
OneSignalにAmplitudeを追加する
OneSignalで、Data > Integrations > Amplitudeに移動し、Activateをクリックします。
OneSignalのAmplitude統合カード
- プロジェクトのAPIキーを見つけて、OneSignalにコピー&ペーストします。
- AmplitudeのEUサーバーを使用している場合は、Send events exclusively to Amplitude’s EU Residency Endpointをチェックします。これは、Amplitude URLで確認できます。
eu.amplitude.comが表示されている場合は、AmplitudeのEUサーバーを使用しています。
メッセージイベントを選択する
Amplitudeに送信するOneSignalメッセージイベントを選択します。完了したら、Activateをクリックします。
OneSignalのAmplitude設定
AmplitudeにOneSignalを追加する
AmplitudeのDestinationsで、OneSignalを検索します。
AmplitudeでOneSignal宛先を追加
- Cohorts:AmplitudeからOneSignalにコホートを同期します。
- Events User Properties:AmplitudeからOneSignalにカスタムイベントを送信します。
- Name:Amplitude内で宛先を識別する方法。
OneSignal - APP_NAMEのように識別可能なものに設定します。ここでAPP_NAMEはOneSignal内のアプリ名です。 - App ID:OneSignalアプリID。OneSignalの**Settings > Keys & IDs**で確認できます。
- API Key:OneSignal APIキー。OneSignalの**Settings > Keys & IDs**で確認できます。
イベントを送信する
ベータ機能。AmplitudeからOneSignalにカスタムイベントを送信するには、OneSignalでカスタムイベント機能を有効にする必要があります。

OneSignalに送信するAmplitudeイベント
USER IDマッピング
この手順は、コホート同期とイベント追跡が正しく機能するために不可欠です。
- 共有識別子を使用する:OneSignalの**External ID**は、選択されたAmplitude User IDプロパティ(user_idなど)と一致する必要があります。
- 選択したユーザープロパティがAmplitudeとOneSignalのユーザープロファイル全体に存在することを確認します。
追加のプロパティ
カスタムイベントに含まれる追加のプロパティをOneSignalに送信できます。 これは、特定のプロパティが含まれている場合_にのみ_OneSignalでイベントを処理する場合に役立ちます。完了したらSaveをクリックします。これで、AmplitudeからOneSignalにコホートとカスタムイベントをエクスポートし、OneSignalからAmplitudeにメッセージイベントを収集できるようになりました。
カスタムイベントのテスト
- Amplitude > OneSignal Events Destinationで、Test Connectionボタンをクリックします。

Amplitude > OneSignal Events Destination
- ペイロード内の
"user_id"が、OneSignalアプリ内の既存ユーザーのExternal IDに設定されていることを確認します。 - Send Test Eventボタンをクリックします
- Responseボックスは空のままで、
"OneSignal has successfully received test event."というメッセージが表示されるはずです。

レスポンスの例
エラーが発生した場合は、OneSignalアプリIDとREST APIキーがAmplitudeに正しく追加されていること、およびアプリがカスタムイベント用に設定されていることを確認してください。
- OneSignalで、Data > Custom Eventsに移動すると、リストにテストイベントが表示されるはずです。

OneSignalのカスタムイベント
イベントが表示されない場合は、
"user_id"がOneSignalアプリ内の既存ユーザーのExternal IDに設定されていることを確認してください。AmplitudeコホートをOneSignalにエクスポートする
前の手順で説明した一致するUser ID/External IDプロパティを持っている限り、Amplitudeコホート内のユーザーをOneSignal内のユーザーに同期できます。 Amplitudeからユーザーデータをエクスポートしても、OneSignalでユーザーは作成されません。ユーザーはすでに存在し、一致するExternal IDを持っている必要があります。 AmplitudeからOneSignalにユーザーをエクスポートするには:- Amplitudeで、コホートを作成します。Amplitudeのコホートに関するドキュメントを参照してください。
- Syncをクリックし、宛先としてOneSignalを選択します。
- 同期頻度を選択します。

OneSignalでコホートの同期を設定する方法を示す画像
OneSignal Segmentの作成
- 同期されたコホートは、OneSignalでAmplitude Segmentフィルターとして表示されます。
- 以下の条件が満たされている場合、コホート用のSegmentが自動的に作成されます:
- AmplitudeコホートのユーザーがOneSignalにも一致するExternal IDで存在する。
- OneSignalのSegment制限を超えていない。

AmplitudeコホートからSegmentを作成する方法
Amplitudeでメッセージイベントを追跡する
接続されると、OneSignalはメッセージイベントをリアルタイムでAmplitudeに送信します。メッセージイベント
これらは、OneSignalがAmplitudeに送信するメッセージイベントの種類です。OneSignal Integrations Settings内で、Amplitudeプロジェクトに送信するイベントを選択できます。| Message Event Kind (OneSignal) | Message Event Name (Amplitude) | Event Description |
|---|---|---|
| Push Sent | [OneSignal] Push Sent | プッシュ通知が正常に送信されました。 |
| Push Received | [OneSignal] Push Confirmed delivery | プッシュ通知が正常に受信されました |
| Push Clicked | [OneSignal] Push Clicked | デバイスでプッシュ通知がタップされました |
| Push Failed | [OneSignal] Push Failed | プッシュの送信に失敗しました。OneSignalの失敗メッセージレポートを確認してください。 |
| Push Unsubscribed | [OneSignal] Push Unsubscribed | サブスクリプションがプッシュから登録解除されました。 |
| In-App Impression | [OneSignal] IAM Displayed | アプリ内メッセージがデバイスに正常に表示されました |
| In-App Clicked | [OneSignal] IAM Clicked | デバイスでアプリ内メッセージがクリックされました |
| In-App Page Displayed | [OneSignal] IAM Page Displayed | アプリ内メッセージのページが表示されました |
| Email Sent | [OneSignal] Email Sent | メールが正常に送信されました |
| Email Received | [OneSignal] Email Confirmed delivery | 受信者がメールを受信しました |
| Email Opened | [OneSignal] Email Opened | 受信者がメールを開封しました |
| Email Link Clicked | [OneSignal] Email Clicked | メールリンクがクリックされました |
| Email Unsubscribed | [OneSignal] Email Unsubscribed | 受信者がメールの登録を解除しました |
| Email Reported As Spam | [OneSignal] Email Reported As SPAM | 受信者がメールをスパムとして報告しました |
| Email Bounced | [OneSignal] Email Hard Bounced | 永続的なエラーによりメールが送信者に返送されました |
| Email Failed | [OneSignal] Email Failed delivery | 受信者の受信トレイにメールを配信できませんでした |
| Email Suppressed | [OneSignal] Email Not delivering to suppressed email address | 受信者が送信元のメールアドレスを抑制していたため、メールが配信されませんでした |
| SMS Sent | [OneSignal] SMS Sent | SMSが受信者に送信されました |
| SMS Failed | [OneSignal] SMS Failed delivery | SMSの送信に失敗しました |
| SMS Delivered | [OneSignal] SMS Confirmed deliveery | SMSが正常に配信されました |
| SMS Undelivered | [OneSignal] SMS Undelivered | SMSを送信できませんでした。 |
イベントプロパティ
これらは、OneSignalからAmplitudeに送信されるすべてのイベントに存在するプロパティです| PROPERTY NAME | DESCRIPTION |
|---|---|
| Distinct ID | メッセージに関連付けられたexternal_id |
| Message ID | 個別のメッセージの識別子 |
| Message Name | メッセージ名 |
| Message Title | メッセージタイトル |
| Message Contents | メッセージコンテンツ |
| message_type | 送信されたメッセージのタイプ:プッシュ、アプリ内、メール、SMS |
| template_id | 使用されたメッセージテンプレート(APIおよびJourneyメッセージ) |
| subscription_id | OneSignalが設定したデバイス/メール/SMS識別子 |
| device_type | メッセージを受信したデバイスタイプ |
| language | デバイスの2文字の言語コード |
| source | onesignal(すべてのイベントのソースとして示されます) |
FAQ
コホートとセグメントの数が一致しないのはなぜですか?
- External IDの欠落または不一致 一致するOneSignal External IDとAmplitude User IDを持つユーザーのみが含まれます。この統合はユーザーやサブスクリプションを作成しません。
- 登録解除したユーザー OneSignalセグメントは、サブスクライブされたサブスクリプションのカウントのみを表示します。登録解除されたサブスクリプションは、JourneysまたはIn-App Messagesで利用できます。
- OneSignalに存在しないか、誤ったExternal IDを持っている。
- サブスクリプションが登録解除されている。
登録解除したユーザーはAmplitudeから同期されますか?
はい、ただし現時点ではOneSignalセグメントカウントから除外されます。他のサブスクリプションがある場合、またはサブスクリプションタイプがサポートしている場合は、JourneysまたはIn-appメッセージを介してメッセージを送信できます。配信データが一致しないのはなぜですか?
1人のユーザーは複数のサブスクリプション(プッシュデバイス、メールアドレス、電話番号)を持っている場合があります。各サブスクリプションは独自の配信イベントを生成します。例えば:- 1ユーザー = 2 Android + 1 iOS + 2 Web = 5つのプッシュサブスクリプション
- 1つのプッシュメッセージ = 最大5つの送信/受信/クリックイベント
subscription_idを使用して、正確なソースを追跡します。
不足しているイベントのトラブルシューティング:
- ユーザーが識別されるたびに
OneSignal.loginが呼び出されて、External IDが設定されることを確認します。 OneSignal.logoutがExternal IDを削除していないことを確認します。- External IDを変更する可能性のあるAPIリクエストまたはCSVアップロードを確認します。
ユーザー/サブスクリプションイベントを送信するにはどうすればよいですか?
ユーザーおよびサブスクリプションレベルのイベント(例:権限の付与、ユーザーのログイン/ログアウト)は自動的には送信されません。 OneSignal SDKには、これらのイベントを追跡してAmplitudeに送信するために使用できるイベントリスナーがあります:- User State Observer:Mobile SDK、Web SDK
- Permission Observer:Mobile SDK、Web SDK
OneSignal Subscription IDがAmplitudeにdevice_idとして追加されるのはなぜですか?
Amplitudeは重複排除のためにdevice_idを期待しています。OneSignalはこのためにsubscription_idを使用し、これは自動的にdevice_idにマッピングされます。
詳細については、Amplitudeのドキュメントを参照してください。