Aktivite Önerileri listeleme grupları oluşturma

Aktivite reklam grupları için listeleme grupları oluşturma, otel reklamları listeleme gruplarıyla aynı yapısal hiyerarşiyi ve ağaç oluşturma sürecini izler.

Aktivite Önerileri envanterinizi bölümlere ayırmak için ListingDimensionInfo'da bulunan özel etkinlik boyutlarını kullanın:

  • ActivityCountryInfo: Coğrafi hedef sabit kaynak adı (geoTargetConstants/{criterion_id}) kullanılarak hedef ülkeye (value) göre filtreler (ör. ABD için "geoTargetConstants/2840").
  • ActivityStateInfo: Coğrafi hedef sabit kaynak adı (geoTargetConstants/{criterion_id}) kullanarak hedef eyalete veya bölgeye (value) göre filtreler.
  • ActivityCityInfo: Bir coğrafi hedef sabit kaynak adı (geoTargetConstants/{criterion_id}) kullanarak hedef şehre (value) göre filtreler (ör. New York City için "geoTargetConstants/1023191").
  • ActivityRatingInfo: Etkinlik yıldızına veya kullanıcı puanına göre filtreler (value, 1 ile 5 arasında bir tam sayıdır ve 5 en iyisidir).
  • ActivityIdInfo: Yapılacaklar Merkezi feed'inizde (value) tanımlanan belirli etkinlik kimliğine göre filtreler.

Boyut hiyerarşisi kuralları

Aktivite Önerileri listeleme grubu ağacı oluştururken aşağıdaki kurallara uyun:

  1. Kök düğüm: Her listeleme grubu ağacı, AdGroupCriterion ile başlamalıdır. Bu düğümün listing_group.type değeri SUBDIVISION (tek bir kapsayıcı düğüm istiyorsanız UNIT) olmalı ve case_value değeri ayarlanmamış olmalıdır.
  2. Alt bölümler ve birimler: Ara dallar type öğesini SUBDIVISION olarak, yaprak düğümleri ise type öğesini UNIT olarak ayarlamalıdır. Teklif verme işlemi, kampanyanın MaximizeConversionValue stratejisi tarafından otomatik olarak yönetildiğinden aktivite önerileri kampanyalarında UNIT düğümlerinde cpc_bid_micros ayarı isteğe bağlıdır. Bir yaprak birimini yayınlamadan hariç tutmak için AdGroupCriterion özelliğini negative = true olarak ayarlayın.
  3. Yedek ("Diğer her şey") düğümleri: Her alt bölüm tamamen bölümlendirilmelidir. Bir alt bölümün tüm doğrudan alt öğeleri aynı ListingDimensionInfo alt türünü kullanmalıdır ve kalan tüm envanteri yakalamak için bir alt öğe, bu alt türün boş bir örneği olmalıdır.

Aşağıdaki ağaçta, ülke, şehir ve etkinlik kimliğine göre bölümlendirilmiş geçerli bir hiyerarşi gösterilmektedir:

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)

Kod örneği

Aşağıdaki Python örneğinde, geçici bir kimlik (-1) kullanılarak bir kök SUBDIVISION oluşturulur ve ActivityCountryInfo ile ABD için hedeflenen bir birime ("geoTargetConstants/2840") ve diğer tüm ülkeler için hariç tutulan bir yedek birime bölünür:

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
)

Sırada ne var?