Skip to main content

カスタムイベントとは?

カスタムイベントとは、OneSignalに送信する名前付きのユーザーアクション(または非アクション)です。アプリ、ウェブサイト、または外部システムからイベントを送信することで、自動化のトリガー、Journeyフローの制御、リアルタイムでのユーザー体験のパーソナライズが可能になります。 例:
  • オンボーディング完了
  • 購入完了
  • カート放棄
  • サブスクリプションキャンセル
  • 新しいゲームレベル到達
OneSignalがカスタムイベントを受信すると、以下のことができます:
  • 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を参照してください。
イベントサイズの制限:
  • 最大イベントペイロード:2024バイト
  • 最大リクエストサイズ(複数イベント):1 MB

イベント名の上限

各アプリは最大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個の一意のイベント名を超えた時点で警告を表示します。
名前の上限は、OneSignalが各イベントを保持する期間とは別のものです。保持期間についてはカスタムイベントの保存と保持を参照してください。

上限に達しないようにイベントに名前を付ける

イベント名は何が起こったかを表します。変動する値はすべてプロパティに含めるべきです。ID、価格、その他の可変値を名前に含めると、送信のたびに新しい一意の名前が作成され、1,000個の上限をすぐに使い果たしてしまいます。
プロパティは、Journeys、コンバージョン、セグメントで利用できます。

イベント名を削除してスロットを解放する

カスタムイベント名を削除するとそのスロットが解放され、その名前で保存されているイベントは完全に削除されます。この操作は元に戻せません。
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にカスタムイベントをインポートするデータベース、ウェアハウス、ストリーミングプラットフォームの完全なリストを確認します。
開発者リソースがありませんか? Google Sheets スプレッドシートから、コード不要でカスタムイベントを直接インポートできます。イベントデータをシートに追加すると、OneSignalが自動的にインポートします。初期実験やエンジニアリングサポートのないチームに最適です。

イベントの受信を確認する

イベント送信後、Data > Events & ConversionsでOneSignalに到達していることを確認します。

Event Listタブ

OneSignalダッシュボードのData > Events & ConversionsのEvent Listタブ

Event Listタブは、アプリ内のすべてのカスタムイベントをイベント名ごとに整理した概要を提供します。 各イベントタイプについて、以下を確認できます:
  • 取り込まれたイベントの合計数
  • 最新のイベント(完全なJSONペイロードとプロパティ付き)
  • イベントソース(SDK、API、または統合)
  • 最終発生タイムスタンプ
イベントを選択すると詳細ビューが開き、保持期間の更新も可能です。 詳細ビューには以下が含まれます:
  • ソース内訳:ソース別に取り込まれたイベント数。展開すると、最新のイベントスキーマと最新イベントのタイムスタンプを確認できます。
  • アクティビティ:最新10件のイベント(ソースとタイムスタンプ付き)。各エントリを展開して完全なJSONペイロードを確認できます。
  • 使用状況:イベントが現在使用されている場所(Journeysまたはセグメント)。関連するJourneyやセグメントに直接クリックして設定を変更できます。

Event Activityタブ

OneSignalダッシュボードのData > Events & ConversionsのEvent Activityタブ

Event Activityタブは、OneSignalアプリに取り込まれた最新のイベントのライブフィードを提供します。 以下の目的で使用します:
  • イベント名、ソース、または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の収益)。
コンバージョンは、グローバルコンバージョンダッシュボードと、メッセージ、テンプレート、Journeyのレポートに表示されます。
イベントがコンバージョンとしてカウントされるかどうかは、保持期間の設定とは独立しています。イベントが保存されないように保持期間が設定されている場合でも、イベントはコンバージョン指標にカウントされます。

コンバージョン指標

アトリビューションウィンドウ、アトリビューションモデル、設定手順。

カスタムイベントでユーザーをセグメント化する

カスタムイベントの発生に基づいてセグメントを作成します。
カスタムイベントセグメンテーションはEarly Accessです。アクセスをリクエストするには、以下の情報を添えてsupport@onesignal.comにメールしてください:
  • 会社名
  • OneSignal App ID(s)
現在の制限事項:
  • Email Warm UpおよびA/Bテストでは使用できません
  • カスタムイベントセグメントはユーザーベースです。それ自体がユーザーベースであるJourneys以外でメッセージを送信する際、包含または除外のためにサブスクリプションベースのセグメントと組み合わせることはできません。
  • 時間ベースのフィルター(「過去X日以内に発生した」)は、イベントが元々発生した時刻ではなく、OneSignalがイベントを受信した時刻を参照します。 過去のイベントをインポートしていて、元のイベント時刻でセグメント化する必要がある場合は、タグを使用してイベント時刻をUnixタイムスタンプとして保存してください。 タグフィルターは、動的な時間ベースの比較のための「Time Elapsed」演算子をサポートしています。タグはユーザーレベルであるため、最新の値のみが保存されることに注意してください。

セグメンテーション

セグメンテーションの完全ガイド。

プランの利用可能性と保持コスト

カスタムイベントは、すべての有料プランで利用できます。イベントの送信は無料です。OneSignalは、保存されたイベントに対してのみ課金します。保存は、セグメントとユーザープロファイルに必要なものです。

カスタムイベントの保存と保持

保存を有効にし、イベントごとに保持期間を設定し、保存したイベントを管理します。

課金FAQ

イベントの保存が請求書にどのように表示されるか。

タグとカスタムイベントの比較

TagsCustom Eventsは、どちらもユーザーにデータを追加する方法です。ただし、いくつかの重要な違いがあります: TagsとCustom Eventsの主な違いは、その深さとユースケースにあります。Tagsはユーザーのプロパティであり、名前、アカウントステータス、場所などです。Eventsはユーザーが行ったことであり、アイテムの購入、レベルの完了、友達の招待などです。tagsとeventsの両方は、セグメンテーションとパーソナライゼーションに使用できます。 実際には、両方を使用する可能性が高いです:
  • 静的であまり変更されないユーザープロパティにはTags
  • リアルタイムシナリオ、複雑なセグメンテーション、より洗練されたジャーニーワークフローにはCustom Events