カタログの使用
カタログを作成した後、Liquidを使用して、Brazeのキャンペーンで非ユーザーデータを参照できます。Liquidがサポートされているドラッグ&ドロップエディター内の任意の場所を含む、すべてのメッセージングチャネルでカタログを使用できます。
メッセージでのカタログの使用
以下の動画では、メッセージでカタログを使用する方法について説明します。
ステップ1:パーソナライゼーションタイプを追加する
任意のメッセージ作成画面で、パーソナライゼーションを追加を選択し、パーソナライゼーションタイプとしてカタログアイテムを選択します。次に、カタログ名を選択します。前の例を使用して、「Games」カタログを選択します。

すぐに以下のLiquidプレビューが表示されます。
1
{% catalog_items Games %}
ステップ2:カタログアイテムを選択する
次に、カタログアイテムを追加します。ドロップダウンを使用して、カタログアイテムと表示する情報を選択します。この情報は、カタログの生成に使用されたアップロード済みCSVファイルの列に対応しています。
たとえば、Talesゲームのタイトルと価格を参照するには、カタログアイテムとしてTalesのid(1234)を選択し、表示情報としてtitleとpriceをリクエストします。
1
2
3
{% catalog_items Games 1234 %}
Get {{ items[0].title }} for just {{ items[0].price }}!
これは以下のように表示されます。
Get Tales for just 7.49!
カタログのエクスポート
ダッシュボードからカタログをエクスポートするには、2つの方法があります。
- カタログセクションでカタログの行にカーソルを合わせます。次に、カタログをエクスポートボタンを選択します。
- カタログを選択します。次に、カタログのプレビュータブでカタログをエクスポートボタンを選択します。
エクスポートを開始すると、CSVファイルをダウンロードするためのメールが届きます。このファイルの取得には最大4時間かかる場合があります。
その他のユースケース
複数のアイテム
メッセージ内のアイテムは1つに限定されません。パーソナライゼーションを追加モーダルを使用して、一度に最大3つのカタログアイテムを追加できます。さらに追加するには、メッセージ作成画面で再度パーソナライゼーションを追加を選択し、追加のカタログアイテムと表示する情報を選択します。
以下の例では、Tales、Teslagrad、Acaratusの3つのゲームのidをカタログアイテムに追加し、表示する情報にtitleを選択しています。

Liquidの周囲にテキストを追加して、メッセージをさらにパーソナライズできます:
1
2
Get the ultimate trio {% catalog_items Games 1234 1235 1236 %}
{{ items[0].title }}, {{ items[1].title }}, and {{ items[2].title }} today!
これは次のように表示されます:
Get the ultimate trio Tales, Teslagrad, and Acaratus today!

Using Liquid if statements
You can use catalog items to create conditional statements. For example, you can trigger a certain message to display when a specific item is selected in your campaign. You must declare the catalog (and, if applicable, the selection) before referencing items in an if statement.
With catalog items
1
2
3
4
5
6
{% catalog_items Games 1234 %}
{% if items[0].on_sale == true %}
{{ items[0].title }} is on sale! Get it for {{ items[0].price }}.
{% else %}
Check out {{ items[0].title }} at full price.
{% endif %}
この例では、catalog_itemsタグがGamesカタログからアイテム1234を取得し、ifステートメントがon_saleフィールドをチェックして異なるメッセージを表示します。
カタログセレクションの場合
1
2
3
4
5
6
7
8
{% catalog_selection_items item-list selections %}
{% if items[0].venue_name.size > 10 %}
Message if the venue name's size is more than 10 characters.
{% elsif items[0].venue_name.size <= 10 %}
Message if the venue name's size is 10 characters or fewer.
{% else %}
{% abort_message('no venue_name') %}
{% endif %}
この例では、venue_nameフィールドが10文字を超えるかどうかに基づいて異なるメッセージが表示されます。venue_nameが空白の場合、メッセージは中止されます。
セレクションが返すアイテムの数を出力するには、タグの後のitems配列に対してLiquidのsizeフィルターを使用します(単一のフィールドに対してではありません):
1
{% catalog_selection_items item-list selections %}{{ items | size }}

