カタログSegment
カタログSegmentは、カタログデータとカスタムイベントまたは購入のデータを組み合わせて作成されるSQLセグメントエクステンションの一種です。Segmentで参照し、CampaignsやCanvasesでターゲティングできます。
カタログSegmentは、SQLを使用してカタログのデータとカスタムイベントまたは購入のデータを結合します。そのためには、カタログとカスタムイベントまたは購入の間で共通の識別子フィールドが必要です。たとえば、カタログ内のアイテムIDの値は、カスタムイベントのプロパティの値と一致する必要があります。
カタログSegmentの作成
- セグメントエクステンション > 新規エクステンションを作成 > テンプレートから開始に移動し、テンプレートを選択します。

-
SQLエディターにテンプレートが自動的に入力されます。

このテンプレートは、ユーザーイベントデータとカタログデータを結合し、特定のカタログアイテムに関与したユーザーをセグメント化します。 -
変数タブを使用して、Segmentを生成する前にテンプレートに必要なフィールドを入力します。
Brazeがカタログアイテムとのエンゲージメントに基づいてユーザーを識別するには、以下を行う必要があります:
- カタログフィールドを含むカタログを選択する
- イベントプロパティを含むカスタムイベントを選択する
- カタログフィールドとイベントプロパティの値を一致させる
変数を選択するためのガイドラインは以下のとおりです:
| 変数フィールド | 説明 |
|---|---|
Catalog |
ユーザーのターゲティングに使用するカタログの名前。 |
Catalog field |
Custom event propertyと同じ値を含むカタログ内のフィールド。多くの場合、IDの一種です。eコマースのユースケースでは、shopify_idになります。 |
Custom event |
カスタムイベントの名前。Catalog fieldと一致する値を持つプロパティを含む同じイベントです。eコマースのユースケースでは、Made Orderになります。 |
Custom event property |
Catalog fieldと値が一致するカスタムイベントプロパティの名前。eコマースのユースケースでは、Shopify_IDになります。 |
- 必要に応じて、カタログ内の特定のフィールド値でセグメント化するために、ユースケースに合わせた追加のオプションフィールドを入力します:
Catalog field:このカタログ内の特定のフィールド(列名)Value:そのフィールドまたは列内の特定の値
ヘルスアプリを例にすると、予約可能な各医師のカタログ内にspecialtyというフィールドがあり、visionやdentalなどの値が含まれているとします。dentalの値を持つ医師を訪問したユーザーをセグメント化するには、Catalog fieldとしてspecialtyを選択し、Valueとしてdentalを選択します。
- SQLセグメントを作成した後、プレビューを実行をクリックして、クエリがユーザーを返すか、エラーがないかを確認することをお勧めします。クエリ結果のプレビュー、SQLセグメントエクステンションの管理などの詳細については、SQLセグメントエクステンションをご確認ください。
CATALOGS_ITEMS_SHAREDテーブルを使用するSQLセグメントを作成する場合は、カタログIDを指定する必要があります。例:
1
2
3
SELECT * FROM CATALOGS_ITEMS_SHARED
WHERE CATALOG_ID = 'XYZ'
LIMIT 10
SQLの反転が必要かどうかの判断
イベントがゼロのユーザーを直接クエリすることはできませんが、SQLを反転を使用してこれらのユーザーをターゲティングできます。
たとえば、購入が3回未満のユーザーをターゲティングするには、まず購入が3回以上のユーザーを選択するクエリを作成します。次に、SQLを反転を選択して、購入が3回未満のユーザー(購入がゼロのユーザーを含む)をターゲティングします。

イベントがゼロのユーザーを特にターゲティングする場合を除き、SQLを反転する必要はありません。SQLを反転が選択されている場合は、その機能が必要であること、およびSegmentが目的のオーディエンスと一致していることを確認してください。たとえば、クエリがイベントが1回以上のユーザーをターゲティングしている場合、反転するとイベントがゼロのユーザーのみがターゲティングされます。
Segmentメンバーシップの更新
カタログSegmentのSegmentメンバーシップを更新するには、カタログSegmentを開き、アクション > 更新 > はい、更新しますを選択します。
ユーザーが定期的に出入りすることが予想されるSegmentを作成した場合は、そのSegmentをCampaignやCanvasでターゲティングする前に、使用しているカタログSegmentを手動で更新してください。
更新設定の指定
エクステンションを定期的に更新する必要がない場合は、更新設定を使用せずに保存できます。Brazeはデフォルトで、その時点のユーザーメンバーシップに基づいてセグメントエクステンションを生成します。オーディエンスを一度だけ生成し、単発のCampaignでターゲットにしたい場合は、デフォルトの動作を使用してください。
セグメントは常に最初の保存後に処理を開始します。セグメントが更新されるたびに、Brazeはセグメントを再実行し、更新時点のSegment内のユーザーを反映するようにセグメントメンバーシップを更新します。これにより、定期的なCampaignが最も関連性の高いユーザーに届くようになります。
定期的な更新の設定
更新設定を指定して定期的なスケジュールを設定するには、更新を有効にする を選択します。更新設定を指定するオプションは、SQLセグメント、CDIセグメントエクステンション、シンプルなフォームベースのセグメントエクステンションを含む、すべてのタイプのセグメントエクステンションで使用できます。
データ管理を最適化するため、使用されていないセグメントエクステンションの更新設定は自動的にオフになります。セグメントエクステンションは、以下の場合に未使用とみなされます。
- アクティブまたは非アクティブ(下書き、停止、アーカイブ)のCampaign、Canvas、またはSegmentで使用されていない
- 7日以上変更されていない
この設定がオフになると、Brazeは会社の連絡先とエクステンションの作成者に通知します。エクステンションを毎日再生成するオプションはいつでも再度有効にできます。
更新設定の選択

