При работе с фильтрами групп листинга в контексте AdGroupCriterion.listing_group
или AssetGroupListingGroupFilter
при проектировании интеграции примите во внимание следующие соображения.
Разделение партии
Если в пакетном задании есть операции, содержащие критерии группы объявлений или фильтры групп объявлений, при получении сервером API Google Ads операции в пакетном задании разбиваются на несколько подпакетов . Обратите внимание, что в отличие от стандартных операций в пакетном задании, каждый подпакет, содержащий операции фильтров групп объявлений, обрабатывается атомарно.
Способ разделения пакетных заданий, содержащих фильтры групп листинга, на подпакеты определяется следующими факторами:
- Тип фильтра группы листинга
-
AdGroupCriterion
илиAssetGroup
на который нацеливается фильтр группы листинга - Порядок операций
Рассмотрим, как сгруппированы операции:
- Все последовательные операции
AssetGroupListingGroupFilterOperation
, нацеленные на одну и ту жеAssetGroup
, группируются вместе в атомарный подпакет (без поведения частичного сбоя). - Все последовательные операции
AdGroupCriterionOperation
, содержащиеlisting_group
, нацеленные на одну и ту жеAdGroup
, группируются вместе в атомарный подпакет (без поведения частичного сбоя). - Все остальные последовательные операции группируются в неатомарные подпакеты (поведение с частичным отказом).
Следующая диаграмма иллюстрирует эту концепцию. Каждый из серых блоков представляет собой пакетное задание, отправленное через API Google Рекламы. Внутри серых блоков отдельные операции сгруппированы по цветам, чтобы представить подпакеты, создаваемые сервером API Google Рекламы. Порядок операций в каждом из серых блоков соответствует порядку, в котором они были бы добавлены в пакетное задание.
Ограничения
При работе с фильтрами групп листинга в контексте пакетных заданий действуют следующие ограничения:
- Длина одного пакета операций
AssetGroupListingGroupFilterOperation
, содержащегоlisting_group
и нацеленного на одну и ту жеAdGroup
, не может превышать 20 000 операций. Однако рекомендуется не превышать 10 000 операций. - Один пакет операций
AssetGroupListingGroupFilterOperation
, нацеленный на одну и ту жеAssetGroup
, не может превышать 10 000 операций. - Нарушение любого из этих условий приводит к сбою всего пакетного задания.
Поиск неисправностей
Операции групповой фильтрации в пакетном задании обрабатываются как одна транзакция, что может привести к ситуациям, когда множество операций завершаются сбоем из-за небольшого количества ошибочных операций. Более того, из-за особенностей обработки операций BatchJob
, первопричина сбоев может указывать на индекс, предшествующий или следующий за сбоями в нисходящем направлении.
Например, при обработке ответа от ListBatchJobResults
вы можете обнаружить, что несколько операций завершились неудачей с сообщением о статусе « Ad group is invalid due to the listing groups it contains
. Это сообщение обычно указывает на то, что операция по данному индексу была отменена из-за неудачной операции по другому индексу. Чтобы определить первопричину проблемы, рекомендуем перебрать все сообщения о статусе в BatchJobResult
— до и после сообщения об ошибке «Индекс Ad group is invalid
— в поисках дополнительной информации об ошибке.