Aktivite Önerileri listeleme grupları oluşturma

Aktivite önerileri reklam grupları için listeleme grubu oluşturma işlemi, Otel Reklamları listeleme grupları ile 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 sabiti kaynak adı (geoTargetConstants/{criterion_id}, ABD için "geoTargetConstants/2840" gibi) kullanarak hedef ülkeye (value) göre filtreler.
  • ActivityStateInfo: Hedef eyalet veya bölgeye (value) göre filtreleme yapar. Bunun için bir coğrafi hedef sabit kaynak adı (geoTargetConstants/{criterion_id}) kullanır.
  • ActivityCityInfo: Coğrafi hedef sabiti kaynak adı (geoTargetConstants/{criterion_id}, New York City için "geoTargetConstants/1023191" gibi) kullanarak varış şehrine (value) göre filtreler.
  • ActivityRatingInfo: Etkinlik yıldızına veya kullanıcı puanına göre filtreler (value, 1 ile 5 arasında bir tam sayı, 5 en iyi puandır).
  • 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ı, listing_group.type değeri SUBDIVISION (veya tek bir genel düğüm istiyorsanız UNIT) olan ve case_value değeri ayarlanmamış tek bir kök AdGroupCriterion ile başlamalıdır.
  2. Alt bölümler ve birimler: Ara dallar type değerini SUBDIVISION olarak ayarlamalı, yaprak düğümler ise type değerini UNIT olarak ayarlamalıdır. Teklifler, 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 birimi yayınlanmaktan hariç tutmak için AdGroupCriterion öğesinde negative = true değerini ayarlayın.
  3. Yedek ("Diğer her şey") düğümleri: Her alt bölüm tamamen bölünmelidir. Bir alt bölümün tüm 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ümlere ayrılmış 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 kök SUBDIVISION oluşturulur ve bu kök, ActivityCountryInfo ölçütüne göre ABD ("geoTargetConstants/2840") için hedeflenen bir birime 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?