Quando utilizzi i filtri dei gruppi di schede nel contesto di un
AdGroupCriterion.listing_group o di un
AssetGroupListingGroupFilter, tieni presente
i seguenti aspetti quando progetti l'integrazione.
Divisione in batch
Se in un job batch sono presenti operazioni che contengono criteri del gruppo di annunci o filtri del gruppo di schede del gruppo di asset, le operazioni nel job batch vengono suddivise in più batch secondari quando vengono ricevute dal server dell'API Google Ads. A differenza delle operazioni standard in un job batch, ogni batch secondario contenente operazioni di filtro del gruppo di schede viene trattato in modo atomico.
Il modo in cui i job batch contenenti filtri dei gruppi di schede vengono suddivisi in sotto-batch è determinato dai seguenti fattori:
- Tipo di filtro del gruppo di schede
- Il filtro
AdGroupoAssetGroupdel gruppo di schede è il target - Ordine delle operazioni
Considera come sono raggruppate le operazioni:
- Tutte le operazioni
AssetGroupListingGroupFilterOperationconsecutive (create,updateeremove) che hanno come target lo stessoAssetGroupvengono raggruppate in un sottobatch atomico (nessun comportamento di errore parziale). - Tutte le operazioni
AdGroupCriterionOperationconsecutive (create,updateeremove) per i criteriLISTING_GROUP(AdGroupCriterion.listing_group) che hanno come target lo stessoAdGroupvengono raggruppate in un sottobatch atomico (nessun comportamento di errore parziale). - Tutte le altre operazioni consecutive vengono raggruppate in batch secondari non atomici (comportamento di errore parziale).
Il seguente diagramma illustra questo concetto. Ciascuna delle caselle grigie rappresenta un job batch inviato tramite l'API Google Ads. All'interno delle caselle grigie, le singole operazioni sono raggruppate per colore per rappresentare i sottogruppi che il server dell'API Google Ads crea. L'ordine delle operazioni in ciascuna delle caselle grigie corrisponde all'ordine in cui le operazioni sarebbero state aggiunte al job batch.
Limitazioni
Quando utilizzi i filtri dei gruppi di schede nel contesto dei job batch, si applicano le seguenti limitazioni:
- Un singolo batch secondario atomico di operazioni
AdGroupCriterionOperationconsecutive (create,updateeremove) per i criteriLISTING_GROUP(AdGroupCriterion.listing_group) che hanno come target lo stessoAdGroupnon possono superare le 20.000 operazioni di lunghezza. Tuttavia, è consigliabile non superare le 10.000 operazioni. Poiché ogniAddBatchJobOperationsRequestè limitato a 10.000 operazioni, un sottobatchAdGroupda 10.001 a 20.000 operazioni deve essere caricato in almeno due richiesteAddBatchJobOperationsconsecutive. - Un singolo batch secondario atomico di operazioni
AssetGroupListingGroupFilterOperationconsecutive (create,updateeremove) che hanno come target lo stessoAssetGroupnon può superare le 10.000 operazioni. - La violazione di uno di questi limiti del conteggio delle operazioni (o il superamento del limite di dimensioni in byte serializzati interni del server per un singolo batch secondario) interrompe il job batch in quel batch secondario: tutti i batch secondari precedenti già completati rimangono confermati, mentre tutte le operazioni nel batch secondario incriminato e in tutti i batch secondari successivi non vanno a buon fine con
InternalError.INTERNAL_ERROR.
Risoluzione dei problemi
Le operazioni di filtro dei gruppi di schede in un job batch vengono elaborate come una transazione,
il che può portare a scenari in cui molte operazioni non riescono a causa di un numero ridotto di
operazioni errate. Inoltre, a causa del modo in cui vengono elaborate le operazioni BatchJob, la causa principale degli errori potrebbe apparire in un indice prima o dopo gli errori downstream.
Ad esempio, quando elabori una risposta da
ListBatchJobResults:
- Per i gruppi di schede
AdGroupCriterionOperation, potresti notare che le operazioni consecutive che hanno come target lo stessoAdGroupnon sono riuscite conCriterionError.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.). - Per le operazioni
AssetGroupListingGroupFilterOperation, potresti notare che le operazioni consecutive che hanno come target lo stessoAssetGroupnon sono riuscite conBatchJobError.ASSET_GROUP_LISTING_GROUP_FILTER_TRANSACTION_FAILURE.
Questi errori indicano che l'operazione in corrispondenza di questo indice è stata eseguita il rollback perché
un'altra operazione nello stesso batch secondario atomico non è riuscita. Per identificare la causa principale del problema, esamina i messaggi status in ogni BatchJobResult, prima e dopo l'operation_index dell'errore di transazione, per le operazioni che condividono lo stesso ID AdGroup o AssetGroup.