Wenn Sie mit Filtern für Eintragsgruppen im Kontext von
AdGroupCriterion.listing_group oder an
AssetGroupListingGroupFilter arbeiten, sollten Sie bei der Entwicklung Ihrer Integration die
folgenden Punkte berücksichtigen.
Batchaufteilung
Wenn ein Batchjob Vorgänge enthält, die Anzeigengruppenkriterien oder Filter für Listengruppen von Asset-Gruppen enthalten, werden die Vorgänge im Batchjob beim Empfang durch den Google Ads API-Server in mehrere Unter-Batches aufgeteilt. Im Gegensatz zu Standardvorgängen in einem Batchjob wird jeder Unter-Batch, der Vorgänge für Listengruppenfilter enthält, atomar behandelt.
Die Art und Weise, wie Batchjobs mit Eintragsgruppenfiltern in Unter-Batches aufgeteilt werden, hängt von den folgenden Faktoren ab:
- Typ des Eintragsgruppenfilters
- Die
AdGroupoderAssetGroup, auf die der Eintragsgruppenfilter ausgerichtet ist - Reihenfolge von Vorgängen
Beachten Sie, wie Vorgänge gruppiert werden:
- Alle aufeinanderfolgenden
AssetGroupListingGroupFilterOperationVorgänge (create,updateundremove), die auf dieselbeAssetGroupausgerichtet sind, werden in einem atomaren Unter-Batch zusammengefasst (kein Verhalten bei teilweisem Fehler). - Alle aufeinanderfolgenden
AdGroupCriterionOperationVorgänge (create,update, undremove) fürLISTING_GROUPKriterien (AdGroupCriterion.listing_group) , die auf dieselbeAdGroupausgerichtet sind, werden in einem atomaren Unter-Batch zusammengefasst (kein Verhalten bei teilweisem Fehler). - Alle anderen aufeinanderfolgenden Vorgänge werden in nicht atomaren Unter-Batches zusammengefasst (Verhalten bei teilweisem Fehler).
Das folgende Diagramm veranschaulicht dieses Konzept. Jedes der grauen Kästchen steht für einen Batchjob, der über die Google Ads API gesendet wurde. In den grauen Kästchen sind die einzelnen Vorgänge nach Farbe gruppiert, um die Unter-Batches darzustellen, die der Google Ads API-Server erstellt. Die Reihenfolge der Vorgänge in den einzelnen grauen Kästchen entspricht der Reihenfolge, in der die Vorgänge dem Batchjob hinzugefügt wurden.
Beschränkungen
Bei der Arbeit mit Filtern für Eintragsgruppen im Kontext von Batchjobs gelten die folgenden Einschränkungen:
- Ein einzelner atomarer Unter-Batch mit aufeinanderfolgenden
AdGroupCriterionOperation-Vorgängen (create,updateundremove) fürLISTING_GROUP-Kriterien (AdGroupCriterion.listing_group) , die auf dieselbeAdGroupausgerichtet sind,darf nicht mehr als 20.000 Vorgänge umfassen. Es wird jedoch empfohlen, 10.000 Vorgänge nicht zu überschreiten. Da jederAddBatchJobOperationsRequestauf 10.000 Vorgänge begrenzt ist, muss einAdGroup-Unter-Batch mit 10.001 bis 20.000 Vorgängen auf mindestens zwei aufeinanderfolgendeAddBatchJobOperations-Anfragen verteilt werden. - Ein einzelner atomarer Unter-Batch mit aufeinanderfolgenden
AssetGroupListingGroupFilterOperationVorgängen (create,update, undremove), die auf dieselbeAssetGroupausgerichtet sind, darf nicht mehr als 10.000 Vorgänge umfassen. - Wenn eine dieser Beschränkungen für die Anzahl der Vorgänge überschritten wird (oder die interne serialisierte Byte-Größenbeschränkung des Servers für einen einzelnen Unter-Batch überschritten wird), wird der Batchjob an diesem Unter-Batch abgebrochen. Alle vorherigen Unter-Batches, die bereits abgeschlossen wurden, bleiben bestehen, während alle Vorgänge im fehlerhaften Unter-Batch und alle nachfolgenden Unter-Batches mit
InternalError.INTERNAL_ERRORfehlschlagen.
Fehlerbehebung
Vorgänge für Eintragsgruppenfilter in einem Batchjob werden als eine Transaktion verarbeitet. Dies kann dazu führen, dass viele Vorgänge aufgrund einer kleinen Anzahl fehlerhafter Vorgänge fehlschlagen. Aufgrund der Art und Weise, wie BatchJob
Vorgänge verarbeitet werden, kann die Ursache der Fehler an einem Index
vor oder nach den nachgelagerten Fehlern auftreten.
Beispiel: Bei der Verarbeitung einer Antwort von
ListBatchJobResults:
- Bei
AdGroupCriterionOperation-Eintragsgruppen kann es vorkommen, dass aufeinanderfolgende Vorgänge, die auf dieselbeAdGroupausgerichtet sind, mitCriterionError.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.) fehlschlagen. - Bei
AssetGroupListingGroupFilterOperationVorgängen kann es vorkommen, dass aufeinanderfolgende Vorgänge, die auf dieselbeAssetGroupausgerichtet sind, mitBatchJobError.ASSET_GROUP_LISTING_GROUP_FILTER_TRANSACTION_FAILUREfehlschlagen.
Diese Fehler weisen darauf hin, dass der Vorgang an diesem Index zurückgesetzt wurde, weil ein anderer Vorgang im selben atomaren Unter-Batch fehlgeschlagen ist. Um die Ursache des Problems zu ermitteln, durchlaufen Sie die status
Nachrichten in jedem BatchJobResult – vor und nach dem
operation_index des Transaktionsfehlers – für
Vorgänge mit derselben AdGroup oder AssetGroup
ID.