Filter für Eintragsgruppen in Batchjobs verwenden

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:

  1. Typ des Filters für Eintragsgruppen
  2. Die AdGroup oder AssetGroup, auf die der Filter für Eintragsgruppen ausgerichtet ist
  3. Reihenfolge von Vorgängen

Überlegen Sie, wie Vorgänge gruppiert werden:

  • Alle aufeinanderfolgenden AssetGroupListingGroupFilterOperation-Vorgänge (create, update und remove), die auf dieselbe AssetGroup abzielen, werden in einem atomaren Unterbatch gruppiert (kein Verhalten bei teilweisem Fehlschlagen).
  • Alle aufeinanderfolgenden AdGroupCriterionOperation-Vorgänge (create, update und remove) für LISTING_GROUP-Kriterien (AdGroupCriterion.listing_group), die auf dieselbe AdGroup abzielen, 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.

Diagramm, das in Unterbatches gruppierte Batchvorgänge zeigt

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, update und remove) für LISTING_GROUP-Kriterien (AdGroupCriterion.listing_group), die auf dieselbe AdGroup abzielen,darf nicht mehr als 20.000 Vorgänge umfassen. Es wird jedoch empfohlen, 10.000 Vorgänge nicht zu überschreiten. Da jede AddBatchJobOperationsRequest auf 10.000 Vorgänge begrenzt ist, muss ein AdGroup-Unterbatch mit 10.001 bis 20.000 Vorgängen über mindestens zwei aufeinanderfolgende AddBatchJobOperations-Anfragen hochgeladen werden.
  • Ein einzelner atomarer Unterbatch aufeinanderfolgender AssetGroupListingGroupFilterOperation-Vorgänge (create, update und remove), die auf dieselbe AssetGroup abzielen,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_ERROR fehlschlagen.

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:

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.