Wenn Sie mit Filtern für Eintragsgruppen im Kontext einer AdGroupCriterion.listing_group oder einer AssetGroupListingGroupFilter arbeiten, sollten Sie die folgenden Punkte bei der Integration berücksichtigen.
Batchaufteilung
Wenn ein Batchjob Vorgänge mit Anzeigengruppenkriterien oder Filtern für Asset-Gruppen-Eintragsgruppen enthält, werden die Vorgänge im Batchjob in mehrere Teilbatches aufgeteilt, wenn sie beim Google Ads API-Server eingehen. Im Gegensatz zu Standardvorgängen in einem Batchjob wird jeder Unterbatch, der Filtervorgänge für Eintragsgruppen enthält, atomar behandelt.
Wie Batchjobs mit Filtern für Eintragsgruppen in Unterbatches aufgeteilt werden, hängt von den folgenden Faktoren ab:
- Typ des Filters für Eintragsgruppen
- Die
AdGroupoderAssetGroup, auf die der Filter für Eintragsgruppen ausgerichtet ist - Reihenfolge von Vorgängen
Überlegen Sie, wie Vorgänge gruppiert werden:
- Alle aufeinanderfolgenden
AssetGroupListingGroupFilterOperation-Vorgänge (create,updateundremove), die auf dieselbeAssetGroupabzielen, werden in einem atomaren Unterbatch gruppiert (kein Verhalten bei teilweisem Fehlschlagen). - Alle aufeinanderfolgenden
AdGroupCriterionOperation-Vorgänge (create,updateundremove) fürLISTING_GROUP-Kriterien (AdGroupCriterion.listing_group), die auf dieselbeAdGroupabzielen, werden in einem atomaren Unterbatch zusammengefasst (kein Verhalten bei teilweisem Fehlschlagen). - Alle anderen aufeinanderfolgenden Vorgänge werden in nicht atomaren Unterbatches zusammengefasst (Verhalten bei teilweisem Fehler).
Das folgende Diagramm veranschaulicht dieses Konzept. Jedes der grauen Kästchen stellt einen Batchjob dar, der über die Google Ads API gesendet wurde. In den grauen Feldern sind die einzelnen Vorgänge nach Farbe gruppiert, um die Unterbatches darzustellen, die vom Google Ads API-Server erstellt werden. Die Reihenfolge der Vorgänge in den grauen Feldern entspricht der Reihenfolge, in der die Vorgänge dem Batchjob hinzugefügt worden wären.
Beschränkungen
Wenn Sie im Rahmen von Batchjobs mit Filtern für Eintragsgruppen arbeiten, gelten die folgenden Einschränkungen:
- Ein einzelner atomarer Unterbatch aufeinanderfolgender
AdGroupCriterionOperation-Vorgänge (create,updateundremove) fürLISTING_GROUP-Kriterien (AdGroupCriterion.listing_group), die auf dieselbeAdGroupabzielen,darf nicht mehr als 20.000 Vorgänge umfassen. Es wird jedoch empfohlen, 10.000 Vorgänge nicht zu überschreiten. Da jedeAddBatchJobOperationsRequestauf 10.000 Vorgänge begrenzt ist, muss einAdGroup-Unterbatch mit 10.001 bis 20.000 Vorgängen über mindestens zwei aufeinanderfolgendeAddBatchJobOperations-Anfragen hochgeladen werden. - Ein einzelner atomarer Unterbatch aufeinanderfolgender
AssetGroupListingGroupFilterOperation-Vorgänge (create,updateundremove), die auf dieselbeAssetGroupabzielen,darf 10.000 Vorgänge nicht überschreiten. - Wenn eines dieser Limits für die Anzahl der Vorgänge verletzt wird (oder das interne Limit des Servers für die serialisierte Byte-Größe für einen einzelnen Unterbatch überschritten wird), wird der Batchjob bei diesem Unterbatch abgebrochen: Alle früheren Unterbatches, die bereits abgeschlossen wurden, bleiben erhalten, während alle Vorgänge im fehlerhaften Unterbatch und alle nachfolgenden Unterbatches mit
InternalError.INTERNAL_ERRORfehlschlagen.
Fehlerbehebung
Filtervorgänge für Eintragsgruppen in einem Batchjob werden als eine Transaktion verarbeitet. Das 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 außerdem bei einem Index vor oder nach den nachgelagerten Fehlern auftreten.
Beispiel für die Verarbeitung einer Antwort von ListBatchJobResults:
- Bei
AdGroupCriterionOperation-Eintragsgruppen kann es vorkommen, dass aufeinanderfolgende Vorgänge, die auf dieselbeAdGroupabzielen, 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
AssetGroupListingGroupFilterOperation-Vorgängen kann es vorkommen, dass aufeinanderfolgende Vorgänge, die auf dieselbeAssetGroupabzielen, mitBatchJobError.ASSET_GROUP_LISTING_GROUP_FILTER_TRANSACTION_FAILUREfehlschlagen.
Diese Fehler weisen darauf hin, dass der Vorgang bei diesem Index zurückgesetzt wurde, weil ein anderer Vorgang im selben atomaren Unterbatch fehlgeschlagen ist. Um die Ursache des Problems zu ermitteln, iterieren Sie durch die status-Nachrichten in jedem BatchJobResult – vor und nach dem operation_index des Transaktionsfehlers – für Vorgänge mit derselben AdGroup- oder AssetGroup-ID.