AdGroupCriterion.listing_group
または AssetGroupListingGroupFilter
のコンテキストで商品グループ フィルタを使用する場合は、統合を設計する際に次の点を考慮してください。
バッチ分割
広告グループの条件またはアセット グループのリスティング グループ フィルタを含むオペレーションがバッチジョブに含まれている場合、Google Ads API サーバーで受信されると、バッチジョブのオペレーションは複数のサブバッチに分割されます。バッチジョブの標準オペレーションとは異なり、リスティング グループ フィルタ オペレーションを含む各サブバッチはアトミックに処理されます。
リスティング グループ フィルタを含むバッチジョブがサブバッチに分割される方法は、次の要因によって決まります。
- リスティング グループのフィルタの種類
- リスティング グループのフィルタがターゲットにしている
AdGroupCriterion
またはAssetGroup
- オペレーションの順序
オペレーションのグループ化方法を検討します。
- 同じ
AssetGroup
を対象とする連続したAssetGroupListingGroupFilterOperation
オペレーションは、アトミック サブバッチにグループ化されます(部分的な失敗の動作はありません)。 - 同じ
AdGroup
をターゲットとするlisting_group
を含む連続するAdGroupCriterionOperation
オペレーションは、アトミック サブバッチにグループ化されます(部分的な障害動作はありません)。 - 他のすべての連続するオペレーションは、アトミックでないサブバッチにグループ化されます(部分的な失敗の動作)。
次の図に、このコンセプトを示します。灰色の各ボックスは、Google Ads API を使用して送信されたバッチジョブを表します。灰色のボックス内では、個々のオペレーションが色でグループ化され、Google Ads API サーバーが作成するサブバッチを表しています。各グレーボックス内のオペレーションの順序は、オペレーションがバッチジョブに追加される順序に対応しています。
制限事項
バッチジョブのコンテキストでリスティング グループ フィルタを使用する場合は、次の制限事項が適用されます。
- 同じ
AdGroup
をターゲットとするlisting_group
を含むAssetGroupListingGroupFilterOperation
オペレーションの 1 つのバッチの長さは、20,000 オペレーションを超えてはなりません。ただし、10,000 回を超えないようにすることをおすすめします。 - 同じ
AssetGroup
を対象とするAssetGroupListingGroupFilterOperation
オペレーションの 1 つのバッチは、10,000 オペレーションを超えることはできません。 - これらの条件のいずれかに違反すると、バッチジョブ全体が失敗します。
トラブルシューティング
バッチジョブでグループ フィルタ オペレーションを一覧表示すると、1 つのトランザクションとして処理されます。これにより、少数のエラー オペレーションが原因で多くのオペレーションが失敗するシナリオが発生する可能性があります。また、BatchJob
オペレーションの処理方法により、障害の根本原因がダウンストリーム障害の前後のインデックスに表示されることがあります。
たとえば、ListBatchJobResults
からのレスポンスを処理するときに、ステータス メッセージ Ad group is invalid due to the listing
groups it contains
で複数のオペレーションが失敗したことがわかる場合があります。通常、このメッセージは、別のインデックスでのオペレーションの失敗が原因で、このインデックスでのオペレーションがキャンセルされたことを示します。問題の根本原因を特定するには、BatchJobResult
のすべてのステータス メッセージ(Ad group is invalid
エラー メッセージのインデックスの前と後)を繰り返し確認して、追加のエラー情報を探すことをおすすめします。