Membuat grup listingan Rekomendasi aktivitas

Pembuatan grup listingan untuk grup iklan Rekomendasi aktivitas mengikuti hierarki struktural dan proses pembuatan hierarki 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 Amerika Serikat).
  • ActivityStateInfo: Memfilter menurut negara bagian atau wilayah tujuan (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 sebagai yang terbaik).
  • ActivityIdInfo: Memfilter menurut ID aktivitas tertentu yang ditentukan dalam feed Pusat Rekomendasi Aktivitas (value).

Aturan hierarki dimensi

Saat membuat hierarki grup listingan Rekomendasi aktivitas, ikuti aturan berikut:

  1. Node root: Setiap hierarki kelompok listing harus dimulai dengan satu root 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. Menetapkan cpc_bid_micros di 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 pada AdGroupCriterion-nya.
  3. Node penggantian ("Lainnya"): Setiap subdivisi harus dipartisi sepenuhnya. Semua turunan langsung dari sub-grup harus menggunakan subjenis ListingDimensionInfo yang sama, dan satu turunan harus berupa instance kosong dari subjenis tersebut untuk mencakup semua inventaris yang tersisa.

Hierarki berikut mengilustrasikan hierarki yang 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 berdasarkan ActivityCountryInfo menjadi unit yang ditargetkan untuk AS ("geoTargetConstants/2840") dan unit pengganti 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