グループ階層により、マーケターの顧客に対する洞察が向上し、特定のオーディエンスへのより一貫したメッセージングの配信が可能になります。
グループ階層をサポートする親(マスター)セグメントを作成するために必要な手順は次のとおりです:
- /audiences エンドポイントへの API 呼び出しを行ってペアレントセグメントを作成します。
- TD Console を使用してペアレントセグメントを実行します。
次の方法で、グループ階層をサポートするペアレントセグメントを作成できます:
- POST API 呼び出しを使用して新しいペアレントセグメントを作成する
- PATCH API 呼び出しを使用して既存のペアレントセグメントに customerGroup を挿入する
_/audiences_ エンドポイントへの POST API 呼び出しを行うには、作成するペアレントセグメントを定義する JSON オブジェクト(またはリクエストペイロード)を指定する必要があります。図 1 は、ファイル wt_hg_parentSegmentPost.json のリストです。このファイルには、ペアレントセグメントを作成するリクエストオブジェクトが含まれています。この例では、使用されるデータベースは acme_db、新しいペアレントセグメントの名前は wt_hg_parentSegment、作成される顧客グループ(またはグループ階層)の名前は account です。次は、JSON ファイルで API を呼び出す cURL コマンドの例です:
curl -X POST 'https://api-cdp.treasuredata.com/audiences/' \
-H 'AUTHORIZATION: TD1 1/123456789abcdef0123456789abcdef012345678' \
-H 'Content-Type: application/json' -d @wt_hg_parentSegmentPost.json成功すると、API 呼び出しは新しいペアレントセグメントを記述する JSON オブジェクトを返します。次は、返されるものの部分的に折りたたまれた例です:

