ユーザーの更新
ユーザーの更新コンポーネントを使用すると、JSON エディターでユーザーの属性、イベント、購入を更新できるため、API キーなどの機密情報を含める必要がありません。
このコンポーネントの仕組み

このコンポーネントをキャンバスで使用する場合、更新は /users/track リクエストの1分あたりのレート制限にカウントされません。代わりに、これらの更新はバッチ処理され、BrazeがBraze-to-Braze Webhookよりも効率的に処理できるようになっています。なお、このコンポーネントは、課金対象外のデータポイント(購読グループなど)の更新に使用される場合、データポイントを記録しません。
ユーザーがユーザー更新ステップに入り、処理が完了すると、次のステップに進みます。つまり、これらのユーザー更新に依存する後続のメッセージングは、次のステップが実行される時点で最新の状態になっています。
ユーザー更新の作成
サイドバーからコンポーネントをドラッグ&ドロップするか、バリアントまたはステップの下部にあるプラスボタンを選択してユーザー更新を選択します。
既存のユーザープロファイル情報の更新、新しい情報の追加、またはユーザープロファイル情報の削除を行う3つのオプションがあります。すべてを合わせて、ワークスペース内のユーザー更新ステップは1分あたり最大200,000件のユーザープロファイルを更新できます。

このコンポーネントで行った変更をテストすることもできます。ユーザーを検索し、変更を適用してください。これによりユーザーが更新されます。
カスタム属性
UIエディターで、属性名(既存または新規)を選択し、アクションを選択します。
- 更新: 新しい値を入力します。
- 削除: ユーザープロファイルから属性をクリアします(値は不要です)。
1つのステップで最大10個の属性を追加できます。イベント、購入、ネストされたフィールド、またはその他の複雑な変更については、高度なJSONエディターを使用してください。
値の増加と減少
ユーザー更新ステップでは、属性値を増加または減少させることができます。属性を選択し、増分または減分を選択して、数値を入力します。
週間進捗のトラッキング
イベントをトラッキングするカスタム属性をインクリメントすることで、ユーザーが1週間に受講したクラス数をトラッキングできます。このコンポーネントを使用すると、クラスカウントを週の初めにリセットし、再びトラッキングを開始できます。

オブジェクトの配列の更新
オブジェクトの配列は、ユーザーのプロファイルに保存されるデータリッチなカスタム属性です。ユーザーとブランドとのインタラクション履歴を作成したり、購入履歴や生涯価値の合計などの計算フィールドに基づいてセグメントを作成したりするために使用できます。
高度なJSONエディターオプションを使用すると、JSONを挿入してこのオブジェクトの配列にアイテムを追加したり、削除したりできます。
ユースケース:ユーザーのウィッシュリストの更新
ユーザーのウィッシュリストをトラッキングして、保存済みアイテムに基づいてセグメンテーションやパーソナライゼーションを行えるようにします。
- オブジェクトの配列であるカスタム属性を作成します(例:
wishlist)。各オブジェクトには、product_id、product_name、added_atなどのフィールドを含めることができます。 - ユーザー更新ステップで、高度なJSONエディターを選択します。次に、作成セクションで、
$addオペレーションを使用してアイテムを追加するか、$removeオペレーションを使用して値でアイテムを削除します。
以下は、ウィッシュリストにアイテムを追加する例です。
{
"attributes": [
{
"wishlist": {
"$add": [
{
"product_id": "SKU-123",
"product_name": "Wireless Headphones",
"added_at": "{{'now' | date: '%Y-%m-%dT%H:%M:%S%z'}}"
}
]
}
}
]
}
アイテムを削除するには、同じオブジェクト構造で "wishlist": { "$remove": [ { "product_id": "SKU-123", ... } ] } を使用します。これにより、Brazeがマッチングして削除できるようになります。
ユースケース:ショッピングカートの合計を計算する
ユーザーのショッピングカートにアイテムがある場合、新しいアイテムの追加や削除のタイミング、およびショッピングカートの合計金額をトラッキングします。
shopping_cartというカスタムオブジェクト配列を作成します。以下の例は、この属性がどのようになるかを示しています。各アイテムには固有のproduct_idがあり、priceを含む独自のネストされたオブジェクト配列に追加データが含まれています。
{
"attributes": [
{
"shopping_cart": [
{
"total_cart_value": number,
"shipping": number,
"items_in_cart": number,
"product_id": array,
"gift": boolean,
"discount_code": "enum",
"timestamp": {"$time" : "{{'now' | date: '%Y-%m-%dT%H:%M:%S%z'}}"}
}
]
}
]
}
- ユーザーがバスケットにアイテムを追加したときに記録される
add_item_to_cartという名前のカスタムイベントを作成します。 - このカスタムイベントを実行するユーザーをターゲットとするキャンバスを作成します。ユーザーがカートにアイテムを追加すると、このキャンバスがトリガーされます。その後、そのユーザーに直接メッセージをターゲットし、一定の支出額に達したときにクーポンコードを提供したり、一定時間カートを放棄した場合の対応など、ユースケースに合ったアクションを行えます。
shopping_cart属性には、多くのカスタムイベントの合計が含まれます。すべてのアイテムの合計コスト、カート内のアイテムの合計数、ショッピングカートにギフトが含まれているかどうかなどです。以下のような形になります。
{
"attributes": [
{
"shopping_cart": [
{
"total_cart_value": 22.99,
"shipping": 4.99,
"items_in_cart": 2,
"product_id": ["1001", "1002"],
"gift": true,
"discount_code": "flashsale1000",
"timestamp": {"$time" : "{{'now' | date: '%Y-%m-%dT%H:%M:%S%z'}}"}
}
]
}
]
}
エントリデータをカスタム属性として保持する
ユーザー更新ステップを使用して、キャンバスのエントリデータをカスタム属性にコピーすることで、ユーザーがキャンバスを退出した後もそのデータに基づいてセグメントやメッセージングを行えます。エントリデータはキャンバスの実行中のみLiquidで利用可能です。ユーザー更新を使用すると、プロファイルにデータを保存できます。
たとえば、カート放棄キャンバスでは、トリガーイベントの商品IDから most_recent_cart_item を設定し、後続のキャンペーンでその商品を再度ターゲティングできます。
- UIエディターで、属性を選択または作成します(例:
most_recent_cart_item)。 - アクションを更新に設定し、パーソナライゼーションを使用をオンにします。
- パーソナライゼーションモーダルからエントリプロパティを挿入します:
- ワークスペースでコンテキスト変数が表示される場合は、
{{context.${item_id}}}を使用します。 - ワークスペースでキャンバスエントリプロパティが表示される場合は、レガシーの
{{canvas_entry_properties.${item_id}}}を使用します。
- ワークスペースでコンテキスト変数が表示される場合は、
ワークスペースで使用される名前空間の詳細については、コンテキストおよびイベントプロパティを参照してください。
パーソナライゼーション
トリガーエントリデータを属性として保存するには、パーソナライゼーションを使用をオンにし、パーソナライゼーションモーダルからプロパティを挿入します。ユーザー更新では、以下のパーソナライゼーション機能もサポートされています:
- Connected Content
- Content Blocks
- コンテキストおよびイベントプロパティ(またはレガシーのキャンバスエントリプロパティ(永続的))
- Liquidロジック(メッセージの中止を含む)
- オブジェクトごとの複数の属性またはイベントの更新

