在AdGroupCriterion.listing_group
或AssetGroupListingGroupFilter
的環境中處理產品資訊群組篩選器時,請在設計整合功能時考量下列事項。
批次分割
如果批次作業中含有廣告群組條件或素材資源群組產品組合篩選器,Google Ads API 伺服器收到批次作業時,會將作業分割成多個子批次。請注意,與批次作業中的標準作業不同,包含商家資訊群組篩選器作業的每個子批次都會以原子方式處理。
含有產品組合篩選器的批次作業會分割成子批次,分割方式取決於下列因素:
- 商家資訊群組篩選器類型
- 商家資訊群組篩選器指定的
AdGroupCriterion
或AssetGroup
- 作業順序
請考慮作業的分組方式:
- 系統會將以相同
AssetGroup
為目標的所有連續AssetGroupListingGroupFilterOperation
作業,歸為不可分割的子批次 (不會出現部分失敗行為)。 - 所有包含
listing_group
且以相同AdGroup
為目標的連續AdGroupCriterionOperation
作業,都會歸入不可分割的子批次 (不會出現部分失敗行為)。 - 其他所有連續作業都會分組到非不可分割的子批次中 (部分失敗行為)。
下圖說明瞭這個概念。每個灰色方塊都代表透過 Google Ads API 提交的批次工作。在灰色方塊中,個別作業會依顏色分組,代表 Google Ads API 伺服器建立的子批次。每個灰色方塊中的作業順序,對應於作業新增至批次工作的順序。
限制
在批次作業中使用產品資訊群組篩選器時,請注意下列限制:
- 包含
listing_group
且以相同AdGroup
為目標的單一AssetGroupListingGroupFilterOperation
作業批次,長度不得超過 20,000 項作業。不過,建議不要超過 10,000 項作業。 - 針對相同
AssetGroup
的單一批次AssetGroupListingGroupFilterOperation
作業不得超過 10,000 項作業。 - 違反任一條件都會導致整個批次工作失敗。
疑難排解
批次作業中的商家資訊群組篩選器作業會視為一筆交易處理,因此如果只有少數作業發生錯誤,可能會導致許多作業失敗。此外,由於 BatchJob
作業的處理方式,失敗的根本原因可能會出現在下游失敗之前或之後的索引中。
舉例來說,處理 ListBatchJobResults
的回應時,您可能會發現多項作業失敗,並顯示狀態訊息 Ad group is invalid due to the listing
groups it contains
。這則訊息通常表示,由於其他索引的作業失敗,因此這個索引的作業已取消。如要找出問題的根本原因,建議您在 BatchJobResult
中,逐一查看索引 Ad group is invalid
錯誤訊息前後的所有狀態訊息,尋找其他錯誤資訊。