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ı göz önünde bulundurun.

Toplu bölme

Bir toplu iş, reklam grubu ölçütleri veya öğe grubu listeleme grubu filtreleri içeren işlemler barındırıyorsa toplu işteki işlemler, Google Ads API sunucusu tarafından alındığında birden fazla alt toplu işe bölünür. Toplu işteki standart işlemlerin aksine, listeleme grubu filtre işlemleri içeren her bir alt toplu iş atomik olarak ele alınır.

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

  1. Listeleme grubu filtresinin türü
  2. Listeleme grubu filtresinin hedeflediği AdGroup veya AssetGroup
  3. İşlem sırası

İşlemlerin nasıl gruplandırıldığını düşünün:

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 ayrı işlemler renge göre gruplandırılır. Gri kutuların her birindeki işlemlerin sırası, işlemlerin toplu işe eklenme sırasına karşılık gelir.

Alt gruplar halinde gruplandırılmış toplu işlemleri gösteren diyagram

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, 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'yi 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 uygulanmış 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'den gelen bir yanıtı işlerken:

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 her BatchJobResult içindeki status mesajlarını (işlem hatasının operation_index öncesinde ve sonrasında) aynı AdGroup veya AssetGroup kimliğini paylaşan işlemler için yineleyin.