Brazeの配列の消費データポイントをAPIを叩いて確認してみる
データ事業本部のueharaです。
今回は、Brazeの配列の消費データポイントをAPIを叩いて確認してみたいと思います。
はじめに
Brazeのデータポイントについて、配列に関して公式ドキュメントのTipに以下のような記載があります。
Tip:
配列全体を一度に設定すると、1 データポイントとしてカウントされます。そのため、配列は、関連情報を使用してユーザープ> ロファイルを最新状態に保ち、コストを削減する優れたツールです。
ただ、オブジェクト配列の公式ドキュメントを確認すると、例えば以下のリクエストをすると「8データポイント」消費されると記載されています。
{
"attributes": [
{
"external_id": "user_id",
"pets": [
{
"id": 1,
"type": "dog",
"breed": "beagle",
"name": "Gus"
},
{
"id": 2,
"type": "cat",
"breed": "calico",
"name": "Gerald"
}
]
}
]
}
今回は配列と、特にオブジェクト配列についてもAPIを叩いてデータ連携し、実際に消費されるデータポイントを確認してみます。
なお、お手元で実行したい場合はAPIのエンドポイントはお使いのダッシュボードのロケーションに合わせて指定をしてください。
配列の場合
テスト用に、以下のリクエストを実行します。(APIキーはマスクしています)
curl --location --request POST 'https://rest.fra-02.braze.eu/users/track' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer **********' \
--data-raw '{
"attributes": [
{
"external_id": "user_hoge",
"recommend_simple_array": [
"11111",
"22222",
"33333"
]
}
]
}'
送信している attributes
は recommend_simple_array
として、おすすめするコンテンツのID番号を配列として入力するようなイメージをしています。
配列の中には3つの要素を入れています。
上記リクエストのレスポンスは以下の通りでした。1ユーザーに対しての更新なので、想定通りです。
{"attributes_processed":1,"message":"success"}
消費データポイントを確認すると、以下の通り 1
となっていました。
確かに、配列の場合だと配列内に複数の要素が含まれていてもデータポイントの消費は 1 となるようです。
オブジェクト配列の場合
今度は、オブジェクト配列でリクエストしてみます。
さっきのリクエストから少し変え、以下のようにしてみました。(APIキーは同様にマスクしています)
curl --location --request POST 'https://rest.fra-02.braze.eu/users/track' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer **********' \
--data-raw '{
"attributes": [
{
"external_id": "user_hoge",
"recommend_object_array": [
{
"contents_id": "11111",
"recommend_score": "0.1"
},
{
"contents_id": "22222",
"recommend_score": "0.2",
},
{
"contents_id": "33333",
"recommend_score": "0.3",
}
]
}
]
}'
送信している attributes
は recommend_object_array
として、おすすめするコンテンツのID番号を contents_id
, そのおすすめ度合いのスコアを recommend_score
としたJSON形式のデータを配列の形式で格納しています。
上記リクエストのレスポンスは以下の通りでした。1ユーザーに対しての更新なので、先ほどと同じ結果になります。
{"attributes_processed":1,"message":"success"}
消費データポイントを確認すると、今度は 6
となっていました。
やはり、オブジェクト配列の場合は消費データポイントが 1
になってくれるということは無く、末端のValue毎にデータポイントが消費されてしまうようです。
※上記例だと、「contents_id
x 3, recommend_score
x 3」の計 6 データポイントが消費されている。
検証まとめ
単純な配列の場合、複数の要素を入れてもデータポイントは1となりました。
ドキュメントに記載されている通り、配列を利用することはコスト削減に繋がりそうです。
一方で、オブジェクト配列の場合は末端のValue毎にデータポイントが消費されました。
「配列なら何でもデータポイントが1になる」、という訳ではないため、意識して利用する必要がありそうです。
最後に
今回は、Brazeの配列の消費データポイントをAPIを叩いて確認してみました。
参考になりましたら幸いです。