Filter für Eintragsgruppen in Batchjobs verwenden

Wenn Sie mit Filtern für Eintragsgruppen im Kontext eines AdGroupCriterion.listing_group oder eines AssetGroupListingGroupFilter arbeiten, sollten Sie bei der Entwicklung Ihrer Integration die folgenden Aspekte berücksichtigen.

Batchaufteilung

Wenn ein Batchjob Vorgänge mit Anzeigengruppenkriterien oder Filtern für die Eintragsgruppe der Asset-Gruppe enthält, 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 Batch-Job wird jeder Sub-Batch, der Filtervorgänge für die Eintragsgruppe enthält, atomar behandelt.

Die Art und Weise, wie Batchjobs mit Filtern für Eintragsgruppen in Sub-Batches aufgeteilt werden, hängt von den folgenden Faktoren ab:

  1. Typ des Filters für Eintragsgruppen
  2. Der Filter für die AdGroup- oder AssetGroup-Eintragsgruppe ist auf Folgendes ausgerichtet:
  3. Reihenfolge von Vorgängen

So werden Vorgänge gruppiert:

  • Alle aufeinanderfolgenden AssetGroupListingGroupFilterOperation-Vorgänge (create, update und remove), die auf dasselbe AssetGroup abzielen, werden in einem atomaren Sub-Batch gruppiert (kein teilweises Fehlerverhalten).
  • Alle aufeinanderfolgenden AdGroupCriterionOperation-Vorgänge (create, update und remove) für LISTING_GROUP-Kriterien (AdGroupCriterion.listing_group), die auf dasselbe AdGroup ausgerichtet sind, werden in einem atomaren Unter-Batch gruppiert (kein teilweises Fehlerverhalten).
  • Alle anderen aufeinanderfolgenden Vorgänge werden in nicht atomaren Sub-Batches gruppiert (Verhalten bei teilweisem Fehler).

Das folgende Diagramm veranschaulicht dieses Konzept. Jedes der grauen Kästchen steht für einen Batch-Job, der über die Google Ads API eingereicht wurde. In den grauen Kästen sind die einzelnen Vorgänge farblich nach den Unterbatches gruppiert, die vom Google Ads API-Server erstellt werden. Die Reihenfolge der Vorgänge in den einzelnen grauen Feldern entspricht der Reihenfolge, in der die Vorgänge dem Batchjob hinzugefügt worden wären.

Diagramm mit Batchvorgängen, die in Unter-Batches gruppiert sind

Beschränkungen

Wenn Sie im Zusammenhang mit Batchjobs mit Filtern für Eintragsgruppen arbeiten, gelten die folgenden Einschränkungen:

  • Ein einzelner atomarer Sub-Batch mit aufeinanderfolgenden AdGroupCriterionOperation-Vorgängen (create, update und remove) für LISTING_GROUP-Kriterien (AdGroupCriterion.listing_group), die auf dasselbe AdGroup ausgerichtet sind,darf nicht länger als 20.000 Vorgänge sein. Es wird jedoch empfohlen, 10.000 Vorgänge nicht zu überschreiten. Da jede AddBatchJobOperationsRequest auf 10.000 Vorgänge begrenzt ist, muss ein AdGroup-Unter-Batch mit 10.001 bis 20.000 Vorgängen in mindestens zwei aufeinanderfolgenden AddBatchJobOperations-Anfragen hochgeladen werden.
  • Ein einzelner atomarer Sub-Batch mit aufeinanderfolgenden AssetGroupListingGroupFilterOperation-Vorgängen (create, update und remove), die auf dasselbe AssetGroup ausgerichtet sind,darf 10.000 Vorgänge nicht überschreiten.
  • Wenn eines dieser Limits für die Anzahl der Vorgänge überschritten wird oder die interne serialisierte Byte-Größenbeschränkung des Servers für einen einzelnen Unterbatch überschritten wird, wird der Batchjob für diesen Unterbatch abgebrochen. Alle vorherigen Unterbatches, die bereits abgeschlossen wurden, bleiben bestehen, während alle Vorgänge im fehlerhaften Unterbatch und in allen 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 geringen Anzahl fehlerhafter Vorgänge fehlschlagen. Außerdem kann die Ursache der Fehler aufgrund der Art und Weise, wie BatchJob-Vorgänge verarbeitet werden, an einem Index vor oder nach den Downstream-Fehlern angezeigt werden.

Beispiel: Verarbeitung einer Antwort von ListBatchJobResults:

Diese Fehler weisen darauf hin, dass der Vorgang an diesem Index zurückgesetzt wurde, weil ein anderer Vorgang im selben atomaren Sub-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.