Toplu işlerde listeleme grubu filtrelerini kullanma

AdGroupCriterion.listing_group veya AssetGroupListingGroupFilter bağlamında listeleme grubu filtreleriyle çalışırken entegrasyonunuzu tasarlarken aşağıdaki hususları dikkate alın.

Toplu bölme

AdGroup

Bir toplu işte reklam grubu ölçütleri veya öğe grubu listeleme grubu filtreleri içeren işlemler varsa toplu işteki işlemler, Google Ads API sunucusu tarafından alındığında birden fazla alt topluya bölünür. Bir toplu işte yapılan standart işlemlerden farklı olarak, listeleme grubu filtresi işlemleri içeren her bir alt toplu iş atomik olarak değerlendirilir.

Listeleme grubu filtreleri içeren toplu işlerin alt gruplara bölünme şekli aşağıdaki faktörlere göre belirlenir:

  1. Listeleme grubu filtresinin türü
  2. Listeleme grubu filtresi AdGroup veya AssetGroup hedefliyor
  3. İşlem sırası

İşlemlerin nasıl gruplandırıldığını göz önünde bulundurun:

Aşağıdaki şemada bu kavram gösterilmektedir. Gri kutuların her biri, Google Ads API kullanılarak gönderilen bir toplu işi temsil eder. Gri kutularda, Google Ads API sunucusunun oluşturduğu alt grupları temsil etmek için her bir işlem renge göre gruplandırılır. Gri kutulardaki işlemlerin sırası, işlemlerin toplu işe eklenme sırasına karşılık gelir.

Toplu işlemlerin alt toplu işlemler halinde gruplandırıldığını gösteren şema

Sınırlamalar

Toplu işler bağlamında listeleme grubu filtreleriyle çalışırken aşağıdaki sınırlamalar geçerlidir:

  • Aynı AdGroup öğesini hedefleyen LISTING_GROUP ölçütleri (AdGroupCriterion.listing_group) için ardışık AdGroupCriterionOperation işlemlerinin (create, update ve remove) tek bir atomik alt grubu, uzunluk olarak 20.000 işlemi aşamaz. Ancak 10.000 işlemi aşmamanız önerilir. Her AddBatchJobOperationsRequest 10.000 işlemle sınırlı olduğundan, 10.001 ila 20.000 işlem içeren bir AdGroup alt grubu en az iki ardışık AddBatchJobOperations isteğiyle yüklenmelidir.
  • Aynı AssetGroup öğesini hedefleyen ardışık AssetGroupListingGroupFilterOperation işlemlerinin (create, update ve remove) tek bir atomik alt grubu 10.000 işlemi aşamaz.
  • Bu işlem sayısı sınırlarından birinin ihlal edilmesi (veya tek bir alt toplu işlem için sunucunun dahili serileştirilmiş bayt boyutu sınırının aşılması), toplu işi söz konusu alt toplu işlemde iptal eder: Tamamlanmış olan önceki alt toplu işlemler işlenmiş olarak kalırken, ihlalde bulunan alt toplu işlemdeki ve sonraki alt toplu işlemlerdeki tüm işlemler InternalError.INTERNAL_ERROR hatasıyla başarısız olur.

Sorun giderme

Toplu işteki listeleme grubu filtre işlemleri tek bir işlem olarak işlenir. Bu durum, az sayıda hatalı işlem nedeniyle birçok işlemin başarısız olduğu senaryolara yol açabilir. Ayrıca, BatchJob işlemlerinin işlenme şekli nedeniyle, hataların temel nedeni, alt hatalardan önceki veya sonraki bir dizinde görünebilir.

Örneğin, ListBatchJobResults adlı kullanıcının yanıtı işlenirken:

Bu hatalar, aynı atomik alt gruptaki başka bir işlem başarısız olduğu için ilgili dizindeki işlemin geri alındığını gösterir. Sorunun temel nedenini belirlemek için aynı AdGroup veya AssetGroup kimliğini paylaşan işlemler için her BatchJobResult içindeki status mesajlarını (işlem hatasının operation_index öncesinde ve sonrasında) yineleyin.