メインコンテンツへスキップ
パーソナライゼーションを使用すると、ユーザーの名前、カート内の商品、アカウント残高、予約詳細、ワンタイムパスワードなどの動的データを含むメッセージを送信できます。 このガイドでは、以下の基準に基づいて適切なパーソナライゼーション方法を選択する方法を説明します:
  • データがどこにあるか
  • データを永続化する必要があるか
  • メッセージがどのようにトリガーされるか

パーソナライゼーションの仕組み

OneSignalのパーソナライゼーションは2つの要素で構成されます:
  1. Liquid構文 — メッセージ内で値がどのようにレンダリングされるかを定義します
  2. データソース — 値がどこから取得されるかを決定します
送信時に、OneSignalは選択されたデータソースを使用してLiquid変数を解決します。
Liquidはフォーマットとロジック(変数、ループ、条件文)を制御します。データソースはどの値が利用可能かを決定します。
例:
Liquid
Hi {{ user.tags.first_name }},

Your verification code is {{ message.custom_data.otp }}.
  • user.tags.first_name は保存されたプロパティです
  • message.custom_data.otp はAPI の custom_data フィールドを介して渡されます

データソースの比較

以下が必要な場合…
  • 保存されたユーザーデータを再利用する → プロパティ
  • Journey内で行動に基づいてパーソナライズする → Custom Events
  • ワンタイムまたは機密性の高い値を送信する → API custom_data
  • 配信時にバックエンドのライブデータを取得する → Data Feeds
  • ダッシュボードから一括パーソナライゼーションをアップロードする → 動的コンテンツCSV
避けるべきよくある間違い
  • OTPや認証コードなどのワンタイムの値にプロパティ(Tags)を使用する
  • custom_dataがJourneysや将来のメッセージで利用できると期待する
  • Custom EventsのプロパティがイベントトリガーのジャーニーエントリーやWait Untilステップ以外で利用できると想定する
  • めったに変更されない静的データにData Feedsを使用する

データソース

Data Feeds

Data Feedsは送信時にAPIを呼び出し、レスポンスをメッセージに注入します。 Data Feedsを使用するタイミング:
  • 配信時に最新の値が必要な場合
  • データがバックエンドにある場合
  • 送信ごとに値が変わる可能性がある場合

Data Feeds

送信時にバックエンドのリアルタイムデータをメッセージに取り込みます。

Custom Events

Custom Eventsは、イベントプロパティを使用してJourneys内のメッセージをパーソナライズできます。 イベントがJourneyを開始する場合、またはWait Until条件に一致する場合、OneSignalはそのイベントを保存し、Liquidを使用してメッセージテンプレートでプロパティを参照できるようにします。 Custom Eventsを使用するタイミング:
  • Journeysを使用したイベントトリガーメッセージ
  • メッセージがイベント固有のデータを反映する必要がある場合
Journeyエントリーまたは Wait Until ステップをトリガーするイベントのみがパーソナライゼーション用に保存されます。それ以外のタイミングで送信されたイベントは、Journeyメッセージでは利用できません。

Custom Eventsパーソナライゼーション

Journeysでイベントプロパティを使用するための完全ガイド。

プロパティ

プロパティには、ユーザーTags、External ID、サブスクリプションデータ、アプリレベルのフィールドが含まれます。 これらの特徴: プロパティを使用するタイミング:
  • 値がOneSignalに存在する場合
  • 値が永続的である場合
  • キャンペーン全体で再利用する場合

プロパティでパーソナライズ

保存された永続的なプロパティデータを参照する方法を学びます。

API custom_data

Create Message APIcustom_dataフィールドを使用すると、バックエンドからメッセージ固有の値を送信できます。 このデータの特徴:
  • 現在のリクエストにのみ存在する
  • OneSignalには保存されない
  • Journeysでは利用できない
custom_dataを使用するタイミング:
  • ワンタイムまたは機密性の高い値を送信する場合(OTP、セキュアリンク)
  • 配列を渡す場合(カート商品、注文明細、リーダーボードスコア)
  • トランザクションまたはAPIトリガーのメッセージを送信する場合

API custom_dataでパーソナライズ

一時的なパーソナライゼーションデータを渡す方法を学びます。

動的コンテンツCSV

OneSignalダッシュボードにCSVファイルをアップロードし、Liquidを使用してその値を参照します。 CSVを使用するタイミング:
  • 一括キャンペーンの各セクションを受信者ごとにカスタマイズする場合
  • 各受信者の翻訳やカスタムデータがCSVファイルにエクスポート可能な場合
  • APIを使用したくない場合

動的コンテンツCSV

CSVアップロードを使用してダッシュボードキャンペーンをパーソナライズします。

詳細ガイド

ステップバイステップの実装詳細と高度な例については、以下のガイドをご利用ください。

Liquid構文の使用

Liquidを使用してメッセージに動的データを挿入する方法を学びます。変数、条件文、ループ、フィルター、フォーマット、一般的なパーソナライゼーションパターンをカバーしています。

Data Feeds

送信時に独自のAPIからリアルタイムデータを取り込みます。メッセージコンテンツが残高、在庫状況、価格設定などのライブバックエンド値に依存する場合にData Feedsを使用します。

Custom Eventsパーソナライゼーション

ユーザーがJourneyに入るとき、またはJourney内を進行するときにキャプチャされたイベントプロパティを使用してJourneyメッセージをパーソナライズします。行動ベースおよびイベント駆動のワークフローに最適です。

プロパティとTags

保存されたユーザー、サブスクリプション、メッセージ、およびアプリのプロパティを使用して、メッセージ、Templates、Journey Webhooks、Event Streams全体でコンテンツをパーソナライズします。

API custom_data

Create Message APIを使用してバックエンドからメッセージごとの一時データを渡します。OTP、カート、配列、一括トランザクションパーソナライゼーションに最適です。

動的コンテンツCSV

ダッシュボードでCSVファイルをアップロードして、大規模にキャンペーンをパーソナライズします。各行は受信者にマッピングされ、Liquidを使用して参照できます。

チュートリアル

これらのガイドでは、パーソナライゼーションを実際に実装する方法を紹介します。