Liquid構文エラーを回避するには、メッセージ作成画面の+ボタンを選択して、カタログのLiquidタグを自動的に挿入してください。
画像の使用
カタログ内の画像を参照してメッセージングで使用することもできます。これを行うには、画像のLiquidフィールドでcatalogsタグとitemオブジェクトを使用します。
たとえば、GamesカタログのTalesのプロモーションメッセージにimage_linkを追加するには、カタログアイテムフィールドにidを、表示する情報フィールドにimage_linkを選択します。これにより、画像フィールドに次のLiquidタグが追加されます:
1
2
3
{% catalog_items Games 1234 %}
{{ items[0].image_link }}

Liquidがレンダリングされると次のようになります:


メールなどのHTMLチャネルでは、{% catalog_items ... %}の閉じタグと画像URLを出力するLiquid(例:{{ items[0].image_link }})の間に余分なスペースや改行を入れないでください。テンプレート内の余分な空白は、レンダリングされたメッセージで画像URLが正しく解決されない原因となる場合があります。次のように、URL式をカタログタグの直後に配置してください:<img src="{% catalog_items Games 1234 %}{{ items[0].image_link }}">。
カタログアイテムのテンプレート化
テンプレートを使用して、カスタム属性に基づいてカタログアイテムを動的に取得することもできます。たとえば、ユーザーがカタログのゲームIDの配列を含むカスタム属性wishlistを持っているとします。
1
2
3
4
5
6
7
8
{
"attributes": [
{
"external_id": "user_id",
"wishlist": ["1234", "1235"]
}
]
}

カタログ内のJSONオブジェクトはAPIを通じてのみ取り込まれます。CSVファイルを使用してJSONオブジェクトをアップロードすることはできません。
Liquidテンプレートを使用して、ウィッシュリストIDを動的に取り出し、メッセージで使用できます。これを行うには、カスタム属性に変数を割り当て、パーソナライゼーションを追加モーダルを使用して配列から特定のアイテムを取得します。カタログアイテムIDとして参照される変数は、正しく参照されるように中括弧で囲む必要があります(例:``)。

配列は1ではなく0から始まることを忘れないでください。
たとえば、Tales(ユーザーがウィッシュリストに追加したカタログ内のアイテム)がセール中であることをユーザーに知らせるには、メッセージ作成画面に次を追加します:
1
2
3
4
{% assign wishlist = {{custom_attribute.${wishlist}}}%}
{% catalog_items Games {{ wishlist[0] }} %}
Get {{ items[0].title }} now for {{ items[0].price }}!
これは次のように表示されます:
Get Tales now for just 7.49!
テンプレートを使用すると、各ユーザーの個別のカスタム属性、イベントプロパティ、またはその他のテンプレート可能なフィールドに基づいて、異なるカタログアイテムをレンダリングできます。
CSVのアップロード
新しいカタログアイテムを追加したり、カタログアイテムを更新したりするためにCSVをアップロードできます。アイテムのリストを削除するには、アイテムIDのCSVをアップロードして削除できます。
Liquidの使用
Liquidロジックを使用して手動でカタログを構成することもできます。ただし、存在しないIDを入力した場合、Brazeはオブジェクトのないitems配列を返すことに注意してください。配列のサイズを確認し、空の配列ケースに対応するためにifステートメントを使用するなど、エラーハンドリングを含めることをお勧めします。
Liquidを含むカタログアイテムのテンプレート化
Connected Contentと同様に、カタログアイテムのLiquidコンテンツをレンダリングするには、Liquidタグで:rerenderフラグを使用する必要があります。:rerenderフラグは1レベルの深さのみであり、ネストされたLiquidタグの呼び出しには適用されません。
カタログアイテムにユーザープロファイルフィールド(Liquidパーソナライゼーションタグ内)が含まれている場合、Liquidを正しくレンダリングするために、これらの値はメッセージ内でテンプレートの前に先にLiquidで定義する必要があります。:rerenderフラグが提供されない場合、生のLiquidコンテンツがレンダリングされます。
たとえば、「Messages」というカタログに次のLiquidを含むアイテムがある場合:

