メインコンテンツへスキップ
プロパティ(ユーザー Tags や External ID などの識別子)を使用して、Liquid 構文でメッセージや配信ペイロードをパーソナライズできます。 OneSignal は Liquid プレースホルダーを送信時にレンダリングし、ユーザー、Subscriptions、Journey、メッセージ、テンプレート、アプリ、または組織に既に保存されているデータを使用します。このデータを使用して、メッセージ、Journey Webhook、および Event Streams をパーソナライズできます。

プロパティパーソナライズの使用タイミング

プロパティパーソナライズを使用して、OneSignal に既に存在するデータ(最も一般的にはユーザー Tags、External ID、メールアドレスや電話番号などの Subscriptions フィールド)を使用して送信時にコンテンツをレンダリングします。 以下の場合に適しています:
  • データが既に OneSignal に保存されている
  • メッセージ送信時に Liquid プレースホルダーが自動的に置き換えられるようにしたい
  • 配信時にデータを取得または計算する必要がない
値を送信時に取得または計算する必要がある場合(例:リアルタイムの価格や在庫)は、Data Feeds または custom_data を使用した API を使用してください。値が、ユーザーが Journey に入るまたは進行するきっかけとなったイベントから取得される場合は、Custom Event パーソナライズを使用してください。

チャネルサポート

