カスタムイベントとは?
カスタムイベントとは、OneSignalに送信する名前付きのユーザーアクション(または非アクション)です。アプリ、ウェブサイト、または外部システムからイベントを送信することで、自動化のトリガー、Journeyフローの制御、リアルタイムでのユーザー体験のパーソナライズが可能になります。 例:- オンボーディング完了
- 購入完了
- カート放棄
- サブスクリプションキャンセル
- 新しいゲームレベル到達
- Journeyを開始する
- Wait Untilステップでジャーニーを続行する
- ユーザーをJourneyから退出させる
- イベントプロパティを使用してメッセージをパーソナライズする
- コンバージョンを測定し、それをもたらしたメッセージに帰属させる
- 行動に基づいてユーザーをセグメント化する(Early Access)
カスタムイベントを使用すべきタイミング
カスタムイベントを使用する場合:- リアルタイムのユーザー行動に応じてメッセージングを行う必要がある場合
- データが(永続的な状態ではなく)発生した出来事を表す場合
- パーソナライズやJourneyロジックにイベントプロパティが必要な場合
- 長期的なユーザー属性を保存したい場合(代わりにタグを使用してください)
カスタムイベントの構造
カスタムイベントには以下のフィールドが含まれます:string
必須
イベント名。最大
512バイト。名前はバイト数で計測されるため、マルチバイト文字で構成された名前は、文字数から想定されるよりも早く上限に達します。object
イベントを説明するオプションのパラメータ(例:プラン名、製品ID、価格)。パーソナライズやJourneyフロー制御に使用できます。
string
ユーザーのExternal ID。Create Custom Events APIを使用する場合、ユーザー識別子が必要です。
external_idまたはonesignal_idのいずれかを指定する必要があります。string
イベントが発生した(または発生する)時刻。ISO 8601形式の文字列。Create Custom Events APIを参照してください。
string
重複イベント処理を防止するための一意のUUID。Create Custom Events APIを参照してください。
イベント名の上限
各アプリは最大1,000個の一意のカスタムイベント名を送信できます。アプリが既に使用している名前で送信されたイベントは常に受け入れられるため、上限に達しても既存のイベント送信が中断されることはありません。 アプリが1,000個の名前に達すると、新しい名前で送信されたイベントは拒否されます。OneSignalはリクエスト全体ではなく個々のイベントを拒否するため、同じバッチ内の他のイベントは通常どおり処理されます。APIはerrors配列を含むHTTP 202を返し、拒否された各イベントにはエラーコードtoo many event namesが付与されます。
拒否されたイベントは保存されず、課金されず、Journeyのトリガー、メッセージのパーソナライズ、セグメントでの使用もできません。ただし、Data > Events & Conversionsには、失敗理由「This app has reached its limit of unique event names」とともに失敗として表示されるため、どの名前が拒否されたかを確認できます。
空きを作るには、使用しなくなったカスタムイベント名を削除してください。名前を削除するとそのスロットが解放され、その名前で保存されているイベントは完全に削除されます。
Custom Eventsページは、イベントが拒否される前に、アプリが900個の一意のイベント名を超えた時点で警告を表示します。
上限に達しないようにイベントに名前を付ける
イベント名は何が起こったかを表します。変動する値はすべてプロパティに含めるべきです。ID、価格、その他の可変値を名前に含めると、送信のたびに新しい一意の名前が作成され、1,000個の上限をすぐに使い果たしてしまいます。イベント名を削除してスロットを解放する
カスタムイベント名を削除するとそのスロットが解放され、その名前で保存されているイベントは完全に削除されます。この操作は元に戻せません。
1
使用しなくなったイベントを見つける
Data > Events & Conversionsに移動し、Event Listタブを開きます。イベントを選択して詳細ビューを開きます。Usageパネルには、そのイベントを参照しているすべてのJourneyとセグメントが表示され、最終発生タイムスタンプでイベントがまだ到着しているかどうかを確認できます。
2
まだ使用しているものからイベントを削除する
Usageに表示されているイベントは稼働中です。先にそれらのJourneyとセグメントを更新または削除してください。そうしないと、名前の削除がそれらの動作に影響します。
3
名前を削除する
イベント名の横にある行メニューを開いてDeleteを選択し、確認します。カスタムイベントを削除するには権限が必要です。オプションが表示されない場合は、その権限を持つロールを付与されたアカウント上の担当者に依頼してください。
4
ページを更新する
削除はバックグラウンドで実行され、数分かかる場合があります。ページは自動的に更新されないため、Refresh Listを選択して名前が削除され、スロットが解放されたことを確認してください。
カスタムイベントをOneSignalに送信する
すべてのイベントは、ソースに関係なく、課金目的では同じように扱われます。
APIとSDK
Create Custom Events API
バックエンドからイベントを送信します。
Mobile/Web SDKs
クライアント側でイベントをトラッキングします。
JSON
統合
OneSignalは、データウェアハウス、データベース、ストリーミングプラットフォームを含む25以上の外部データソースに接続してカスタムイベントをインポートします。カスタムコードは不要です。Twilio Segment
SegmentとOneSignal間でイベントとオーディエンスをルーティングします。
Amplitude
コホートを同期し、Amplitudeからカスタムイベントをインポートします。
Snowflake
Snowflakeウェアハウスからカスタムイベントをインポートします。
Google BigQuery
BigQueryデータセットからカスタムイベントをインポートします。
Apache Kafka
Kafkaトピックからカスタムイベントをストリームします。
すべてのカスタムイベントソースを見る
OneSignalにカスタムイベントをインポートするデータベース、ウェアハウス、ストリーミングプラットフォームの完全なリストを確認します。
イベントの受信を確認する
イベント送信後、Data > Events & ConversionsでOneSignalに到達していることを確認します。Event Listタブ

