メインコンテンツへスキップ

OneSignal + Amplitude統合の概要

OneSignalをAmplitudeと統合して、詳細なメッセージイベント、カスタムイベントを送信し、行動ベースのユーザーコホートをインポートします。これにより、ユーザーの行動に基づくリアルタイムターゲティングが可能になり、オンボーディング、再エンゲージメント、コンバージョンが向上します。

主なメリット

  • Amplitudeにメッセージイベントを送信:プッシュ、アプリ内、メール、SMS全体で配信、クリック、失敗などを追跡します。
  • OneSignalにカスタムイベントを送信:AmplitudeからカスタムイベントをOneSignalに送信します。
  • Amplitudeからコホートをインポート:行動ベースのコホートを自動的にOneSignalに同期し、ターゲティングのフィルターとして使用します。
これはアプリレベルの統合であり、どのアプリとイベントをリンクするかをきめ細かく制御できます。

要件

この統合はユーザーを作成しません。AmplitudeのユーザーをOneSignalのユーザーにマッピングします。

セットアップ

OneSignalにAmplitudeを追加する

OneSignalで、Data > Integrations > Amplitudeに移動し、Activateをクリックします。

OneSignalのAmplitude統合カード

Amplitudeで:
  1. プロジェクトのAPIキーを見つけて、OneSignalにコピー&ペーストします。
  2. 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でカスタムイベント機能を有効にする必要があります。
AmplitudeからOneSignalにカスタムイベントを送信する場合は、このオプションを有効にします。 OneSignalに送信するAmplitudeイベントを選択します。

OneSignalに送信するAmplitudeイベント

USER IDマッピング

この手順は、コホート同期とイベント追跡が正しく機能するために不可欠です。
両方のシステム間でユーザーを照合するには:
  • 共有識別子を使用する:OneSignalの**External ID**は、選択されたAmplitude User IDプロパティ(user_idなど)と一致する必要があります。
  • 選択したユーザープロパティがAmplitudeとOneSignalのユーザープロファイル全体に存在することを確認します。

追加のプロパティ

カスタムイベントに含まれる追加のプロパティをOneSignalに送信できます。 これは、特定のプロパティが含まれている場合_にのみ_OneSignalでイベントを処理する場合に役立ちます。
完了したらSaveをクリックします。これで、AmplitudeからOneSignalにコホートとカスタムイベントをエクスポートし、OneSignalからAmplitudeにメッセージイベントを収集できるようになりました。

カスタムイベントのテスト

  1. Amplitude > OneSignal Events Destinationで、Test Connectionボタンをクリックします。

Amplitude > OneSignal Events Destination

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

レスポンスの例

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

OneSignalのカスタムイベント

イベントが表示されない場合は、"user_id"がOneSignalアプリ内の既存ユーザーのExternal IDに設定されていることを確認してください。

AmplitudeコホートをOneSignalにエクスポートする

前の手順で説明した一致するUser ID/External IDプロパティを持っている限り、Amplitudeコホート内のユーザーをOneSignal内のユーザーに同期できます。 Amplitudeからユーザーデータをエクスポートしても、OneSignalでユーザーは作成されません。ユーザーはすでに存在し、一致するExternal IDを持っている必要があります。 AmplitudeからOneSignalにユーザーをエクスポートするには:
  1. Amplitudeで、コホートを作成します。Amplitudeのコホートに関するドキュメントを参照してください。
  2. Syncをクリックし、宛先としてOneSignalを選択します。
  3. 同期頻度を選択します。

OneSignalでコホートの同期を設定する方法を示す画像

OneSignal Segmentの作成

  • 同期されたコホートは、OneSignalでAmplitude Segmentフィルターとして表示されます。
  • 以下の条件が満たされている場合、コホート用のSegmentが自動的に作成されます:
    • AmplitudeコホートのユーザーがOneSignalにも一致するExternal IDで存在する。
    • OneSignalのSegment制限を超えていない。
両方の条件が満たされている場合、OneSignalはAmplitude Cohortフィルターとコホートの名前を使用して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 SentSMSが受信者に送信されました
SMS Failed[OneSignal] SMS Failed deliverySMSの送信に失敗しました
SMS Delivered[OneSignal] SMS Confirmed deliveerySMSが正常に配信されました
SMS Undelivered[OneSignal] SMS UndeliveredSMSを送信できませんでした。

イベントプロパティ

これらは、OneSignalからAmplitudeに送信されるすべてのイベントに存在するプロパティです
PROPERTY NAMEDESCRIPTION
Distinct IDメッセージに関連付けられたexternal_id
Message ID個別のメッセージの識別子
Message Nameメッセージ名
Message Titleメッセージタイトル
Message Contentsメッセージコンテンツ
message_type送信されたメッセージのタイプ:プッシュ、アプリ内、メール、SMS
template_id使用されたメッセージテンプレート(APIおよびJourneyメッセージ)
subscription_idOneSignalが設定したデバイス/メール/SMS識別子
device_typeメッセージを受信したデバイスタイプ
languageデバイスの2文字の言語コード
sourceonesignal(すべてのイベントのソースとして示されます)

FAQ

コホートとセグメントの数が一致しないのはなぜですか?

  1. External IDの欠落または不一致 一致するOneSignal External IDとAmplitude User IDを持つユーザーのみが含まれます。この統合はユーザーやサブスクリプションを作成しません。
  2. 登録解除したユーザー OneSignalセグメントは、サブスクライブされたサブスクリプションのカウントのみを表示します。登録解除されたサブスクリプションは、JourneysまたはIn-App Messagesで利用できます。
例えば、Amplitudeコホートに10人のユーザーがいるが、OneSignalセグメントに8つのサブスクリプションが表示されている場合、不足している2人のユーザーは:
  • OneSignalに存在しないか、誤ったExternal IDを持っている。
  • サブスクリプションが登録解除されている。
確認するには、OneSignalのAudience > Usersタブをチェックして、ユーザーが存在し、アクティブなサブスクリプションがあるかどうかを確認してください。

登録解除したユーザーは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に送信するために使用できるイベントリスナーがあります:

OneSignal Subscription IDがAmplitudeにdevice_idとして追加されるのはなぜですか?

Amplitudeは重複排除のためにdevice_idを期待しています。OneSignalはこのためにsubscription_idを使用し、これは自動的にdevice_idにマッピングされます。 詳細については、Amplitudeのドキュメントを参照してください。