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

# カスタムイベント

> カスタムイベントでユーザー行動を追跡し、Journeysのトリガー、Wait Untilステップによるフロー制御、リアルタイムのメッセージパーソナライズに活用できます。

## カスタムイベントとは？

カスタムイベントとは、OneSignalに送信する名前付きのユーザーアクション（または非アクション）です。アプリ、ウェブサイト、または外部システムからイベントを送信することで、自動化のトリガー、Journeyフローの制御、リアルタイムでのユーザー体験のパーソナライズが可能になります。

**例：**

* オンボーディング完了
* 購入完了
* カート放棄
* サブスクリプションキャンセル
* 新しいゲームレベル到達

**OneSignalがカスタムイベントを受信すると、以下のことができます：**

* Journeyを開始する
* Wait Untilステップでジャーニーを続行する
* ユーザーをJourneyから退出させる
* イベントプロパティを使用してメッセージをパーソナライズする
* 行動に基づいてユーザーをセグメント化する（Early Access）

### カスタムイベントを使用すべきタイミング

カスタムイベントを使用する場合：

* リアルタイムのユーザー行動に応じてメッセージングを行う必要がある場合
* データが（永続的な状態ではなく）発生した出来事を表す場合
* パーソナライズやJourneyロジックにイベントプロパティが必要な場合

カスタムイベントを使用しない場合：

* 長期的なユーザー属性を保存したい場合（代わりにタグを使用してください）