OneSignalダッシュボードのData > Events & ConversionsのEvent Listタブ
- 取り込まれたイベントの合計数
- 最新のイベント(完全なJSONペイロードとプロパティ付き)
- イベントソース(SDK、API、または統合)
- 最終発生タイムスタンプ
- ソース内訳:ソース別に取り込まれたイベント数。展開すると、最新のイベントスキーマと最新イベントのタイムスタンプを確認できます。
- アクティビティ:最新10件のイベント(ソースとタイムスタンプ付き)。各エントリを展開して完全なJSONペイロードを確認できます。
- 使用状況:イベントが現在使用されている場所(Journeysまたはセグメント)。関連するJourneyやセグメントに直接クリックして設定を変更できます。
Event Activityタブ

OneSignalダッシュボードのData > Events & ConversionsのEvent Activityタブ
- イベント名、ソース、またはExternal IDでフィルター
- 完全なJSONペイロードの確認
- 統合の問題のデバッグ
カスタムイベントは、Custom Eventsページには即座に表示されます。ただし、ユーザープロファイルの Activity Timeline > Custom Events にイベントが表示されるまで、最大5分かかる場合があります。これは、Custom Eventsページが直近の取り込みを反映しているのに対し、ユーザープロファイルは長期ストレージによって提供されているためです。
OneSignalでカスタムイベントを使用する
イベントがOneSignalに流入し始めたら、以下の方法で使用できます:Journeyのエントリールールとエグジットルールをトリガーする
カスタムイベントをJourneyのエントリールールまたはエグジットルールとして設定し、イベント発生時にユーザーを即座に追加または削除します。 例:signup_completed→ オンボーディングを開始、またはトライアル促進Journeyから削除purchase→ 確認とクロスセルを送信、またはカート放棄Journeyから削除
Journeyの設定
カスタムイベントでユーザーをJourneyに追加します。
Journeyフローの制御(Wait Until)
Wait Untilステップを使用して、カスタムイベントが発生するまでユーザーを保留します。 例:added_to_cartの後にpurchaseを待つ
有効期限ウィンドウを定義できます。ユーザーが時間内にイベントをトリガーしない場合、フォールバックメッセージを送信するかJourneyを終了できます。
JourneyのWait Untilステップ
カスタムイベントが発生するまでユーザーを保留します。
イベントプロパティでJourneyをパーソナライズする
JourneyテンプレートでLiquidを使用してイベントプロパティを参照します。 例:Liquid
カスタムイベントパーソナライゼーション
イベントプロパティを使用してJourneyをパーソナライズする完全ガイド。
コンバージョンを測定する
カスタムイベントをコンバージョン指標として定義し、メッセージングのビジネスインパクトを測定します。OneSignalは、クロスチャネルのラストタッチアトリビューションモデルを使用して、コンバージョンをもたらしたプッシュ、メール、SMS、アプリ内、RCSメッセージにコンバージョンを帰属させます。 これは Settings > Analytics > Conversion Metrics で設定し、イベントの測定方法を選択します:- Count は、イベントの発生回数を追跡します(例:15回の購入)。
- Value は、数値のイベントプロパティを合計します(例:
priceプロパティによる$1,250の収益)。
イベントがコンバージョンとしてカウントされるかどうかは、保持期間の設定とは独立しています。イベントが保存されないように保持期間が設定されている場合でも、イベントはコンバージョン指標にカウントされます。
コンバージョン指標
アトリビューションウィンドウ、アトリビューションモデル、設定手順。
カスタムイベントでユーザーをセグメント化する
カスタムイベントの発生に基づいてセグメントを作成します。カスタムイベントセグメンテーションはEarly Accessです。アクセスをリクエストするには、以下の情報を添えて
support@onesignal.comにメールしてください:- 会社名
- OneSignal App ID(s)
セグメンテーション
セグメンテーションの完全ガイド。
プランの利用可能性と保持コスト
カスタムイベントは、すべての有料プランで利用できます。イベントの送信は無料です。OneSignalは、保存されたイベントに対してのみ課金します。保存は、セグメントとユーザープロファイルに必要なものです。カスタムイベントの保存と保持
保存を有効にし、イベントごとに保持期間を設定し、保存したイベントを管理します。
課金FAQ
イベントの保存が請求書にどのように表示されるか。
タグとカスタムイベントの比較
TagsとCustom Eventsは、どちらもユーザーにデータを追加する方法です。ただし、いくつかの重要な違いがあります:
TagsとCustom Eventsの主な違いは、その深さとユースケースにあります。Tagsはユーザーのプロパティであり、名前、アカウントステータス、場所などです。Eventsはユーザーが行ったことであり、アイテムの購入、レベルの完了、友達の招待などです。tagsとeventsの両方は、セグメンテーションとパーソナライゼーションに使用できます。
実際には、両方を使用する可能性が高いです:
- 静的であまり変更されないユーザープロパティにはTags
- リアルタイムシナリオ、複雑なセグメンテーション、より洗練されたジャーニーワークフローにはCustom Events