Membuat grup listingan Rekomendasi aktivitas

Pembuatan grup listingan untuk grup iklan Aktivitas mengikuti hierarki struktural dan proses pembuatan struktur yang sama dengan grup listingan Iklan Hotel.

Untuk mempartisi inventaris Rekomendasi aktivitas, gunakan dimensi aktivitas khusus yang tersedia di ListingDimensionInfo:

  • ActivityCountryInfo: Memfilter menurut negara tujuan (value), menggunakan nama resource Geo Target Constant (geoTargetConstants/{criterion_id}, seperti "geoTargetConstants/2840" untuk AS).
  • ActivityStateInfo: Memfilter menurut status tujuan atau wilayah (value), menggunakan nama resource Geo Target Constant (geoTargetConstants/{criterion_id}).
  • ActivityCityInfo: Memfilter menurut kota tujuan (value), menggunakan nama resource Geo Target Constant (geoTargetConstants/{criterion_id}, seperti "geoTargetConstants/1023191" untuk New York City).
  • ActivityRatingInfo: Memfilter menurut bintang aktivitas atau rating pengguna (value, bilangan bulat dari 1 hingga 5, dengan 5 adalah yang terbaik).
  • ActivityIdInfo: Memfilter menurut ID aktivitas tertentu yang ditentukan di feed Pusat aktivitas (value).

Aturan hierarki dimensi

Saat membuat struktur kelompok listing Rekomendasi aktivitas, ikuti aturan berikut:

  1. Node root: Setiap hierarki kelompok listing harus dimulai dengan satu AdGroupCriterion yang listing_group.type-nya adalah SUBDIVISION (atau UNIT jika Anda menginginkan satu node umum) dan case_value-nya tidak ditetapkan.
  2. Subdivisi dan unit: Cabang perantara harus menetapkan type ke SUBDIVISION, sedangkan node daun harus menetapkan type ke UNIT. Setelan cpc_bid_micros pada node UNIT bersifat opsional untuk kampanye Rekomendasi aktivitas karena bidding dikelola secara otomatis oleh strategi MaximizeConversionValue kampanye. Untuk mengecualikan unit daun dari penayangan, tetapkan negative = true di AdGroupCriterion-nya.
  3. Node penggantian ("Lainnya"): Setiap subdivisi harus dipartisi sepenuhnya. Semua turunan langsung sub-divisi harus menggunakan sub-jenis ListingDimensionInfo yang sama, dan satu turunan harus berupa instance kosong dari sub-jenis tersebut untuk mencakup semua inventaris yang tersisa.

Struktur berikut menggambarkan hierarki valid yang dipartisi menurut negara, kota, dan ID aktivitas:

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)

Contoh kode

Contoh Python berikut membuat SUBDIVISION root menggunakan ID sementara (-1) dan mempartisinya menurut ActivityCountryInfo menjadi unit yang ditargetkan untuk Amerika Serikat ("geoTargetConstants/2840") dan unit penggantian yang dikecualikan untuk semua negara lainnya:

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
)

Langkah berikutnya