図 1
{
"name":"wt_hg_parentSegment",
"description":"working segment",
"scheduleType":"none",
"scheduleOption":null,
"timezone":"America/Denver",
"master":{
"parentDatabaseName":"acme_db",
"parentTableName":"contacts"
},
"attributes":[
{
"name":"lead_id",
"parentDatabaseName":"acme_db",
"parentTableName":"leads",
"parentColumn":"lead_id",
"parentKey":"email",
"foreignKey":"email",
"matrixColumnName":"lead_id"
},
{
"name":"name",
"parentDatabaseName":"acme_db",
"parentTableName":"leads",
"parentColumn":"name",
"parentKey":"email",
"foreignKey":"email",
"matrixColumnName":"name"
},
{
"name":"lead_created_time",
"parentDatabaseName":"acme_db",
"parentTableName":"leads",
"parentColumn":"lead_created_time",
"parentKey":"email",
"foreignKey":"email",
"matrixColumnName":"lead_created_time"
},
{
"name":"lead_created_time_sisense",
"parentDatabaseName":"acme_db",
"parentTableName":"leads",
"parentColumn":"lead_created_time_sisense",
"parentKey":"email",
"foreignKey":"email",
"matrixColumnName":"lead_created_time_sisense"
},
{
"name":"auto_increment_id",
"parentDatabaseName":"acme_db",
"parentTableName":"leads",
"parentColumn":"auto_increment_id",
"parentKey":"email",
"foreignKey":"email",
"matrixColumnName":"auto_increment_id"
},
{
"name":"count_visit_webpage",
"parentDatabaseName":"acme_db",
"parentTableName":"contact_derived_attributes",
"parentColumn":"count_visit_webpage",
"parentKey":"contact_id",
"foreignKey":"contact_id",
"matrixColumnName":"count_visit_webpage"
},
{
"name":"count_click_links",
"parentDatabaseName":"acme_db",
"parentTableName":"contact_derived_attributes",
"parentColumn":"count_click_links",
"parentKey":"contact_id",
"foreignKey":"contact_id",
"matrixColumnName":"count_click_links"
},
{
"name":"count_search",
"parentDatabaseName":"acme_db",
"parentTableName":"contact_derived_attributes",
"parentColumn":"count_search",
"parentKey":"contact_id",
"foreignKey":"contact_id",
"matrixColumnName":"count_search"
},
{
"name":"count_input_contact_form",
"parentDatabaseName":"acme_db",
"parentTableName":"contact_derived_attributes",
"parentColumn":"count_input_contact_form",
"parentKey":"contact_id",
"foreignKey":"contact_id",
"matrixColumnName":"count_input_contact_form"
},
{
"name":"count_send_email",
"parentDatabaseName":"acme_db",
"parentTableName":"contact_derived_attributes",
"parentColumn":"count_send_email",
"parentKey":"contact_id",
"foreignKey":"contact_id",
"matrixColumnName":"count_send_email"
},
{
"name":"count_signup_free_plan",
"parentDatabaseName":"acme_db",
"parentTableName":"contact_derived_attributes",
"parentColumn":"count_signup_free_plan",
"parentKey":"contact_id",
"foreignKey":"contact_id",
"matrixColumnName":"count_signup_free_plan"
},
{
"name":"count_signup_business_plan",
"parentDatabaseName":"acme_db",
"parentTableName":"contact_derived_attributes",
"parentColumn":"count_signup_business_plan",
"parentKey":"contact_id",
"foreignKey":"contact_id",
"matrixColumnName":"count_signup_business_plan"
},
{
"name":"count_signup_enterprise_plan",
"parentDatabaseName":"acme_db",
"parentTableName":"contact_derived_attributes",
"parentColumn":"count_signup_enterprise_plan",
"parentKey":"contact_id",
"foreignKey":"contact_id",
"matrixColumnName":"count_signup_enterprise_plan"
},
{
"name":"average_score",
"parentDatabaseName":"acme_db",
"parentTableName":"contact_predictive_scores",
"parentColumn":"average_score",
"parentKey":"contact_id",
"foreignKey":"contact_id",
"matrixColumnName":"average_score"
},
{
"name":"score_product_a",
"parentDatabaseName":"acme_db",
"parentTableName":"contact_predictive_scores",
"parentColumn":"score_product_a",
"parentKey":"contact_id",
"foreignKey":"contact_id",
"matrixColumnName":"score_product_a"
},
{
"name":"score_product_b",
"parentDatabaseName":"acme_db",
"parentTableName":"contact_predictive_scores",
"parentColumn":"score_product_b",
"parentKey":"contact_id",
"foreignKey":"contact_id",
"matrixColumnName":"score_product_b"
},
{
"name":"score_product_c",
"parentDatabaseName":"acme_db",
"parentTableName":"contact_predictive_scores",
"parentColumn":"score_product_c",
"parentKey":"contact_id",
"foreignKey":"contact_id",
"matrixColumnName":"score_product_c"
},
{
"name":"score_product_d",
"parentDatabaseName":"acme_db",
"parentTableName":"contact_predictive_scores",
"parentColumn":"score_product_d",
"parentKey":"contact_id",
"foreignKey":"contact_id",
"matrixColumnName":"score_product_d"
},
{
"name":"score_product_e",
"parentDatabaseName":"acme_db",
"parentTableName":"contact_predictive_scores",
"parentColumn":"score_product_e",
"parentKey":"contact_id",
"foreignKey":"contact_id",
"matrixColumnName":"score_product_e"
}
],
"behaviors":[
{
"name":"opportunities",
"parentDatabaseName":"acme_db",
"parentTableName":"opportunities",
"parentKey":"contact_id",
"foreignKey":"contact_id",
"matrixDatabaseName":"cdp_audience_47462",
"matrixTableName":"behavior_opportunities",
"allColumns":true,
"scheduleType":"none",
"scheduleOption":null
},
{
"name":"weblogs",
"parentDatabaseName":"acme_db",
"parentTableName":"weblogs",
"parentKey":"email",
"foreignKey":"email",
"matrixDatabaseName":"cdp_audience_47462",
"matrixTableName":"behavior_weblogs",
"allColumns":true,
"scheduleType":"none",
"scheduleOption":null
},
{
"name":"contact_events",
"parentDatabaseName":"acme_db",
"parentTableName":"contact_events",
"parentKey":"contact_id",
"foreignKey":"contact_id",
"matrixDatabaseName":"cdp_audience_47462",
"matrixTableName":"behavior_contact_events",
"allColumns":true,
"scheduleType":"none",
"scheduleOption":null
}
],
"customerGroup":{
"name":"account",
"parentDatabaseName":"acme_db",
"parentTableName":"accounts",
"parentKey":"account_id",
"foreignKey":"account_id",
"customerGroupAttributes":[
{
"name":"location",
"parentDatabaseName":"acme_db",
"parentTableName":"account_brands",
"parentColumn":"location",
"parentKey":"account_id",
"foreignKey":"account_id"
},
{
"name":"industry",
"parentDatabaseName":"acme_db",
"parentTableName":"account_brands",
"parentColumn":"industry",
"parentKey":"account_id",
"foreignKey":"account_id"
},
{
"name":"established_at",
"parentDatabaseName":"acme_db",
"parentTableName":"account_brands",
"parentColumn":"established_at",
"parentKey":"account_id",
"foreignKey":"account_id"
},
{
"name":"established_at_sisense",
"parentDatabaseName":"acme_db",
"parentTableName":"account_brands",
"parentColumn":"established_at_sisense",
"parentKey":"account_id",
"foreignKey":"account_id"
},
{
"name":"contract_started_at",
"parentDatabaseName":"acme_db",
"parentTableName":"account_contracts",
"parentColumn":"contract_started_at",
"parentKey":"account_id",
"foreignKey":"account_id"
},
{
"name":"contract_last_confirmed_at",
"parentDatabaseName":"acme_db",
"parentTableName":"account_contracts",
"parentColumn":"contract_last_confirmed_at",
"parentKey":"account_id",
"foreignKey":"account_id"
},
{
"name":"contract_started_at_sisense",
"parentDatabaseName":"acme_db",
"parentTableName":"account_contracts",
"parentColumn":"contract_started_at_sisense",
"parentKey":"account_id",
"foreignKey":"account_id"
},
{
"name":"contract_last_confirmed_at_sisense",
"parentDatabaseName":"acme_db",
"parentTableName":"account_contracts",
"parentColumn":"contract_last_confirmed_at_sisense",
"parentKey":"account_id",
"foreignKey":"account_id"
},
{
"name":"total_amount",
"parentDatabaseName":"acme_db",
"parentTableName":"account_contracts",
"parentColumn":"total_amount",
"parentKey":"account_id",
"foreignKey":"account_id"
},
{
"name":"score_product_a",
"parentDatabaseName":"acme_db",
"parentTableName":"account_predictive_scores",
"parentColumn":"score_product_a",
"parentKey":"account_id",
"foreignKey":"account_id"
},
{
"name":"score_product_b",
"parentDatabaseName":"acme_db",
"parentTableName":"account_predictive_scores",
"parentColumn":"score_product_b",
"parentKey":"account_id",
"foreignKey":"account_id"
},
{
"name":"score_product_c",
"parentDatabaseName":"acme_db",
"parentTableName":"account_predictive_scores",
"parentColumn":"score_product_c",
"parentKey":"account_id",
"foreignKey":"account_id"
},
{
"name":"score_product_d",
"parentDatabaseName":"acme_db",
"parentTableName":"account_predictive_scores",
"parentColumn":"score_product_d",
"parentKey":"account_id",
"foreignKey":"account_id"
},
{
"name":"score_product_e",
"parentDatabaseName":"acme_db",
"parentTableName":"account_predictive_scores",
"parentColumn":"score_product_e",
"parentKey":"account_id",
"foreignKey":"account_id"
},
{
"name":"average_score",
"parentDatabaseName":"acme_db",
"parentTableName":"account_predictive_scores",
"parentColumn":"average_score",
"parentKey":"account_id",
"foreignKey":"account_id"
}
],
"customerGroupBehaviors":[
{
"name":"opportunities",
"parentDatabaseName":"acme_db",
"parentTableName":"opportunities",
"parentKey":"account_id",
"foreignKey":"account_id",
"allColumns":false,
"schema":[
{
"name":"timestamp_sisense",
"parentColumn":"timestamp_sisense"
},
{
"name":"stagename",
"parentColumn":"stagename"
},
{
"name":"product2",
"parentColumn":"product"
},
{
"name":"type",
"parentColumn":"type"
},
{
"name":"amount",
"parentColumn":"amount"
}
]
}
]
}
}/audiences エンドポイントへの PATCH API 呼び出しを行うには、ペアレントセグメントに挿入される customerGroup を指定するリクエストオブジェクト(またはリクエストペイロード)を指定する必要があります。このリクエストオブジェクトは、POST API 呼び出しで使用される wt_hg_parentSegmentPost.json リクエストオブジェクト(図 1 に示されています)とほぼ同じですが、2〜6 行目が削除されています。