次のLiquidコンテンツをレンダリングするには:
1
2
3
4
Hi ${first_name},
{% catalog_items Messages greet_msg :rerender %}
{{ items[0].Welcome_Message }}
これは次のように表示されます:
1
2
3
Hi Peter,
Welcome to our store, Peter!

カタログのLiquidタグは、カタログ内で再帰的に使用することはできません。
カタログパーソナライゼーションのトラブルシューティング
カタログまたはセレクションのLiquidがメッセージやキャンバスステップで期待どおりに表示されない場合は、以下を確認してください。
| 症状 | 確認事項 |
|---|---|
| プレビューではアイテムが表示されるが、実際の送信では空になる | 送信時にカタログのアイテムIDが存在することを確認してください。Liquid内のIDが行と一致しない場合、Brazeは空のアイテム配列を返します。Liquidの使用を参照してください。タイプミスや、トリガーまたはユーザープロファイルに存在しないIDソース(イベントプロパティなど)がないか確認してください。 |
| メッセージ作成画面のプレビューはキャンペーンでは動作するがキャンバスでは動作しない | 正しいLiquidコンテキスト(キャンバスコンテキストプロパティとイベントプロパティ)を使用しているか、またそれらのフィールドがトリガーに存在するか確認してください。コンテキストプロパティとイベントプロパティを参照してください。 |
| セレクションがアイテムを返さない | セレクションフィルターと制限を確認してください。カタログデータが同期されていること、およびカラム名がフィルターと一致していることを確認してください。 |
:rerenderまたはテンプレート配信が正しく表示されない |
カタログフィールド内のネストされたLiquidには、:rerenderと変数の正しい順序が必要です。Liquidを含むカタログアイテムのテンプレート化を参照してください。テンプレートアプリ内メッセージはトリガー時に解決されます。テンプレートアプリ内メッセージとは?を参照してください。一部のチャネルではカタログタグが制限されています(例:バナーでの特定の:rerenderの使用)。バナーFAQのすべてのLiquidタグがサポートされていますか?を参照してください。 |
一般的なLiquidの動作については、LiquidユースケースおよびLiquidの使用を参照してください。
カタログデータの構造化
カタログデータの構造を計画する際は、意図するユースケースから始めて、それに合わせてカタログを設計します。カタログの各行は1つのアイテム(一意のidを持つ)を表します。列にはそのアイテムの属性(URL、説明文、画像URL、価格、評価、サイズ、色など)を含める必要があります。
標準カタログ呼び出しを使用する場合
標準カタログ呼び出しでは、id列に対して値をマッチングします。カスタム属性またはイベントプロパティ(ID文字列として)をカタログのLiquidタグに挿入することで、1つのアイテムの複数の属性をメッセージに取り込むことができます。一般的なユースケースには以下が含まれます:
- 最近閲覧した商品またはサービス
- ウィッシュリストのアイテム
- 場所別のお得情報
- 購入済みの商品
- ライフサイクルステージのコンテンツ
- 最近検索した商品またはサービス
カタログセレクションを使用する場合
カタログセレクションを使用すると、カタログの任意の列をフィルタリングし、最大50件のマッチするアイテムを返すことができます。カスタム属性またはイベントプロパティをセレクションフィルターに挿入することで、結果は各ユーザーにパーソナライズされます。一般的なユースケースには以下が含まれます:
- カテゴリがユーザーの好みと一致するアイテム
- ユーザーが好むブランド、料理ジャンル、またはサイズに一致するアイテム
- サブスクリプションタイプまたはロイヤルティティアのコンテンツ
- ユーザーの平均注文額の範囲内にある商品
主な違いは、標準カタログ呼び出しはidで単一の既知のアイテムを検索するのに対し、カタログセレクションはカタログ全体をクエリしてフィルター条件に一致する複数のアイテムを返す点です。