AdGroupCriterion.listing_group 또는 AssetGroupListingGroupFilter의 컨텍스트에서 등록정보 그룹 필터를 사용하는 경우 통합을 설계할 때 다음 사항을 고려하세요.
배치 분할
일괄 작업에 광고 그룹 기준 또는 애셋 그룹 등록정보 그룹 필터가 포함된 작업이 있는 경우 일괄 작업의 작업은 Google Ads API 서버에서 수신될 때 여러 하위 일괄 작업으로 분할됩니다. 일괄 작업의 표준 작업과 달리 등록정보 그룹 필터 작업이 포함된 각 하위 배치는 원자적으로 처리됩니다.
등록정보 그룹 필터가 포함된 일괄 작업이 하위 일괄 작업으로 분할되는 방식은 다음 요소에 의해 결정됩니다.
- 등록정보 그룹 필터 유형
- 등록정보 그룹 필터가 타겟팅하는
AdGroup또는AssetGroup - 작업 순서
작업이 그룹화되는 방식을 고려합니다.
- 동일한
AssetGroup를 타겟팅하는 모든 연속AssetGroupListingGroupFilterOperation작업(create,update,remove)은 원자적 하위 배치로 그룹화됩니다 (부분 실패 동작 없음). - 동일한
AdGroup를 타겟팅하는LISTING_GROUP기준(AdGroupCriterion.listing_group)에 대한 모든 연속적인AdGroupCriterionOperation작업(create,update,remove)은 원자적 하위 배치로 그룹화됩니다 (부분 실패 동작 없음). - 다른 모든 연속 작업은 비원자적 하위 배치 (부분 실패 동작)로 그룹화됩니다.
이 개념에 대해서는 다음 다이어그램을 참조하세요. 각 회색 상자는 Google Ads API를 사용하여 제출된 일괄 작업을 나타냅니다. 회색 상자 내에서 개별 작업은 Google Ads API 서버에서 만드는 하위 배치를 나타내기 위해 색상별로 그룹화됩니다. 각 회색 상자의 작업 순서는 일괄 작업에 추가된 작업 순서에 해당합니다.
제한사항
일괄 작업 컨텍스트에서 등록정보 그룹 필터를 사용할 때는 다음 제한사항이 적용됩니다.
- 동일한
AdGroup를 타겟팅하는LISTING_GROUP기준(AdGroupCriterion.listing_group)에 대한 연속적인AdGroupCriterionOperation작업(create,update,remove)의 단일 원자적 하위 배치는 길이가 20,000개를 초과할 수 없습니다. 하지만 작업이 10,000개를 초과하지 않는 것이 좋습니다. 각AddBatchJobOperationsRequest는 작업이 10,000개로 제한되므로 작업이 10,001~20,000개인AdGroup하위 배치는 연속된AddBatchJobOperations요청을 최소 2개 이상 사용하여 업로드해야 합니다. - 동일한
AssetGroup를 타겟팅하는 연속적인AssetGroupListingGroupFilterOperation작업(create,update,remove)의 단일 원자적 하위 배치는 작업 10,000개를 초과할 수 없습니다. - 이러한 작업 수 한도를 위반하거나 단일 하위 배치의 서버 내부 직렬화된 바이트 크기 한도를 초과하면 해당 하위 배치에서 일괄 작업이 중단됩니다. 이미 완료된 이전 하위 배치는 커밋된 상태로 유지되지만 문제가 있는 하위 배치 및 후속 하위 배치의 모든 작업은
InternalError.INTERNAL_ERROR오류와 함께 실패합니다.
문제 해결
일괄 작업의 등록정보 그룹 필터 작업은 하나의 트랜잭션으로 처리되므로,
소수의 잘못된 작업으로 인해 많은 작업이 실패하는 시나리오가
발생할 수 있습니다. 또한 BatchJob 작업이 처리되는 방식 때문에 실패의 근본 원인이 다운스트림 실패 전후의 색인에 나타날 수 있습니다.
예를 들어 ListBatchJobResults의 응답을 처리할 때:
AdGroupCriterionOperation등록정보 그룹의 경우 동일한AdGroup를 타겟팅하는 연속 작업이CriterionError.LISTING_GROUP_ERROR_IN_ANOTHER_OPERATION(Product group operations are atomic within the same ad group. This operation failed because another operation targeting the same ad group ID was invalid.) 오류로 인해 실패할 수 있습니다.AssetGroupListingGroupFilterOperation작업의 경우 동일한AssetGroup를 타겟팅하는 연속 작업이BatchJobError.ASSET_GROUP_LISTING_GROUP_FILTER_TRANSACTION_FAILURE로 실패할 수 있습니다.
이 오류는 동일한 원자적 하위 배치의 다른 작업이 실패하여 해당 색인의 작업이 롤백되었음을 나타냅니다. 문제의 근본 원인을 파악하려면 동일한 AdGroup 또는 AssetGroup ID를 공유하는 작업에 대해 트랜잭션 오류의 operation_index 전후에 각 BatchJobResult의 status 메시지를 반복합니다.