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 Hoạt động giải trí tuân theo cùng một hệ thống phân cấp cấu trúc và quy trình tạo cây 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), bằng cách sử dụng tên tài nguyên Hằng số 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 đến (value), bằng cách sử dụng tên tài nguyên Hằng số mục tiêu địa lý (geoTargetConstants/{criterion_id}).
  • ActivityCityInfo: Lọc theo thành phố đích (value), bằng cách 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à điểm 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 Trung tâm hoạt động (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 về Đ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 AdGroupCriterion duy nhất có listing_group.type là SUBDIVISION (hoặc UNIT nếu bạn muốn một nút chung duy nhất) và case_value chưa được đặt.
  2. Phân chia và đơn vị: Các nhánh trung gian phải đặt type thành SUBDIVISION, trong khi 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ý việc đặ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. Các nút dự phòng ("Mọi thứ khác"): Mọi phân nhánh đề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 nhánh 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ã nhận dạng 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 về Python sẽ tạo một SUBDIVISION gốc bằng cách sử dụng mã nhận dạng tạm thời (-1) và phân vùng mã nhận dạng đó theo ActivityCountryInfo thành một đơn vị được nhắm đến 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