Tạo nhóm trang thông tin về Điểm tham quan

Việc tạo nhóm trang thông tin cho nhóm quảng cáo Điểm tham quan cũng tuân theo cấu trúc phân cấp và quy trình xây dựng cây tương tự như nhóm trang thông tin của Quảng cáo khách sạn.

Để phân vùng khoảng không quảng cáo Điểm tham quan, hãy sử dụng các phương diện hoạt động chuyên biệt có trong ListingDimensionInfo:

  • ActivityCountryInfo: Lọc theo quốc gia đích (value), sử dụng tên tài nguyên hằng mục tiêu địa lý (geoTargetConstants/{criterion_id}, chẳng hạn như "geoTargetConstants/2840" cho Hoa Kỳ).
  • ActivityStateInfo: Lọc theo tiểu bang hoặc khu vực đích (value), sử dụng tên tài nguyên mục tiêu địa lý hằng (geoTargetConstants/{criterion_id}).
  • ActivityCityInfo: Lọc theo thành phố đích đến (value), sử dụng tên tài nguyên Geo Target Constant (geoTargetConstants/{criterion_id}, chẳng hạn như "geoTargetConstants/1023191" cho Thành phố New York).
  • ActivityRatingInfo: Lọc theo số sao của hoạt động hoặc điểm xếp hạng từ người dùng (value, một số nguyên từ 1 đến 5, trong đó 5 là mức cao nhất).
  • ActivityIdInfo: Lọc theo mã hoạt động cụ thể được xác định trong nguồn cấp dữ liệu của bạn trên Things to do Center (value).

Quy tắc về hệ phân cấp phương diện

Khi tạo cây nhóm trang thông tin Điểm tham quan, hãy tuân thủ các quy tắc sau:

  1. Nút gốc: Mỗi cây nhóm trang thông tin phải bắt đầu bằng một nút gốc duy nhất AdGroupCriterion có listing_group.type là SUBDIVISION (hoặc UNIT nếu bạn muốn có một nút tổng hợp duy nhất) và có case_value chưa được đặt.
  2. Phân khu và đơn vị: Các nhánh trung gian phải đặt type thành SUBDIVISION, còn các nút lá phải đặt type thành UNIT. Bạn không bắt buộc phải đặt cpc_bid_micros trên các nút UNIT cho chiến dịch Điểm tham quan vì chiến lược MaximizeConversionValue của chiến dịch sẽ tự động quản lý hoạt động đặt giá thầu. Để loại trừ một đơn vị lá khỏi việc phân phát, hãy đặt negative = true trên AdGroupCriterion của đơn vị đó.
  3. Nút dự phòng ("Tất cả các nút khác"): Mọi phân mục đều phải được phân vùng hoàn toàn. Tất cả các phần tử con trực tiếp của một phân khu phải sử dụng cùng một loại phụ ListingDimensionInfo và một phần tử con phải là một thực thể trống của loại phụ đó để thu thập tất cả khoảng không quảng cáo còn lại.

Cây sau đây minh hoạ một hệ phân cấp hợp lệ được phân vùng theo quốc gia, thành phố và mã hoạt động:

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)

Ví dụ về mã

Ví dụ sau đây bằng Python tạo một SUBDIVISION gốc bằng mã tạm thời (-1) và phân vùng theo ActivityCountryInfo thành một đơn vị được nhắm mục tiêu cho Hoa Kỳ ("geoTargetConstants/2840") và một đơn vị dự phòng bị loại trừ cho tất cả các quốc gia khác:

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
)

Bước tiếp theo