Braze Braze Catalog 商品・公演マスタとレコメンド配信の活用イメージ
目次 クリックで開く
パーソナライズされた顧客体験を提供するためには、ユーザーの属性データ(名前、居住地など)や行動データ(閲覧、購入など)だけでなく、「商品」や「公演」「店舗」といったエンティティ(実体)のマスタデータをいかに柔軟にメッセージへ組み込めるかが鍵となります。
Brazeにおいて、このマスタ情報をプラットフォーム内に保持し、配信時に動的に呼び出す機能が「Braze Catalog(ブレイズ・カタログ)」です。本稿では、Braze Catalogの仕様から、APIを用いたデータ同期、Liquidによるレコメンド実装、さらにはAIレコメンド機能の活用イメージまで、実務担当者が直面する課題を網羅して解説します。
Braze Catalogとは?商品・公演マスタを保持する意義
従来、Brazeで最新の商品情報や公演情報をメッセージに含めるには、主に2つの方法がありました。1つはメッセージ作成時にテキストを直接入力する方法、もう1つは「Connected Content」機能を用いて外部サーバーのAPIをリアルタイムに叩く方法です。
Braze Catalogは、これらの中間に位置する「Braze内にホストされたリレーショナル・データストア」です。商品ID、価格、画像URL、在庫フラグ、開催日時といった情報をBraze側にアップロードしておくことで、以下のメリットを享受できます。
- 超高速なレンダリング: 配信時に外部APIを呼び出すオーバーヘッドがないため、大規模配信でも遅延が極めて少ない。
- 運用負荷の軽減: キャンペーンごとにHTMLを書き換える必要がなく、カタログ側のデータを更新するだけで、現在進行中の自動配信メッセージの内容も最新に切り替わる。
- AI連携: ユーザーの行動履歴とカタログ内のアイテム情報を掛け合わせ、Brazeの機械学習モデルが「次に買うべき商品」を自動選定できる。
特に、大量のイベント情報を扱うエンタメ業界や、在庫の入れ替わりが激しいECサイトにおいて、Braze Catalogは必須の機能といえます。
Braze Catalogの主要機能とデータ仕様
実装に入る前に、Braze Catalogの構造を正しく理解しておく必要があります。
カタログとアイテムの構造
Braze Catalogは、「カタログ(親)」と「アイテム(子)」の階層で構成されます。例えば「商品マスタ(Products)」というカタログの中に、「SKU_001」「SKU_002」といった個別のアイテムが格納されるイメージです。
サポートされるデータ型
各アイテムには、以下のデータ型を持つフィールド(カラム)を定義できます。
- String: 商品名、説明、画像URLなど
- Number: 価格、在庫数、ポイント数など
- Boolean: 販売中フラグ、新着フラグなど
- Time: 公演開始日時、セール終了時刻など(ISO 8601形式)
- Array / Object: カテゴリタグや複雑な属性データ
主な制限事項(Quota)
Brazeの契約プランによって異なりますが、標準的な制限は以下の通りです。詳細はBraze公式ドキュメント(Catalogs)をご確認ください。
- 1カタログあたりの最大アイテム数:数百万件(有償オプションで拡張可能)
- 1アイテムあたりの最大フィールド数:30〜50程度
- APIによる更新頻度:レートリミットに従う
【実務】Braze Catalogへのデータ同期手順
カタログを「生きたマスタ」として運用するには、自社のデータベース(DB)やECプラットフォームとの同期が不可欠です。
方法1:ダッシュボードからのCSVアップロード
最もシンプルな方法です。Braze管理画面の「Catalogs」メニューから、CSVファイルを直接アップロードします。
手順:
[Data Settings] > [Catalogs] を開く。
[Create Catalog] で新しいカタログを作成。
[Upload CSV] からデータをインポート。
※初回のスキーマ定義(どの列がどのデータ型か)はこのタイミングで行います。
方法2:Catalog APIによる自動更新
実務で最も推奨されるのが、APIによる自動連携です。商品マスタが更新された際や、深夜のバッチ処理などで、Braze側のカタログ情報を書き換えます。
エンドポイントの例:POST https://rest.iad-01.braze.com/catalogs/{catalog_name}/items
JSONボディで複数のアイテムを一度に更新(Upsert)可能です。これにより、在庫切れの商品を配信対象から除外するといった運用が自動化されます。
方法3:SDK経由の同期
アプリ内でユーザーが「お気に入り」に登録した瞬間に、その商品詳細情報をカタログに(まだ存在しなければ)登録するといった、エッジケースでの利用が可能です。
データ基盤の構築については、以下の記事も参考になります。特にLINEなどのマルチチャネル展開を考えている場合、データ連携の全体設計が重要です。
【図解】SFA・CRM・MA・Webの違いを解説。高額ツールに依存しない『データ連携の全体設計図』
レコメンド配信の活用イメージとLiquid実装
カタログにデータが格納されたら、次はメッセージ内での呼び出しです。Brazeではテンプレート言語「Liquid」を使用して、動的にデータを差し込みます。
「お気に入り商品」を表示するロジック
例えば、ユーザーのカスタム属性 favorite_product_id に商品IDが保存されている場合、以下のようなLiquidコードでカタログから情報を取得できます。
{% catalog_items 商品マスタ {{custom_attribute.${favorite_product_id}}} %}
こんにちは!お気に入り登録されている「{{items[0].product_name}}」はチェック済みですか?
現在の価格は {{items[0].price}}円です。
<img src="{{items[0].image_url}}">
{% endcatalog_items %}
「特定カテゴリの新着」を複数並べる(セレクション)
カタログの中から「カテゴリが『スニーカー』かつ『在庫あり』」のアイテムを最大3つ抽出して表示する、といった高度なフィルタリングも、ダッシュボード上で作成した「セレクション(Selections)」を用いることで容易に実現できます。
こうした動的な出し分けは、単なるWebトラッキング以上の精度を求められます。具体的なトラッキングの勘所については、こちらのガイドが役立ちます。
WebトラッキングとID連携の実践ガイド。ITP対策・LINEログインを用いたセキュアな名寄せアーキテクチャ
主要なレコメンド手法・ツールとの比較
レコメンドを実現する手段は、Braze Catalog以外にも存在します。自社の要件に合わせて最適な手法を選択してください。
| 手法 | メリット | デメリット | 適したユースケース |
|---|---|---|---|
| Braze Catalog | 配信速度が極めて速い。Braze内で完結するため管理が楽。AIレコメンドとの親和性が高い。 | 複雑なテーブル結合は不可。高度なレコメンドエンジン(協調フィルタリング等)はBraze側設定が必要。 | 商品/公演マスタの差し込み、在庫連動、シンプルなパーソナライズ。 |
| Connected Content | 外部DBや最新の在庫状況を1ミリ秒単位の精度で取得可能。複雑なクエリ結果を反映できる。 | 外部APIの負荷耐性が必要。APIダウン時にメッセージの内容が欠損するリスクがある。 | 秒単位で変動する株価、空席情報、外部エンジンの計算結果の表示。 |
| 外部レコメンドSaaS | 「この商品を見た人はこれも」といった高度なアルゴリズムが標準搭載。 | Brazeとのデータ連携コスト(工数・費用)がかかる。 | 大規模ECで、既にレコメンドエンジンが確立されている場合。 |
AIによる「パーソナライズ・アイテム・セレクション」
Brazeの「Personalized Variant」や「AI Selection」機能を使うと、カタログの中から「各ユーザーが最もクリックしそうなアイテム」を自動で選別できます。これは、ユーザーの過去の行動(イベント)とカタログのアイテム情報をBrazeの機械学習モデルが学習することで実現します。
実装の前提条件:
purchase や view_product といったカスタムイベントに、カタログの item_id が正しく紐付いていること。
カタログが最新の状態に保たれていること。
一定以上のサンプルデータ(行動ログ)が蓄積されていること。
AIを活用した運用の最適化については、広告領域での事例も非常に参考になります。
広告×AIの真価を引き出す。CAPIとBigQueryで構築する「自動最適化」データアーキテクチャ
運用の落とし穴とトラブルシューティング
1. APIのレートリミット(429 Too Many Requests)
商品点数が数十万件ある場合、一斉にAPIで更新をかけると制限に抵触します。
対策:
差分更新(Updated Only)を基本とする。
Brazeが提供するバッチエンドポイント(複数アイテムの一括処理)を使用する。
指数関数的バックオフ(Exponential Backoff)を用いたリトライ処理を組み込む。
2. カタログ更新の反映遅延
APIで成功レスポンスが返ってきても、メッセージ配信に反映されるまで数秒〜数分のタイムラグが生じることがあります。
対策:
厳密なリアルタイム性(例:決済直後の残高表示など)が求められる場合は、カタログではなく Connected Content または User Profile への直接書き込みを検討してください。
3. データ型の不一致によるエラー
CSVアップロード時に数値型の列に文字列が混じっていると、エラーで全件インポートが失敗することがあります。
対策:
ETLプロセス(BigQuery等からBrazeへ送る前段階)での厳密な型変換とバリデーションを徹底する。
まとめ:Braze Catalogを起点としたCX設計の要点
Braze Catalogは、単なる「静的なリスト」ではありません。ユーザーの行動データと静的な商品マスタを、配信の瞬間にインテリジェントに結びつける「接合点」です。
導入にあたっては、まず以下の3ステップから始めることをお勧めします。
最も配信頻度が高いメッセージ(例:カゴ落ちメール、サンクスメール)に必要なマスタ情報を特定する。
そのデータを、まずはCSVで手動アップロードして挙動を確認する。
運用の自動化を見据え、APIによる差分更新ロジックをエンジニアと設計する。
Braze Catalogを使いこなすことで、顧客一人ひとりに「今、自分にとって最も価値のある情報」を届ける、真のパーソナライズが可能になります。