カタログの使用
カタログを作成した後、Liquidを使用して、BrazeのCampaignsで非ユーザーデータを参照できます。Liquidがサポートされているドラッグ&ドロップエディター内の任意の場所を含む、すべてのメッセージングチャネルでカタログを使用できます。
メッセージでカタログを使う
以下の動画では、メッセージでカタログを使用する方法を説明しています。
ステップ 1: パーソナライゼーションタイプを追加する
任意のメッセージ作成画面で、プラスアイコンを選択して「Add Personalization」モーダルを開き、Personalization typeとして「Catalog Items」を選択します。次に、カタログ名を選択します。先ほどの例を使って、「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つの方法があります。
- Catalogsセクションのカタログ行にカーソルを合わせます。次に、「Export catalog」ボタンを選択します。
- カタログを選択します。次に、カタログのPreviewタブで「Export catalog」ボタンを選択します。
エクスポートを開始すると、CSVファイルをダウンロードするためのメールが届きます。このファイルの取得期限は最大4時間です。
その他のユースケース
複数のアイテム
メッセージで使用できるアイテムは1つだけではありません。「Add Personalization」モーダルを使って、一度に最大3つのカタログアイテムを追加できます。さらに追加するには、作成画面で再度「Add Personalization」を選択し、追加のカタログアイテムや表示する情報を選びます。
この例では、Tales、Teslagrad、Acaratusの3つのゲームのidをCatalog Itemsに追加し、Information to Displayとして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が空白の場合、メッセージは中止されます。
Liquidの構文エラーを避けるには、メッセージ作成画面の+プラスボタンを選択して、カタログのLiquidタグを自動的に挿入してください。
画像の使用
カタログ内の画像を参照してメッセージングで使用することもできます。そのためには、画像のLiquidフィールドでcatalogsタグとitemオブジェクトを使用します。
例えば、Gamesカタログのimage_linkを「Tales」のプロモーションメッセージに追加するには、Catalog Itemsフィールドでidを選択し、Information to Displayフィールドでimage_linkを選択します。これにより、以下のLiquidタグが画像フィールドに追加されます。
1
2
3
{% catalog_items Games 1234 %}
{{ items[0].image_link }}

Liquidがレンダリングされると、次のように表示されます。

カタログアイテムのテンプレート化
テンプレート化を使って、カスタム属性に基づいてカタログアイテムをダイナミックに取得することもできます。例えば、あるユーザーがカスタム属性wishlist(カタログのゲームIDの配列)を持っているとします。
1
2
3
4
5
6
7
8
{
"attributes": [
{
"external_id": "user_id",
"wishlist": ["1234", "1235"]
}
]
}
カタログ内のJSONオブジェクトは、APIを介してのみ取り込まれます。CSVファイルを使用してJSONオブジェクトをアップロードすることはできません。
Liquidテンプレートを使用することで、ウィッシュリストのIDをダイナミックに取り出し、メッセージで使用できます。そのためには、カスタム属性に変数を割り当て、「Add Personalization」モーダルを使用して、配列から特定のアイテムを取り出します。カタログアイテム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を含むカタログアイテムのテンプレート化
コネクテッドコンテンツと同様に、Liquidタグで:rerenderフラグを使用してカタログアイテムのLiquidコンテンツをレンダリングする必要があります。: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タグは、カタログ内で再帰的に使用することはできません。
カタログデータの構造化
カタログデータの構造を計画する際は、意図するユースケースから始めて、それに合わせてカタログを設計します。カタログの各行はアイテム(一意のidを持つ)を表します。列にはそのアイテムの属性(URL、説明文、画像URL、価格、評価、サイズ、色など)を含める必要があります。
標準カタログ呼び出しを使用する場合
標準カタログ呼び出しでは、id列に対して値をマッチングします。カスタム属性やイベントプロパティ(ID文字列として)をカタログのLiquidタグに挿入することで、1つのアイテムの複数の属性をメッセージに取り込むことができます。一般的なユースケースには以下が含まれます。
- 最近閲覧した製品やサービス
- ウィッシュリストのアイテム
- ロケーション別のお得な情報
- 購入した製品
- ライフサイクルステージのコンテンツ
- 最近検索した製品やサービス
カタログセレクションを使用する場合
カタログセレクションを使用すると、カタログの任意の列でフィルタリングし、最大50件の一致するアイテムを返すことができます。カスタム属性やイベントプロパティをセレクションフィルターに挿入することで、結果がユーザーごとにパーソナライズされます。一般的なユースケースには以下が含まれます。
- カテゴリがユーザーの好みと一致するアイテム
- ユーザーの好みのブランド、料理、サイズに一致するアイテム
- サブスクリプションタイプやロイヤルティティアのコンテンツ
- ユーザーの平均注文額の範囲内の製品
主な違いは、標準カタログ呼び出しがidで単一の既知のアイテムを検索するのに対し、カタログセレクションはカタログ全体をクエリして、フィルター条件に一致する複数のアイテムを返すことです。