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 informacji o produktach w grupie plików, operacje w tym zadaniu są dzielone na kilka podzadań po otrzymaniu przez serwer interfejsu Google Ads API. W przeciwieństwie do standardowych operacji w zadaniu wsadowym każdy podzbiór zawierający operacje filtrowania grupy plików jest traktowany jako całość.
Sposób, w jaki zadania wsadowe zawierające filtry grup informacji o produktach są dzielone na podzbiory, zależy od tych czynników:
- Typ filtra grupy informacji o produktach
- Filtr grupy informacji o produktach
AdGrouplubAssetGroupkieruje reklamy na - Kolejność działań
Zastanów się, jak są pogrupowane operacje:
- Wszystkie kolejne operacje
AssetGroupListingGroupFilterOperation(create,updateiremove) kierowane na ten samAssetGroupsą grupowane w atomowej podoperacji wsadowej (bez częściowego błędu). - Wszystkie kolejne operacje
AdGroupCriterionOperation(create,updateiremove) dotyczące kryteriówLISTING_GROUP(AdGroupCriterion.listing_group) kierowanych na ten sam elementAdGroupsą grupowane w atomową podgrupę (bez zachowania w przypadku częściowej awarii). - Wszystkie inne kolejne operacje są grupowane w nieatomowe podpartie (zachowanie w przypadku częściowej awarii).
Ten diagram ilustruje tę koncepcję. Każde szare pole reprezentuje zadanie wsadowe przesłane za pomocą interfejsu Google Ads API. W szarych polach poszczególne operacje są pogrupowane według koloru, co oznacza podzbiory, które tworzy serwer interfejsu 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:
- Pojedyncza niepodzielna partia podrzędna kolejnych operacji
AdGroupCriterionOperation(create,updateiremove) dotyczącychLISTING_GROUPkryteriówAdGroupCriterion.listing_groupkierowanych na to samoAdGroupnie może przekraczać 20 tys. operacji. Zalecamy jednak, aby nie przekraczać 10 tys. operacji. Ponieważ każdyAddBatchJobOperationsRequestma limit 10 tys. operacji, podpartiaAdGroupzawierająca od 10 001 do 20 000 operacji musi zostać przesłana w co najmniej 2 kolejnych żądaniachAddBatchJobOperations. - Pojedyncza niepodzielna partia podrzędna kolejnych operacji
AssetGroupListingGroupFilterOperation(create,updateiremove) kierowanych na ten samAssetGroupnie może przekraczać 10 000 operacji. - Przekroczenie któregokolwiek z tych limitów liczby operacji (lub przekroczenie wewnętrznego limitu rozmiaru bajtów serializowanych serwera dla pojedynczej partii podrzędnej) powoduje przerwanie zadania wsadowego w tej partii podrzędnej: wcześniejsze partie podrzędne, które zostały już ukończone, pozostają zatwierdzone, a wszystkie operacje w partii podrzędnej, która spowodowała problem, i wszystkie kolejne partie podrzędne kończą się niepowodzeniem z błędem
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 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 grup informacji o
AdGroupCriterionOperationproduktach możesz zauważyć, że kolejne operacje kierowane na ten samAdGroupnie powiodły się 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 operacji
AssetGroupListingGroupFilterOperationmoże się zdarzyć, że kolejne operacje kierowane na ten samAssetGroupzakończą się niepowodzeniem z powodu błęduBatchJobError.ASSET_GROUP_LISTING_GROUP_FILTER_TRANSACTION_FAILURE.
Te błędy wskazują, że operacja na tym indeksie została wycofana, ponieważ nie powiodła się inna operacja w tym samym niepodzielnym podpakiecie. Aby zidentyfikować główną przyczynę problemu, przejrzyj status wiadomości w każdym BatchJobResult – przed i po operation_index błędzie transakcji – w przypadku operacji o tym samym identyfikatorze AdGroup lub AssetGroup.