再入荷通知
カタログとカスタムイベントを使用して再入荷通知を設定する方法を説明します。このように設定することで、商品が再入荷したときに通知を受け取るように、顧客を自動的に購読登録できます。これは、すでに通知をオプトインしているユーザーにのみ適用されます。
仕組み
カスタムイベントを購読イベントとして設定できます(例:product_clicked イベント)。このイベントには、アイテム ID(カタログアイテム ID)のプロパティが含まれている必要があります。カタログ名を含めることをお勧めしますが、必須ではありません。また、在庫数量フィールドの名前も指定する必要があり、これは数値データ型である必要があります。
カタログアイテムの在庫がゼロでなければ、ユーザーはそのアイテムに正常に購読できません。アイテムの在庫数量がゼロより大きくなると、Brazeはそのアイテムに購読しているすべてのユーザーを検索し、キャンペーンまたはキャンバスのトリガーに使用できるカスタムイベントを送信します。
イベントプロパティはユーザーとともに送信されるため、送信するキャンペーンやキャンバスにアイテムの詳細をテンプレートとして組み込むことができます。
在庫復活通知の設定
特定のカタログで在庫復活通知を設定するには、以下の手順に従ってください。
- カタログに移動し、設定タブを選択します。
- 在庫復活トグルを選択します。
- グローバルな在庫復活設定がまだ構成されていない場合、在庫復活通知のトリガーに使用するカスタムイベントとプロパティの設定を求められます。
- フォールバックカタログ カスタムイベントに
catalog_nameプロパティが存在しない場合に、在庫復活購読に使用されるカタログです。 - 購読用カスタムイベントは、ユーザーを在庫復活通知に登録するために使用されるBrazeカスタムイベントです。このイベントが発生すると、イベントを実行したユーザーが購読されます。
- 購読解除用カスタムイベントは、ユーザーを在庫復活通知から購読解除するために使用されるBrazeカスタムイベントです。このイベントは任意です。ユーザーがこのイベントを実行しない場合、90日後または在庫復活イベントがトリガーされた時点のいずれか早い方で購読解除されます。
-
アイテムIDイベントプロパティは、このセクションで前述したカスタムイベントのプロパティで、在庫復活の購読または購読解除の対象アイテムを決定するために使用されます。カスタムイベントのこのプロパティには、カタログに存在するアイテムID(
id)が含まれている必要があります。アイテムIDは、対象カタログに保存されているidデータ型と一致するように文字列として送信する必要があります。カスタムイベントには、このアイテムがどのカタログに属するかを指定するcatalog_nameプロパティも含める必要があります。 - カスタムイベントのサンプルは次のようになります。
- フォールバックカタログ カスタムイベントに
このサンプルは、/users/trackを通じてアイテムID、カタログ名、在庫復活購読タイプを含むsubscriptionカスタムイベントを送信します。
{
"events": [
{
"external_id": "<external_id>",
"name": "subscription",
"time": "2024-04-15T19:22:28Z",
"properties": {
"id": "shirt-xl",
"catalog_name": "on_sale_products",
"type": ["back_in_stock"]
}
}
]
}
このサンプルは、Braze Web SDKを使用してWebサイトから同じsubscriptionカスタムイベントをログに記録します。
braze.logCustomEvent("subscription", {
id: "shirt-xl",
catalog_name: "on_sale_products",
type: ["back_in_stock"]
});
このKotlinサンプルは、Androidアプリから必要なカタログ購読プロパティを含むsubscriptionカスタムイベントをログに記録します。
// Kotlin
Braze.getInstance(context).logCustomEvent(
"subscription",
BrazeProperties(
JSONObject()
.put("id", "shirt-xl")
.put("catalog_name", "on_sale_products")
.put("type", JSONArray().put("back_in_stock"))
)
)
このJavaサンプルは、Androidアプリから同じsubscriptionカスタムイベントをログに記録します。
// Java
Braze.getInstance(context).logCustomEvent(
"subscription",
new BrazeProperties(new JSONObject()
.put("id", "shirt-xl")
.put("catalog_name", "on_sale_products")
.put("type", new JSONArray().put("back_in_stock"))
)
);
このSwiftサンプルは、iOSアプリから必要なカタログ購読プロパティを含むsubscriptionカスタムイベントをログに記録します。
// Swift
AppDelegate.braze?.logCustomEvent(
name: "subscription",
properties: [
"id": "shirt-xl",
"catalog_name": "on_sale_products",
"type": ["back_in_stock"]
]
)
このObjective-Cサンプルは、iOSアプリから同じsubscriptionカスタムイベントをログに記録します。
// Objective-C
[AppDelegate.braze logCustomEvent:@"subscription"
properties:@{
@"id": @"shirt-xl",
@"catalog_name": @"on_sale_products",
@"type": @[@"back_in_stock"]
}];

