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:
- Typ filtra grupy informacji o produktach
- `
AdGroup` lub `AssetGroup`, na którą kierowany jest filtr grupy informacji o produktach - Kolejność operacji
Zastanów się, jak są grupowane operacje:
- Wszystkie kolejne
AssetGroupListingGroupFilterOperationoperacje (create,update, iremove) kierowane na tę samąAssetGroupsą grupowane w niepodzielne podzadanie (bez częściowego niepowodzenia). - Wszystkie kolejne
AdGroupCriterionOperationoperacje (create,updateiremove) w przypadkuLISTING_GROUPkryteriów (AdGroupCriterion.listing_group) kierowanych na tę samąAdGroupsą grupowane w niepodzielne podzadanie (bez częściowego niepowodzenia). - Wszystkie inne kolejne operacje są grupowane w niepodzielne podzadania (częściowe niepowodzenie).
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.
Ograniczenia
Podczas pracy z filtrami grup informacji o produktach w kontekście zadań wsadowych obowiązują te ograniczenia:
- Pojedyncze niepodzielne podzadanie kolejnych
AdGroupCriterionOperationoperacji (create,updateiremove) w przypadku kryteriówLISTING_GROUP(AdGroupCriterion.listing_group) kierowanych na tę samąAdGroupnie może zawierać więcej niż 20 tys. operacji. Zalecamy jednak, aby nie przekraczać 10 tys. operacji. Ponieważ każdyAddBatchJobOperationsRequestjest ograniczony do 10 tys. operacji, podzadanieAdGroupzawierające od 10 001 do 20 tys. operacji musi zostać przesłane w co najmniej 2 kolejnych żądaniachAddBatchJobOperations. - Pojedyncze niepodzielne podzadanie kolejnych
AssetGroupListingGroupFilterOperationoperacji (create,update, iremove) kierowanych na tę samąAssetGroupnie 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:
- W przypadku
AdGroupCriterionOperationgrup informacji o produktach możesz zauważyć, że kolejne operacje kierowane na tę samąAdGroupzakończyły się niepowodzeniem z powodu błęduCriterionError.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.). - W przypadku
AssetGroupListingGroupFilterOperationoperacji, możesz zauważyć, że kolejne operacje kierowane na tę samąAssetGroupzakończyły się niepowodzeniem z powodu błęduBatchJobError.ASSET_GROUP_LISTING_GROUP_FILTER_TRANSACTION_FAILURE.
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.