各チャネルは特定のプロパティタイプとフィールドをサポートしています。
以下でユーザーと Subscriptions のプロパティをサポートしています:
  • 件名、返信先、プリヘッダー
  • メッセージ本文
  • HTML 属性(例:<img src="{{ image_url }}" />
  • ボタンアクション(URL、mailto など)

プロパティパーソナライズの仕組み

OneSignal は、メッセージ送信先のユーザーと Subscriptions に対応するプロパティ値で Liquid プレースホルダーを置き換えます。
Liquid
ユーザーが Tags first_name: Jonlevel: 5 を持っている場合、以下のように表示されます:
Text

Tags が設定されていないユーザーには、代わりにデフォルト値が表示されます。

プロパティ Liquid オブジェクトリファレンス

このセクションでは、Liquid で使用可能な正確なオブジェクト名とフィールド名を確認できます。

ユーザーと Subscriptions のプロパティ

ユーザーレベルのデータには user を使用します。メールアドレスや電話番号などのチャネル固有の値が必要な場合は subscription を使用します。
user.tags
ユーザーの Tags。Tags はいくつかの方法で参照できます:
  • key を直接使用するか、tags の後にキーを配置します
  • 設定された Tags の例:first_name: Jon, level: 5
Liquid
  • for ループ構文で Tags を反復処理できます。この例では、key:value ペアをカンマ区切りで出力します。
Liquid
user.external_id
ユーザーの External ID
Liquid
user.onesignal_id
ユーザーの OneSignal ID
Liquid
subscription.email
メッセージが送信されるメール Subscription のメールアドレス。
Liquid
subscription.phone_number
メッセージが送信される SMS Subscription の電話番号。
Liquid
user.language
ユーザーの言語コード。
Liquid
user.subscriptions
ユーザーの Subscriptions
  • for ループ構文で Subscriptions を反復処理できます。
  • この例では、各 Subscription のトークンと ID をカンマ区切りで出力します。
JSON
subscription.unsubscribe_token
トークンを使用したメール配信停止 API で使用されるトークン。

Journey プロパティ

journey オブジェクトを使用して、Journey 名を参照したり、Journey の Custom Event パーソナライズにアクセスしたりできます。
journey.name
Journey の名前。
JSON

メッセージプロパティ

message オブジェクトは、Event Streams に役立つメッセージ ID、名前、テンプレート ID へのアクセスを提供します。また、バックエンドから送信されるメッセージをパーソナライズするための custom_data へのアクセスも提供します。
message.id
OneSignal によって設定されたメッセージ ID。
message.name
送信者によって設定されたメッセージの名前。
message.template_id
OneSignal によって設定されたテンプレート ID。

テンプレートプロパティ

template オブジェクトは、メッセージの送信に使用されたテンプレートのテンプレート ID と名前へのアクセスを提供します。これは Event Streams に役立ちます。
template.id
OneSignal によって設定されたテンプレート ID。
template.name
送信者によって設定されたテンプレートの名前。

アプリと組織のプロパティ

app および org オブジェクトは、メッセージを送信したアプリと組織の詳細を提供します。これは Event Streams に役立ちます。
app.id
OneSignal によって設定されたアプリ ID。
app.name
アプリのオーナーによって設定されたアプリの名前。
org.id
OneSignal によって設定された組織 ID。
org.name
組織のオーナーによって設定された組織の名前。

例:Tags を使用したカート放棄

この例では、ユーザー Tags を使用してカート放棄メッセージをパーソナライズする方法を説明します。カート放棄チュートリアルをベースにしています。 設定された Tags の例:
JSON

メールテンプレート

1

新しいメールテンプレートを作成する

Messages > Templates > New Email Template に移動し、ドラッグ&ドロップエディタを開きます。
2

レイアウト構造を追加する

5つの行を作成します:
  • 行1、2、4:Paragraph ブロックを含む1列
  • 行3:HTML | Paragraph | Paragraph | Paragraph の4列
  • 行5:Button ブロックを含む1列

カート放棄用のスターターメールテンプレート

3

Paragraph ブロックに Liquid を追加する

行1に以下を追加します:
Liquid
行2にユーザーが見ている内容の説明を追加します:
Text
行4に別の CTA を追加します:
Text
4

最新のアイテムを表示する

行3で4列を設定します:列1(HTML ブロック):
HTML
列2〜4(テキストブロック):
  • 列2:{{product_name}}
  • 列3:{{product_quantity}}
  • 列4:{{product_price}}
5

ボタンにカート URL を追加する

行5の Button ブロックで、アクション URL を以下に設定します:

スタイリングなしのカート放棄用ベースメールテンプレート完成版

6

テンプレートをテスト・プレビューする

Test & preview ボタンを使用して自分宛にテストメールを送信します。
  • メール Subscription に Tags が設定されていることを確認してください。

Tags を使用したメールのプレビュー

7

テンプレートにスタイルを適用する

成功です!これで独自のスタイルをテンプレートに適用できます。ドラッグ&ドロップでメールをデザインするを参照してください。

プッシュテンプレート

プッシュ通知はスペースが限られているため、1つのアイテムを表示し、合計数に言及します。 メッセージフィールド: 条件文を使用して、正しい文法でアイテムとアイテム数を表示します。
Liquid
画像フィールド:
Liquid
起動 URL フィールド:

Test & preview でプッシュテンプレートのパーソナライズをプレビュー

成功です!これでさらにテンプレートを作成し、カート放棄 Journey で使用できます。

例:データタグでアプリ内メッセージをパーソナライズする

この例では、データタグでパーソナライズされたリワードアプリ内メッセージを示します。アプリ内メッセージは、データタグの値を複数のブロックタイプに置換します。 設定されたメッセージ:
  • テキストブロック — 完了したレベルとそのレベルのリワードを表示
  • 画像ブロック — そのリワードに対応する画像と、デフォルト画像をフォールバックとして表示
  • ボタン2テキスト — リワード値を表示し、デフォルト値は 100
  • 背景画像 — データタグの値から設定

テキスト、画像、ボタンブロックでデータタグ置換が設定されたアプリ内メッセージエディター

メッセージはセッション開始時に、ユーザーの現在のデータタグ値を使用してレンダリングされます:

データタグから置換された値でユーザーに表示されたアプリ内メッセージ

サポートされているブロック、属性、タイミングルールについては、上記のチャネルサポートアプリ内メッセージタブを参照してください。そこから改めて強調すべき2つのポイント:
  • データタグは、ユーザーが新しいアプリセッションを開始する前に設定する必要があります。 セッション中に更新されたデータタグは、そのセッション中に表示されるアプリ内メッセージではレンダリングされません。
  • データタグ置換は「テストメッセージを送信」のテスト送信ではレンダリングされません。 置換を確認するには、実際のセッションからメッセージをトリガーしてください。
  • プロパティ置換はアプリ内メッセージではサポートされていません。

関連ページ

メッセージパーソナライズ

Custom Events とその他の方法の使い分けを含む、OneSignal のすべてのパーソナライズオプションの概要。

Tags

SDK、API、CSV インポートを介してユーザーに Tags を設定する方法を学びます。

Liquid 構文の使用

フィルター、条件分岐、ループ、文字列操作を含む完全な Liquid リファレンス。

Templates

Journeys で使用する再利用可能なメッセージテンプレートを作成・管理します。

カート放棄チュートリアル

Tags とプロパティを使用してカート放棄 Journey を構築します。
サポートが必要ですか?サポートチームとチャットするか、support@onesignal.comにメールしてください以下を含めてください:
  • 発生している問題の詳細と再現手順(利用可能な場合)
  • OneSignal App ID
  • 該当する場合は、External IDまたはSubscription ID
  • 該当する場合は、OneSignalダッシュボードでテストしたメッセージのURL
  • 関連するログまたはエラーメッセージ
お気軽にお問い合わせください!