При работе с фильтрами групп объявлений в контексте AdGroupCriterion.listing_group или AssetGroupListingGroupFilter , при проектировании интеграции следует учитывать следующие моменты.
Разделение на партии
Если в пакетном задании есть операции, содержащие критерии для групп объявлений или фильтры для групп активов, то при получении сервером Google Ads API эти операции разбиваются на несколько подпакетов . Обратите внимание, что в отличие от стандартных операций в пакетном задании, каждый подпакет, содержащий операции с фильтрами групп объявлений, обрабатывается атомарно.
Способ разделения пакетных заданий, содержащих фильтры групп, на подпакеты определяется следующими факторами:
- Тип фильтра группы объявлений
- Критерий
AdGroupCriterionилиAssetGroupна которые нацелен фильтр группы объявлений. - Порядок действий
Рассмотрим, как сгруппированы операции:
- Все последовательные операции
AssetGroupListingGroupFilterOperation, нацеленные на одну и ту жеAssetGroupгруппируются в атомарный подпакет (частичные сбои исключены). - Все последовательные операции
AdGroupCriterionOperation, содержащиеlisting_group, нацеленный на одну и ту жеAdGroupгруппируются в атомарный подпакет (частичные сбои исключены). - Все остальные последовательные операции группируются в неатомарные подгруппы (поведение, характеризующееся частичным отказом).
Следующая диаграмма иллюстрирует эту концепцию. Каждый из серых прямоугольников представляет собой пакетное задание, отправленное с использованием API Google Ads. Внутри серых прямоугольников отдельные операции сгруппированы по цвету, чтобы представить подпакеты, создаваемые сервером API Google Ads. Порядок операций в каждом из серых прямоугольников соответствует порядку, в котором операции были бы добавлены в пакетное задание.
Ограничения
При работе с фильтрами групп в контексте пакетных заданий действуют следующие ограничения:
- Длина одной группы операций
AdGroupCriterionOperation, содержащей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 — в поисках дополнительной информации об ошибке.