Cuando trabajes con filtros de grupos de fichas en el contexto de un AdGroupCriterion.listing_group
o un AssetGroupListingGroupFilter
, ten en cuenta las siguientes consideraciones cuando diseñes tu integración.
División por lotes
Si hay operaciones en un trabajo por lotes que contienen criterios de grupos de anuncios o filtros de grupos de fichas de grupos de recursos, las operaciones del trabajo por lotes se dividen en varios sublotes cuando el servidor de la API de Google Ads las recibe. Ten en cuenta que, a diferencia de las operaciones estándar en un trabajo por lotes, cada sublote que contiene operaciones de filtro 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 sublotes se determina según los siguientes factores:
- Tipo de filtro de grupo de fichas
- El
AdGroupCriterion
oAssetGroup
al que se segmenta el filtro de grupo de fichas - Orden de las operaciones
Considera cómo se agrupan las operaciones:
- Todas las operaciones
AssetGroupListingGroupFilterOperation
consecutivas que se orientan al mismoAssetGroup
se agrupan en un sublote atómico (sin comportamiento de falla parcial). - Todas las operaciones
AdGroupCriterionOperation
consecutivas que contienen unlisting_group
segmentado 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 uno de los cuadros grises representa un trabajo por lotes tal como se envió 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 gris corresponde al orden en el que se habrían agregado las operaciones a la tarea por lotes.
Limitaciones
Cuando se trabaja con filtros de grupos de fichas en el contexto de trabajos por lotes, se aplican las siguientes limitaciones:
- Un solo lote de operaciones
AssetGroupListingGroupFilterOperation
que contenga unlisting_group
y se segmente para la mismaAdGroup
no puede tener una longitud superior a 20,000 operaciones. Sin embargo, se recomienda no exceder las 10,000 operaciones. - Un solo lote de operaciones
AssetGroupListingGroupFilterOperation
orientadas al mismoAssetGroup
no puede superar las 10,000 operaciones. - Si incumples cualquiera de estas condiciones, se producirá un error en todo el trabajo por lotes.
Solución de problemas
Las operaciones de filtro 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 descendentes.
Por ejemplo, cuando se procesa una respuesta de ListBatchJobResults
, es posible que varias operaciones fallen 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 iterar 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 de error adicional.