更新間隔の設定 パネルでは、このセグメントエクステンションが更新される頻度を、毎時、毎日、毎週、または毎月から選択できます。また、更新が行われる特定の時刻(会社のタイムゾーン)を選択する必要があります。例えば以下のようになります。
- 毎週月曜日の午前11時(会社時間)に送信されるメールCampaignがあり、送信直前にセグメントを確実に更新したい場合は、毎週月曜日の午前10時に更新するスケジュールを選択してください。
- セグメントを毎日更新したい場合は、毎日の更新頻度を選択し、更新する時刻を選択してください。
フォームベースのセグメントエクステンションでは、毎時の更新スケジュールを設定することはできません(ただし、毎日、毎週、毎月のスケジュールは設定できます)。
クレジット消費と追加コスト
更新によってセグメントのクエリが再実行されるため、SQLセグメントの更新ごとにSQLセグメントクレジットが消費され、CDIセグメントエクステンションの更新ごとにサードパーティのデータウェアハウスでコストが発生します。
データ処理時間のため、セグメントの更新には最大60分かかることがあります。現在更新処理中のセグメントには、セグメントエクステンションリストで「Processing」ステータスが表示されます。これにはいくつかの影響があります。
- 特定の時刻までにセグメントの処理を完了させるには、60分前の更新時刻を選択してください。
- 特定のセグメントエクステンションの更新は一度に1回のみ実行できます。既存の更新がすでに処理を開始している状態で新しい更新が開始される競合が発生した場合、Brazeは新しい更新リクエストをキャンセルし、進行中の処理を続行します。
古いエクステンションを自動的に無効にする基準
セグメントエクステンションが古くなると、スケジュールされた更新は自動的に無効になります。セグメントエクステンションは、以下の基準を満たす場合に古いとみなされます。
- アクティブなCampaignまたはCanvasで使用されていない
- アクティブなCampaignまたはCanvas内のSegmentで使用されていない
- 分析トラッキングが有効になっているSegmentで使用されていない
- 7日以上変更されていない
- 7日以上、CampaignやCanvas(下書きを含む)、またはSegmentに追加されていない
セグメントエクステンションのスケジュールされた更新が無効になっている場合、そのエクステンションにはその旨を示す通知が表示されます。

古いセグメントエクステンションを使用する準備ができたら、更新設定を確認し、ユースケースに合った更新スケジュールを選択して、変更を保存してください。
ユースケース
ヘルスアプリ
ヘルスアプリがあり、歯科医の予約をしたユーザーをセグメント化したいとします。また、以下のものがあるとします:
- 患者が予約できるさまざまな医師を含むカタログ
Doctors。各医師にはdoctor IDが割り当てられています - カタログの
doctor IDフィールドと同じ値を共有するdoctor IDプロパティを持つカスタムイベントBooked Visit dentalの値を含むカタログ内のspecialityフィールド
以下の変数を使用してカタログSegmentを設定します:
| 変数 | プロパティ |
|---|---|
Catalog |
Doctors |
Catalog field |
doctor ID |
Custom event |
Booked Visit |
Custom event property |
doctor ID |
(Under Filter SQL Results) Catalog field |
Specialty |
(Under Filter SQL Results) Value |
Dental |
SaaSプラットフォーム
B2B SaaSプラットフォームがあり、既存顧客の従業員であるユーザーをセグメント化したいとします。また、以下のものがあるとします:
- 現在SaaSプラットフォームを使用しているさまざまなアカウントを含むカタログ
Accounts。各アカウントにはaccount IDが割り当てられています - カタログの「account ID」フィールドと同じ値を共有する「account ID」プロパティを持つカスタムイベント
Event Attendance enterpriseの値を含むカタログ内のClassificationフィールド
以下の変数を使用してカタログSegmentを設定します:
| 変数 | プロパティ |
|---|---|
Catalog |
Accounts |
Catalog field |
account ID |
Custom event |
Event Attendance |
Custom event property |
account ID |
(Under Filter SQL Results) Catalog field |
Classification |
(Under Filter SQL Results) Value |
Enterprise |
よくある質問
カタログSegmentの実行はSQLセグメントエクステンションのクレジットを消費しますか?
はい、カタログSegmentはSQLを利用しており、SQLセグメントエクステンションのクレジットを消費します。詳細については、SQLセグメントの使用状況をご確認ください。
カタログSegmentの作成はSQLセグメントエクステンションの割り当てを消費しますか?
はい。SQLセグメントエクステンションがセグメントエクステンションの割り当てにカウントされるのと同様に、カタログSegmentもその割り当てにカウントされます。
現在のテンプレートでは対応できないカタログSegmentのユースケースがあります。どのように設定すればよいですか?
カスタマーサポートマネージャーまたはBrazeサポートにお問い合わせください。