「おすすめスポット」広告グループのリスティング グループの作成は、ホテル広告のリスティング グループと同じ構造階層とツリー構築プロセスで行います。
「おすすめスポット」のインベントリをパーティショニングするには、ListingDimensionInfo で使用できるアクティビティ専用のディメンションを使用します。
ActivityCountryInfo: 地域ターゲティング定数リソース名(geoTargetConstants/{criterion_id}。米国の場合は"geoTargetConstants/2840"など)を使用して、配信先の国(value)でフィルタします。ActivityStateInfo: 地域ターゲティング定数のリソース名(geoTargetConstants/{criterion_id})を使用して、地域(value)または地域でフィルタします。ActivityCityInfo: 地理的条件の定数リソース名(geoTargetConstants/{criterion_id}、ニューヨーク市の場合は"geoTargetConstants/1023191"など)を使用して、目的地(value)でフィルタします。ActivityRatingInfo: アクティビティの星またはユーザーの評価(value、1から5までの整数。5が最高)でフィルタします。ActivityIdInfo: やることセンター フィード(value)で定義された特定のアクティビティ ID でフィルタします。
ディメンション階層ルール
「おすすめスポット」リスティング グループのツリーを構築する際は、次のルールに従ってください。
- ルートノード: すべてのリスティング グループ ツリーは、
listing_group.typeがSUBDIVISION(単一の包括的なノードが必要な場合はUNIT)で、case_valueが設定されていない単一のルートAdGroupCriterionから始まる必要があります。 - 分割と単位: 中間ブランチは
typeをSUBDIVISIONに設定する必要があります。リーフノードはtypeをUNITに設定する必要があります。おすすめスポット キャンペーンでは、入札単価はキャンペーンのMaximizeConversionValue戦略によって自動的に管理されるため、UNITノードでcpc_bid_microsを設定することは任意です。リーフユニットをサービングから除外するには、そのAdGroupCriterionでnegative = trueを設定します。 - フォールバック(「その他」)ノード: すべてのサブディビジョンを完全にパーティショニングする必要があります。下位区分の直下の子ノードはすべて同じ
ListingDimensionInfoサブタイプを使用する必要があります。また、残りのすべての在庫をキャプチャするために、そのサブタイプの空のインスタンスを 1 つの子ノードにする必要があります。
次のツリーは、国、都市、アクティビティ ID でパーティショニングされた有効な階層を示しています。
Root (SUBDIVISION)
├── ActivityCountryInfo: "geoTargetConstants/2840" (US, SUBDIVISION)
│ ├── ActivityCityInfo: "geoTargetConstants/1023191" (New York, SUBDIVISION)
│ │ ├── ActivityIdInfo: "activity_123" (UNIT, biddable)
│ │ └── ActivityIdInfo: <empty> (UNIT, "Everything else in New York")
│ └── ActivityCityInfo: <empty> (UNIT, "Everything else in US")
└── ActivityCountryInfo: <empty> (UNIT, negative=true, excluded)
サンプルコード
次の Python の例では、一時 ID(-1)を使用してルート SUBDIVISION を作成し、ActivityCountryInfo でパーティショニングして、米国向けのターゲット ユニット("geoTargetConstants/2840")と、他のすべての国向けの除外されたフォールバック ユニットに分割しています。
ad_group_service = client.get_service("AdGroupService")
ad_group_criterion_service = client.get_service("AdGroupCriterionService")
ad_group_resource_name = ad_group_service.ad_group_path(
customer_id, ad_group_id
)
operations = []
# 1. Create the root SUBDIVISION node with temporary criterion ID -1.
root_op = client.get_type("AdGroupCriterionOperation")
root = root_op.create
root.resource_name = ad_group_criterion_service.ad_group_criterion_path(
customer_id, ad_group_id, -1
)
root.status = client.enums.AdGroupCriterionStatusEnum.ENABLED
root.listing_group.type_ = client.enums.ListingGroupTypeEnum.SUBDIVISION
operations.append(root_op)
# 2. Create a child UNIT node targeting activities in the US.
us_op = client.get_type("AdGroupCriterionOperation")
us_unit = us_op.create
us_unit.ad_group = ad_group_resource_name
us_unit.status = client.enums.AdGroupCriterionStatusEnum.ENABLED
us_unit.listing_group.type_ = client.enums.ListingGroupTypeEnum.UNIT
us_unit.listing_group.parent_ad_group_criterion = root.resource_name
us_unit.listing_group.case_value.activity_country.value = "geoTargetConstants/2840"
operations.append(us_op)
# 3. Create the required fallback ("Everything else") UNIT node.
other_op = client.get_type("AdGroupCriterionOperation")
other_unit = other_op.create
other_unit.ad_group = ad_group_resource_name
other_unit.negative = True
other_unit.listing_group.type_ = client.enums.ListingGroupTypeEnum.UNIT
other_unit.listing_group.parent_ad_group_criterion = root.resource_name
client.copy_from(
other_unit.listing_group.case_value.activity_country,
client.get_type("ActivityCountryInfo"),
)
operations.append(other_op)
response = ad_group_criterion_service.mutate_ad_group_criteria(
customer_id=customer_id, operations=operations
)
次のステップ
- おすすめスポット レポートのクエリ アクティビティのパフォーマンス指標。