Używanie filtrów grup informacji o produktach w zadaniach zbiorczych

Podczas pracy z filtrami grup informacji o produktach w kontekście AdGroupCriterion.listing_group lub AssetGroupListingGroupFilter przy projektowaniu integracji weź pod uwagę te kwestie.

Dzielenie wsadowe

Jeśli w zadaniu wsadowym znajdują się operacje zawierające kryteria grupy reklam lub filtry grup produktów w grupie plików, operacje w zadaniu wsadowym są dzielone na kilka podzadań po otrzymaniu przez serwer Google Ads API. W przeciwieństwie do standardowych operacji w zadaniu wsadowym każde podzadanie zawierające operacje filtrowania grup produktów jest traktowane jako niepodzielne.

Sposób, w jaki zadania wsadowe zawierające filtry grup informacji o produktach są dzielone na podzadania, zależy od tych czynników:

  1. Typ filtra grupy informacji o produktach
  2. `AdGroup` lub `AssetGroup`, na którą kierowany jest filtr grupy informacji o produktach
  3. Kolejność operacji

Zastanów się, jak są grupowane operacje:

Tę koncepcję ilustruje poniższy diagram. Każde z szarych pól reprezentuje zadanie wsadowe przesłane za pomocą interfejsu Google Ads API. W szarych polach poszczególne operacje są pogrupowane według koloru, aby reprezentować podzadania tworzone przez serwer Google Ads API. Kolejność operacji w każdym z szarych pól odpowiada kolejności, w jakiej operacje zostałyby dodane do zadania wsadowego.

Diagram przedstawiający operacje wsadowe pogrupowane w podwsady

Ograniczenia

Podczas pracy z filtrami grup informacji o produktach w kontekście zadań wsadowych obowiązują te ograniczenia:

  • Pojedyncze niepodzielne podzadanie kolejnych AdGroupCriterionOperation operacji (create, update i remove) w przypadku kryteriów LISTING_GROUP (AdGroupCriterion.listing_group) kierowanych na tę samą AdGroup nie może zawierać więcej niż 20 tys. operacji. Zalecamy jednak, aby nie przekraczać 10 tys. operacji. Ponieważ każdy AddBatchJobOperationsRequest jest ograniczony do 10 tys. operacji, podzadanie AdGroup zawierające od 10 001 do 20 tys. operacji musi zostać przesłane w co najmniej 2 kolejnych żądaniach AddBatchJobOperations.
  • Pojedyncze niepodzielne podzadanie kolejnych AssetGroupListingGroupFilterOperation operacji (create, update, i remove) kierowanych na tę samą AssetGroup nie może zawierać więcej niż 10 tys. operacji.
  • Naruszenie któregokolwiek z tych limitów liczby operacji (lub przekroczenie wewnętrznego limitu rozmiaru bajtów serializowanych serwera dla pojedynczego podzadania) powoduje przerwanie zadania wsadowego w tym podzadaniu: wszystkie wcześniejsze podzadania, które zostały już ukończone, pozostają zatwierdzone, a wszystkie operacje w podzadaniu powodującym problem i wszystkich kolejnych podzadaniach kończą się niepowodzeniem z powodu błędu InternalError.INTERNAL_ERROR.

Rozwiązywanie problemów

Operacje filtrowania grup informacji o produktach w zadaniu wsadowym są przetwarzane jako jedna transakcja, co może prowadzić do sytuacji, w których wiele operacji kończy się niepowodzeniem z powodu niewielkiej liczby błędnych operacji. Ponadto ze względu na sposób przetwarzania operacji BatchJob główna przyczyna niepowodzeń może pojawić się w indeksie przed lub po niepowodzeniach w dalszej części procesu.

Na przykład podczas przetwarzania odpowiedzi z ListBatchJobResults:

Te błędy wskazują, że operacja w tym indeksie została wycofana, ponieważ inna operacja w tym samym niepodzielnym podzadaniu nie powiodła się. Aby zidentyfikować główną przyczynę problemu, przejrzyj status komunikaty w każdym BatchJobResult – przed i po operation_index błędu transakcji – w przypadku operacji, które mają ten sam AdGroup lub AssetGroup identyfikator.