Cuando trabajes con filtros de grupos de fichas en el contexto de un objeto AdGroupCriterion.listing_group
o AssetGroupListingGroupFilter
, ten en cuenta las siguientes consideraciones al diseñar tu integración.
División por lotes
Si hay operaciones en un trabajo por lotes que contienen criterios del grupo de anuncios o filtros del grupo de fichas del grupo de recursos, las operaciones del trabajo por lotes se dividen en varios sublotes cuando las recibe el servidor de la API de Google Ads. Ten en cuenta que, a diferencia de las operaciones estándar en un trabajo por lotes, cada sublote que contiene operaciones de filtrado de grupos de fichas se trata de forma atómica.
La forma en que los trabajos por lotes que contienen filtros de grupos de fichas se dividen en sub-lotes se determina según los siguientes factores:
- Tipo de filtro de grupo de fichas
AdGroupCriterion
oAssetGroup
al que se segmenta el filtro del grupo de fichas- Orden de las operaciones
Ten en cuenta cómo se agrupan las operaciones:
- Todas las operaciones
AssetGroupListingGroupFilterOperation
consecutivas que tienen como objetivo el mismoAssetGroup
se agrupan en un sub-lote atómico (sin comportamiento de falla parcial). - Todas las operaciones consecutivas de
AdGroupCriterionOperation
que contienen unlisting_group
que segmenta para el mismoAdGroup
se agrupan en un sublote atómico (sin comportamiento de falla parcial). - Todas las demás operaciones consecutivas se agrupan en sublotes no atómicos (comportamiento de falla parcial).
En el siguiente diagrama, se ilustra este concepto. Cada una de las casillas grises representa un trabajo por lotes enviado con la API de Google Ads. Dentro de los cuadros grises, las operaciones individuales se agrupan por color para representar los sublotes que crea el servidor de la API de Google Ads. El orden de las operaciones en cada uno de los cuadros grises corresponde al orden en el que se habrían agregado las operaciones al trabajo por lotes.
Limitaciones
Cuando trabajes con filtros de grupos de fichas en el contexto de trabajos por lotes, se aplicarán las siguientes limitaciones:
- Un solo lote de operaciones de
AssetGroupListingGroupFilterOperation
que contiene unlisting_group
y se orienta al mismoAdGroup
no puede superar las 20,000 operaciones de longitud. Sin embargo, se recomienda no exceder las 10,000 operaciones. - Un solo lote de operaciones de
AssetGroupListingGroupFilterOperation
dirigidas al mismoAssetGroup
no puede superar las 10,000 operaciones. - Si se incumple cualquiera de estas condiciones, fallará todo el trabajo por lotes.
Solución de problemas
Las operaciones de filtrado de grupos de fichas en un trabajo por lotes se procesan como una sola transacción, lo que puede generar situaciones en las que muchas operaciones fallan debido a una pequeña cantidad de operaciones erróneas. Además, debido a la forma en que se procesan las operaciones de BatchJob
, la causa raíz de las fallas puede aparecer en un índice antes o después de las fallas posteriores.
Por ejemplo, cuando procesas una respuesta de ListBatchJobResults
, es posible que varias operaciones hayan fallado con un mensaje de estado, Ad group is invalid due to the listing
groups it contains
. Por lo general, este mensaje indica que la operación en este índice se canceló debido a una operación fallida en otro índice. Para identificar la causa raíz del problema, te recomendamos que iteres por todos los mensajes de estado en BatchJobResult
, antes y después del índice del mensaje de error Ad group is invalid
, en busca de información adicional sobre el error.