リクエストオブジェクトを作成した後、ファイルとして保存し(例:wt_hg_parentSegmentPatch.json)、/audiences/ <audienceId> エンドポイントに PATCH します。次の例では、audienceId として 278153 が使用されています。
curl -X PATCH 'https://api-cdp.treasuredata.com/audiences/278153' -H 'AUTHORIZATION: TD1 1/123456789abcdef0123456789abcdef012345678' -H 'Content-Type: application/json' -d @wt_hg_parentSegmentPatch.json | jq .
{
"id": "278153",
"name": "wtt_parentSegment1",
"description": "working segment",
"scheduleType": "none",
"scheduleOption": null,
"timezone": "America/Denver",
"createdAt": "2022-07-19T15:56:10.324Z",
"updatedAt": "2022-07-19T19:34:26.780Z",
"createdBy": {
"id": "10430",
"td_user_id": "49717",
"name": "wtt"
},
"updatedBy": {
"id": "10430",
"td_user_id": "49717",
"name": "wtt"
},
"matrixUpdatedAt": null,
"workflowHiveOnly": false,
"hiveEngineVersion": "cdpaudience",
"hivePoolName": null,
"prestoPoolName": null,
"population": null,
"rootFolderId": "439171",
"master": {
"parentDatabaseName": "acme_db",
"parentTableName": "contacts"
},
"attributes": [
{
"audienceId": "278153",
"id": "1657919",
.
.
.新しく作成したペアレントセグメントを実行するには:
- TD Console から、Data Workbench > Master Segments に移動します。
- 名前で検索するか、コンソール URL にペアレントセグメント ID を入力して、作成したペアレントセグメントを見つけます。この例では、ペアレントセグメントの ID は 278153 です。
- Master Segments ペインで、Run を選択します。

TD Console はワークフローを実行し、Workflows ペインで成功を報告します。これで、ペアレントセグメントからバッチセグメントを作成できるようになりました。
新しいペアレントセグメントを Audience Studio で表示したい場合は、ペアレントセグメントでフィーチャーフラグを有効にする必要があります。このリクエストのサポートについては、カスタマーサポートにお問い合わせください。
グループ階層をサポートするペアレントセグメントを作成する API を呼び出す場合、ペアレントセグメントの属性と行動を含むリクエストオブジェクトを定義する必要があります。さらに、このリクエストペイロードには、customerGroup の名前、customerGroupAttributes、および customerGroupBehaviors が含まれます。次は、リクエストオブジェクトの構造の簡略化された表現です。