ユーザー更新ステップでのConnected Content Liquidパーソナライゼーションの使用は慎重に行うことをお勧めします。このステップタイプには1分あたり200,000リクエストのレート制限があります。このレート制限はキャンバスのレート制限よりも優先されます。
高度なJSONエディター
属性、イベント、または購入のJSONオブジェクトを最大65,536文字までJSONエディターに追加できます。ユーザーのグローバル購読および購読グループの状態も設定できます。

JSONエディターを使用して、プレビューとテストタブでユーザープロファイルが変更内容で更新されることをプレビューおよびテストすることもできます。ランダムなユーザーを選択するか、特定のユーザーを検索できます。その後、ユーザーにテストを送信した後、生成されたリンクを使用してユーザープロファイルを表示します。

考慮事項
JSONエディターを使用する際にAPIキーなどの機密データを含める必要はありません。これはプラットフォームによって自動的に提供されます。以下のフィールドはJSONエディターに含めないでください:
- 外部ユーザーID
- APIキー
- Brazeクラスター URL
- プッシュトークンのインポートに関連するフィールド

キャンバスプロパティ(canvas_id、canvas_name、canvas_variant_name Liquidタグなど)は、ユーザー更新ステップではサポートされていません。
カスタムイベントを記録する
JSONエディターを使用して、カスタムイベントを記録することもできます。これにはISO形式のタイムスタンプが必要なため、最初にLiquidで日時を割り当てる必要があります。時刻付きのイベントを記録する次の例を参考にしてください。
{% assign timestamp = 'now' | date: "%Y-%m-%dT%H:%M:%SZ" %}
{
"events": [
{
"name": "logged_user_event",
"time": "{{timestamp}}"
}
]
}
次の例では、オプションのプロパティと app_id を使用したカスタムイベントにより、イベントを特定のアプリにリンクしています。
{% assign timestamp = 'now' | date: "%Y-%m-%dT%H:%M:%SZ" %}
{
"events": [
{
"app_id": "insert_app_id",
"name": "rented_movie",
"time": "{{timestamp}}",
"properties": {
"release": {
"studio": "FilmStudio",
"year": "2022"
},
"cast": [
{
"name": "Actor1"
},
{
"name": "Actor2"
}
]
}
}
]
}
購読状態を編集する
JSONエディター内でユーザーの購読状態を編集することもできます。たとえば、以下はユーザーの購読状態を opted_in に更新した例です。
{
"attributes": [
{
"email_subscribe": "opted_in"
}
]
}
購読グループを更新する
このキャンバスステップを使用して、購読グループを更新することもできます。以下の例は、1つ以上の購読グループを更新する方法を示しています。
{
"attributes": [
{
"subscription_groups": [
{
"subscription_group_id": "subscription_group_identifier_1",
"subscription_state": "subscribed"
},
{
"subscription_group_id": "subscription_group_identifier_2",
"subscription_state": "subscribed"
},
{
"subscription_group_id": "subscription_group_identifier_3",
"subscription_state": "subscribed"
}
]
}
]
}