<Warning>
  カスタムイベントは、特定の時点で発生した出来事を表します。タグとは異なり、ユーザーのプロファイルを永続的に更新するのではなく、行動を記録します。

  詳細な比較については、以下の[タグとカスタムイベントの比較](#tags-vs-custom-events)を参照してください。
</Warning>

### カスタムイベントの構造

カスタムイベントには以下のフィールドが含まれます：

<ParamField body="name" type="string" required>
  イベント名。最大`128`文字。
</ParamField>

<ParamField body="properties" type="object">
  イベントを説明するオプションのパラメータ（例：プラン名、製品ID、価格）。パーソナライズやJourneyフロー制御に使用できます。
</ParamField>

<ParamField body="external_id" type="string">
  ユーザーのExternal ID。[Create Custom Events API](/reference/create-custom-events)を使用する場合、ユーザー識別子が必要です。`external_id`または`onesignal_id`のいずれかを指定する必要があります。
</ParamField>

<ParamField body="timestamp" type="string">
  イベントが発生した（または発生する）時刻。ISO 8601形式の文字列。[Create Custom Events API](/reference/create-custom-events)を参照してください。
</ParamField>

<ParamField body="idempotency_key" type="string">
  重複イベント処理を防止するための一意のUUID。[Create Custom Events API](/reference/create-custom-events)を参照してください。
</ParamField>

<Warning>
  イベントサイズの制限：

  * 最大イベントペイロード：2024バイト
  * 最大リクエストサイズ（複数イベント）：1 MB
</Warning>

***

## カスタムイベントをOneSignalに送信する

<Info>
  すべてのイベントは、ソースに関係なく、課金目的では同じように扱われます。
</Info>

### APIとSDK

<Columns cols={2}>
  <Card title="Create Custom Events API" icon="server" href="/reference/create-custom-events">
    バックエンドからイベントを送信します。
  </Card>

  <Card title="Mobile/Web SDKs" icon="mobile" href="./mobile-sdk-reference#custom-events">
    クライアント側でイベントをトラッキングします。
  </Card>
</Columns>

カスタムイベントペイロードの例：

```json JSON theme={null}
{
  "events": [
    {
      "name": "purchase",
      "properties": {
        "item": "T-shirt",
        "size": "small",
        "color": "blue",
        "price": 24.99
      },
      "external_id": "user_12345",
      "timestamp": "2025-10-21T19:09:32.263Z",
      "idempotency_key": "123e4567-e89b-12d3-a456-426614174000"
    }
  ]
}
```

### 統合

OneSignalは25以上の外部データソースに接続してカスタムイベントをインポートします——データウェアハウス、データベース、ストリーミングプラットフォームを含む——カスタムコード不要。

<Columns cols={3}>
  <Card title="Twilio Segment" icon="share-nodes" href="./segment-onesignal-integration">
    SegmentとOneSignal間でイベントとオーディエンスをルーティングします。
  </Card>

  <Card title="Amplitude" icon="chart-line" href="./amplitude">
    コホートを同期し、Amplitudeからカスタムイベントをインポートします。
  </Card>

  <Card title="Mixpanel" icon="chart-mixed" href="./mixpanel">
    コホートを同期し、Mixpanelからカスタムイベントをインポートします。
  </Card>

  <Card title="Snowflake" icon="snowflake" href="./snowflake">
    Snowflakeウェアハウスからカスタムイベントをインポートします。
  </Card>

  <Card title="Google BigQuery" icon="database" href="./bigquery">
    BigQueryデータセットからカスタムイベントをインポートします。
  </Card>

  <Card title="Apache Kafka" icon="bolt" href="./kafka">
    Kafkaトピックからカスタムイベントをストリームします。
  </Card>
</Columns>

<Card title="すべてのカスタムイベントソースを見る" icon="grid-2" href="./integrations#custom-event-sources">
  OneSignalにカスタムイベントをインポートするデータベース、ウェアハウス、ストリーミングプラットフォームの完全なリストを確認します。
</Card>

<Tip>
  **開発者リソースがありませんか？** [Google Sheets](./google-sheets) スプレッドシートからカスタムイベントを直接インポートできます——コード不要。イベントデータをシートに追加すると、OneSignalが自動的にインポートします。初期実験やエンジニアリングサポートのないチームに最適です。
</Tip>

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

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

#### Event Listタブ

<Frame caption="OneSignalダッシュボードのData > Custom EventsのEvent Listタブ">
  <img src="https://mintcdn.com/onesignal/MWGmj5X1CnFliD-c/images/dashboard/event-list.png?fit=max&auto=format&n=MWGmj5X1CnFliD-c&q=85&s=2b9cae667bed4b54974326ffa0830907" width="3302" height="1888" data-path="images/dashboard/event-list.png" />
</Frame>

Event Listタブは、アプリ内のすべてのカスタムイベントをイベント名ごとに整理した概要を提供します。

各イベントタイプについて、以下を確認できます：

* 取り込まれたイベントの合計数
* 最新のイベント（完全なJSONペイロードとプロパティ付き）
* イベントソース（SDK、API、または統合）
* 最終発生タイムスタンプ

イベントを選択すると詳細ビューが開き、保持期間の更新も可能です。

詳細ビューには以下が含まれます：

* **ソース内訳**：ソース別に取り込まれたイベント数。展開すると、最新のイベントスキーマと最新イベントのタイムスタンプを確認できます。
* **アクティビティ**：最新10件のイベント（ソースとタイムスタンプ付き）。各エントリを展開して完全なJSONペイロードを確認できます。
* **使用状況**：イベントが現在使用されている場所（Journeysまたはセグメント）。関連するJourneyやセグメントに直接クリックして設定を変更できます。

#### Event Activityタブ

<Frame caption="OneSignalダッシュボードのData > Custom EventsのEvent Activityタブ">
  <img src="https://mintcdn.com/onesignal/MWGmj5X1CnFliD-c/images/dashboard/event-activity.png?fit=max&auto=format&n=MWGmj5X1CnFliD-c&q=85&s=8e355c907b598f1ac5a446e3536b9eea" width="3302" height="1888" data-path="images/dashboard/event-activity.png" />
</Frame>

Event Activityタブは、OneSignalアプリに取り込まれた最新のイベントのライブフィードを提供します。

以下の目的で使用します：

* イベント名、ソース、またはExternal IDでフィルター
* 完全なJSONペイロードの確認
* 統合の問題のデバッグ

<Warning>フィードは自動更新されません。新しいイベントを送信した後は手動で更新してください。</Warning>

***

## OneSignalでカスタムイベントを使用する

イベントがOneSignalに流入し始めたら、以下の方法で使用できます：

### Journeyのエントリールールとエグジットルールをトリガーする

カスタムイベントをJourneyのエントリールールまたはエグジットルールとして設定し、イベント発生時にユーザーを即座に追加または削除します。

例：

* `signup_completed` → オンボーディングを開始、またはトライアル促進Journeyから削除
* `purchase` → 確認とクロスセルを送信、またはカート放棄Journeyから削除

<Card title="Journeyの設定" icon="gear" href="./journeys-settings#entry-rules">
  カスタムイベントでユーザーをJourneyに追加します。
</Card>

### Journeyフローの制御（Wait Until）

Wait Untilステップを使用して、カスタムイベントが発生するまでユーザーを保留します。

例：

* `added_to_cart`の後に`purchase`を待つ

<Info>有効期限ウィンドウを定義できます。ユーザーが時間内にイベントをトリガーしない場合、フォールバックメッセージを送信するかJourneyを終了できます。</Info>

<Card title="JourneyのWait Untilステップ" icon="stopwatch" href="./journeys-actions#wait-until">
  カスタムイベントが発生するまでユーザーを保留します。
</Card>

### イベントプロパティでJourneyをパーソナライズする

JourneyテンプレートでLiquidを使用してイベントプロパティを参照します。

例：

```liquid Liquid theme={null}
Thanks for purchasing {{ journey.first_event.properties.item }}!
```

<Card title="カスタムイベントパーソナライゼーション" icon="bolt" href="./personalization-custom-event">
  イベントプロパティを使用してJourneyをパーソナライズする完全ガイド。
</Card>

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

カスタムイベントの発生に基づいてセグメントを作成します。

<Note>
  カスタムイベントセグメンテーションはEarly Accessです。

  アクセスをリクエストするには、以下の情報を添えて`support@onesignal.com`にメールしてください：

  * 会社名
  * OneSignal App ID(s)
</Note>

<Warning>
  現在の制限事項：

  * Email Warm UpおよびA/Bテストでは使用できません
  * Journeyを強化することはできません
  * 他のセグメントフィルターと組み合わせることはできません
</Warning>

<Card title="セグメンテーション" icon="filter" href="./segmentation">
  セグメンテーションの完全ガイド。
</Card>

***

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

カスタムイベントは、すべての有料プランで利用できます。

<Card title="課金に関するFAQ" icon="receipt" href="./billing-faq#streaming-events">
  イベントの保持と料金について。
</Card>

***

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

[Tags](/docs/ja/add-user-data-tags)と[Custom Events](/docs/ja/custom-events)は、どちらもユーザーにデータを追加する方法です。ただし、いくつかの重要な違いがあります：

| 機能      |              Tags             |                         Custom Events                        |
| ------- | :---------------------------: | :----------------------------------------------------------: |
| データ使用   |     セグメンテーションとパーソナライゼーション     | セグメントなしでJourneysをトリガー、Wait Untilステップ、Journeys内で直接パーソナライゼーション |
| データ保持期間 |               永久              | 30日以上（[永久ストレージが利用可能](/docs/ja/billing-faq#streaming-events)） |
| データ形式   |        キーバリューの文字列または数値        |                             JSON                             |
| データソース  | OneSignal SDK、API、または統合（制限あり） |                    OneSignal SDK、API、または統合                   |
| データアクセス |   セグメンテーションとメッセージパーソナライゼーション  |    JourneysとJourneyメッセージテンプレートのパーソナライゼーション、セグメンテーション（近日公開）   |

TagsとCustom Eventsの主な違いは、その深さとユースケースにあります。Tagsはユーザーのプロパティであり、名前、アカウントステータス、場所などです。Eventsはユーザーが行ったことであり、アイテムの購入、レベルの完了、友達の招待などです。tagsとeventsの両方は、セグメンテーションとパーソナライゼーションに使用できます。

実際には、両方を使用する可能性が高いです：

* 静的であまり変更されないユーザープロパティにはTags
* リアルタイムシナリオ、複雑なセグメンテーション、より洗練されたジャーニーワークフローにはCustom Events

***