在庫復活と値下げのトリガーは、同じイベントを使用してユーザーを通知に登録します。そのため、typeプロパティを使用して、同じイベントで値下げと在庫復活の両方の通知を設定できます。typeプロパティは配列である必要があることに注意してください。
- 保存を選択し、カタログの設定ページに進みます。
- 通知ルールを設定します。2つのオプションがあります。
- 購読中の全ユーザーに通知は、アイテムが在庫復活した際に待機中のすべての顧客に通知します。
- 通知制限を設定は、10分ごとに指定した数の顧客に通知します。Brazeは、通知する顧客がいなくなるか、アイテムが再び在庫切れになるまで、指定した数の顧客に段階的に通知します。通知レートは1分あたり10,000ユーザーを超えることはできません。
- カタログの在庫フィールドを設定します。このカタログフィールドは、アイテムが在庫切れかどうかを判断するために使用されます。このフィールドは数値型である必要があります。
- 設定を保存を選択します。


これらの設定の通知ルールは、サイレント時間などのキャンバス通知設定を上書きしません。
キャンバスで在庫復活通知を使用する
カタログで在庫復活機能を設定した後、以下のステップに従ってキャンバスで使用します。
- アクションベースのキャンバスを設定します。
- トリガーとして在庫復活を選択します。
- 在庫復活通知が設定されたカタログの名前を選択します。
- 通常通りキャンバスの設定を続けます。
これで、アイテムが在庫復活した際に顧客に通知できるようになります。
Liquidを使用する
在庫復活したカタログアイテムの詳細をテンプレートに組み込むには、context Liquidタグを使用してitem_idにアクセスできます。
{{context.${catalog_update}.item_id}}を使用すると、在庫復活したアイテムのIDが返されます。{{context.${catalog_update}.previous_value}}は更新前のアイテムの在庫値を返し、{{context.${catalog_update}.new_value}}は更新後の新しい在庫値を返します。
メッセージの先頭でLiquidタグ{% catalog_items <name_of_your_catalog> {{context.${catalog_update}.item_id}} %}を使用し、次に{{ items[0].<field_name> }}を使用してメッセージ全体でそのアイテムに関するデータにアクセスします。

表示される用語とLiquidの名前空間は、ワークスペースで利用可能な機能によって異なります。
- ダッシュボードにコンテキスト変数と表示される場合は、エントリプロパティを
contextで参照します(例:{{context.${property_name}}})。コンテキストステップを使用して変数を作成または更新することもできます。 - ダッシュボードにキャンバスエントリプロパティと表示される場合は、
canvas_entry_propertiesで参照します(例:{{canvas_entry_properties.${property_name}}})。コンテキストステップおよびコンテキスト変数フィルターは利用できません。
詳細については、コンテキストおよびコンテキストとイベントプロパティを参照してください。キャンバスコンテキストへのアクセスが必要な場合は、カスタマーサクセスマネージャーにお問い合わせください。

カタログのトリガーアイテム用に画像を取り込むには、カタログにimage_urlという名前のフィールドが含まれている必要があります。その後、{{ items[0].image_url }}を使って参照できます。
考慮事項
- ユーザーの購読期間は90日間です。90日以内に商品が再入荷しない場合、ユーザーの購読は解除されます。
- 購読済みのすべてのユーザーに通知する通知ルールを使用する場合、Brazeは10分間で100,000人のユーザーに通知します。
- Brazeは、再入荷通知のトリガー対象となる更新アイテムを1日あたり最大50,000件サポートしています。任意の時点で最大1億件のアクティブな購読を持つことができます。各購読は、カタログアイテムのウォッチに登録したユーザープロファイルを表します。
- カタログ設定から購読済みユーザーをエクスポートする場合、CSVファイルにはカタログにそれ以上のアクティブな購読がある場合でも、最大10,000件の購読が含まれます。