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:
- Listeleme grubu filtresinin türü
- Listeleme grubu filtresinin hedeflediği
AdGroupveyaAssetGroup - İşlem sırası
İşlemlerin nasıl gruplandırıldığını düşünün:
- Aynı
AssetGroupöğesini hedefleyen tüm ardışıkAssetGroupListingGroupFilterOperationişlemleri (create,updateveremove), atomik bir alt grupta gruplandırılır (kısmi hata davranışı yoktur). - Aynı
AdGroupöğesini hedefleyenLISTING_GROUPölçütleri (AdGroupCriterion.listing_group) için tüm ardışıkAdGroupCriterionOperationişlemleri (create,updateveremove), atomik bir alt grupta (kısmi hata davranışı yok) gruplandırılır. - Diğer tüm ardışık işlemler, atomik olmayan alt gruplar halinde gruplandırılır (kısmi hata davranışı).
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.
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 hedefleyenLISTING_GROUPölçütleri (AdGroupCriterion.listing_group) için ardışıkAdGroupCriterionOperationişlemlerinin (create,updateveremove) tek bir atomik alt grubu, 20.000 işlemi aşamaz. Ancak 10.000 işlemi aşmamanız önerilir. HerAddBatchJobOperationsRequest10.000 işlemle sınırlı olduğundan, 10.001 ila 20.000 işlem içeren birAdGroupalt grubu en az iki ardışıkAddBatchJobOperationsisteğiyle yüklenmelidir. - Aynı
AssetGroup'yi hedefleyen ardışıkAssetGroupListingGroupFilterOperationişlemlerinin (create,updateveremove) 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_ERRORhatası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:
AdGroupCriterionOperationlisteleme grupları için aynıAdGroupöğesini hedefleyen ardışık işlemlerinCriterionError.LISTING_GROUP_ERROR_IN_ANOTHER_OPERATION(Product group operations are atomic within the same ad group. This operation failed because another operation targeting the same ad group ID was invalid.) hatasıyla başarısız olduğunu görebilirsiniz.AssetGroupListingGroupFilterOperationişlemleri için aynıAssetGroupöğesini hedefleyen ardışık işlemlerinBatchJobError.ASSET_GROUP_LISTING_GROUP_FILTER_TRANSACTION_FAILUREhatasıyla başarısız olduğunu görebilirsiniz.
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.