실적 최대화 캠페인의 일괄 처리
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
일괄 처리는 작업이 완료될 때까지 동기식으로 기다리지 않고 상호 종속될 수 있는 작업 집합을 여러 서비스에 디스패치하는 방법을 제공합니다. 일괄 처리를 사용하여 실적 최대화 캠페인을 만들고 관리할 수 있습니다.
이 가이드에서는 일괄 처리 작업을 할 때 실적 최대화 캠페인에 적용되는 세부정보를 제공합니다. 일반 일괄 처리 가이드에서는 일괄 처리에 관한 일반 정보를 제공하고 요청 구조 가이드에는 실적 최대화 캠페인을 만들거나 관리하기 위한 요청 구성에 관한 자세한 정보가 포함되어 있습니다.
일괄 처리를 사용하여 실적 최대화 캠페인을 만들려면 다음 단계를 따르세요.
새 일괄 작업 만들기
BatchJob
리소스를 만들려면 일반적인 일괄 처리 작업 생성 단계를 따르세요.
변이 작업 목록 준비
실적 최대화 캠페인에는 여러 관련 리소스를 만드는 작업이 필요하며, 이는 구조 요청 가이드에 자세히 설명되어 있습니다. 일괄 작업에 포함되어야 하는 각 리소스에 대해 MutateOperation
을 만듭니다.
CampaignOperation
및 CampaignAssetOperation
요구사항
캠페인에 브랜드 가이드라인이 사용 설정된 경우 (브랜드 가이드라인 참고) CampaignAsset
리소스를 사용하여 브랜드 애셋을 캠페인에 연결해야 합니다. 또한 일괄 작업에서 이러한 CampaignAsset
리소스는 Campaign
리소스 자체를 생성한 직후에 생성해야 합니다. Campaign
리소스가 생성된 후 CampaignAsset
리소스가 즉시 생성되지 않으면 (브랜드 가이드라인이 사용 설정된 경우 - 문제 해결 참고) 요청이 실패하고 누락된 애셋을 나타내는 CampaignError
가 반환됩니다.
작업 목록의 후반부에 CampaignAsset
생성 작업을 포함해도 이 오류는 방지되지 않습니다.
AssetGroupOperation
및 AssetGroupAssetOperation
요구사항
일괄 작업에서 AssetGroup
및 AssetGroupAsset
리소스를 만드는 MutateOperation
유형의 작업은 처리될 때 이러한 작업이 함께 그룹화되는 방식 때문에 중간에 다른 작업 없이 순차적으로 실행되어야 합니다. 그렇지 않으면 AssetGroupError
이 일부 애셋이 누락되었음을 나타내는 요청이 발생합니다. 최소 애셋 요구사항을 충족하는 데 필요한 작업이 나중에 작업 목록에 포함되더라도 마찬가지입니다.
AssetGroupListingGroupFilterOperation
권장사항
AssetGroupListingGroupFilter
컨텍스트에서 등록정보 그룹 필터를 사용할 때는 동일한 AssetGroup
을 타겟팅하는 AssetGroupListingGroupFilterOperation
작업을 일괄 작업에 연속적으로 추가하여 일괄 분할 중에 작업 집합이 원자적으로 처리되도록 하는 것이 좋습니다. 일괄 분할 및 등록정보 그룹에 영향을 미치는 기타 요인에 대해 자세히 알아보려면 등록정보 그룹 일괄 처리 가이드를 참고하세요.
작업에 변이 작업 추가
2단계의 변이 작업을 목록에 추가하고 AddBatchJobOperations
를 호출하여 1단계에서 생성된 일괄 작업에 변이 목록을 추가합니다.
일반 일괄 처리 가이드의 작업 추가 단계에 따라 변이 작업 목록을 추가합니다.
일괄 작업 실행
업로드된 작업이 RunBatchJob
을 호출하여 실행되도록 허용합니다. 예는 일반 일괄 처리 가이드의 일괄 작업 실행 단계를 참고하세요.
작업 상태 가져오기
일괄 작업은 장기 실행 작업으로 시작되며 일반적으로 완료하는 데 시간이 걸립니다.
작업을 시작한 후 장기 실행 작업의 GetOperation
메서드를 사용하여 작업이 완료될 때까지 작업 상태를 폴링합니다.
모든 일괄 작업이 완료되면 일반 일괄 처리 가이드의 모든 일괄 작업 결과 나열 단계에 따라 ListBatchJobResults
를 호출하여 상태와 응답을 출력합니다.
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-08-27(UTC)
[null,null,["최종 업데이트: 2025-08-27(UTC)"],[[["\u003cp\u003eBatch processing allows you to execute a series of interdependent operations across Google Ads services, including creating and managing Performance Max campaigns, without waiting for each operation to complete individually.\u003c/p\u003e\n"],["\u003cp\u003eCreating a Performance Max campaign with batch processing involves preparing a list of \u003ccode\u003eMutateOperation\u003c/code\u003e objects, each defining a resource to be created or modified, such as an asset group or listing group filter.\u003c/p\u003e\n"],["\u003cp\u003eOperations involving \u003ccode\u003eAssetGroup\u003c/code\u003e and \u003ccode\u003eAssetGroupAsset\u003c/code\u003e resources should be sequential within the batch job due to their interdependencies and asset requirements.\u003c/p\u003e\n"],["\u003cp\u003eWhen using \u003ccode\u003eAssetGroupListingGroupFilter\u003c/code\u003e for Performance Max campaigns with online sales, it's recommended to add operations targeting the same \u003ccode\u003eAssetGroup\u003c/code\u003e consecutively to ensure atomic processing.\u003c/p\u003e\n"],["\u003cp\u003eThe batch job is executed asynchronously, requiring you to monitor its status using the \u003ccode\u003eGetOperation\u003c/code\u003e method until completion and then retrieve results using \u003ccode\u003eListBatchJobResults\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Batch Processing for Performance Max\n\n[Batch processing](/google-ads/api/docs/batch-processing/overview) provides a way to dispatch\na set of operations, which may be interdependent, to multiple services without\nsynchronously waiting for the operations to complete. You can use batch\nprocessing to create and manage Performance Max campaigns.\n\nThis guide provides details specific to Performance Max campaigns when working\nwith batch processing. The generic\n[batch processing guide](/google-ads/api/docs/batch-processing/overview) provides general\ninformation about batch processing, and the\n[Structure requests guide](/google-ads/api/performance-max/structure-requests) contains detailed\ninformation about constructing requests to create or manage Performance Max\ncampaigns.\n\nTo create a Performance Max campaign using batch processing, follow these steps:\n\nCreate a new batch job\n----------------------\n\nFollow the general batch processing\n[job creation step](/google-ads/api/docs/batch-processing/flow#createjob) for creating a\n[`BatchJob`](/google-ads/api/reference/rpc/v21/BatchJob) resource.\n\nPrepare a list of mutate operations\n-----------------------------------\n\nPerformance Max campaigns require operations to create several related\nresources, which are detailed in the\n[Structure requests guide](/google-ads/api/performance-max/structure-requests). Create a\n[`MutateOperation`](/google-ads/api/reference/rpc/v21/MutateOperation) for each resource that should\nbe included in the batch job.\n\n### `CampaignOperation` and `CampaignAssetOperation` requirements\n\n| **Note:** this requirement only applies to [`Campaign`](/google-ads/api/reference/rpc/v21/Campaign) resources with associated [`Asset`](/google-ads/api/reference/rpc/v21/Asset) resources using [`CampaignAsset`](/google-ads/api/reference/rpc/v21/CampaignAsset) in order to meet the [brand asset requirements](/google-ads/api/performance-max/create-campaign#brand-guidelines).\n\nWhen brand guidelines are enabled for a campaign (see\n[brand guidelines](/google-ads/api/performance-max/create-campaign#brand-guidelines)), you must link\nbrand assets to the campaign using [`CampaignAsset`](/google-ads/api/reference/rpc/v21/CampaignAsset)\nresources. Furthermore, in a batch job the creation of these `CampaignAsset`\nresources must happen immediately after the creation of the [`Campaign`](/google-ads/api/reference/rpc/v21/Campaign)\nresource itself. If the `CampaignAsset` resources are not created immediately\nafter the `Campaign` resource (when brand guidelines are enabled - see\n[troubleshooting](/google-ads/api/performance-max/troubleshooting#campaigns_with_brand_guidelines_enabled)),\nthe request will fail and return a `CampaignError` indicating missing assets.\nIncluding the `CampaignAsset` creation operations later in the same list of\noperations won't prevent this error.\n\n### `AssetGroupOperation` and `AssetGroupAssetOperation` requirements\n\n| **Note:** this requirement only applies to [`AssetGroup`](/google-ads/api/reference/rpc/v21/AssetGroup) resources with associated [`Asset`](/google-ads/api/reference/rpc/v21/Asset) resources using [`AssetGroupAsset`](/google-ads/api/reference/rpc/v21/AssetGroupAsset) in order to adhere to the [minimum asset requirements](/google-ads/api/performance-max/asset-requirements).\n\nThe operations of type [`MutateOperation`](/google-ads/api/reference/rpc/v21/MutateOperation) that\ncreate [`AssetGroup`](/google-ads/api/reference/rpc/v21/AssetGroup) and\n[`AssetGroupAsset`](/google-ads/api/reference/rpc/v21/AssetGroupAsset) resources in a batch job must\nbe sequential without other operations in between because of how these\noperations are grouped together when processed. Otherwise, the request throws an\n[`AssetGroupError` indicating some assets are missing](/google-ads/api/performance-max/troubleshooting#common_asset_group_errors),\neven if the operations required to\n[meet minimum asset requirements](/google-ads/api/performance-max/asset-requirements) are included later\nin the operations list.\n\n### `AssetGroupListingGroupFilterOperation` best practices\n\n| **Note:** [`AssetGroupListingGroupFilter`](/google-ads/api/reference/rpc/v21/AssetGroupListingGroupFilter) resources may only be used with Performance Max campaigns for [online sales with a product feed](/google-ads/api/performance-max/retail). [`AssetGroup`](/google-ads/api/reference/rpc/v21/AssetGroup) resources in such campaigns must have a [valid product group tree](/google-ads/api/performance-max/listing-groups) composed of one or more [`AssetGroupListingGroupFilter`](/google-ads/api/reference/rpc/v21/AssetGroupListingGroupFilter) resources associated with it. To target all products, use a single node tree.\n\nWhen working with listing group filters in the context of an\n[`AssetGroupListingGroupFilter`](/google-ads/api/reference/rpc/v21/AssetGroupListingGroupFilter), we\nrecommend adding\n[`AssetGroupListingGroupFilterOperation`](/google-ads/api/reference/rpc/v21/AssetGroupListingGroupFilterOperation)\noperations targeting the same [`AssetGroup`](/google-ads/api/reference/rpc/v21/AssetGroup) to a\nbatch job consecutively, so that the set of operations are treated atomically\nduring batch splitting. To read more on batch splitting and other factors\naffecting listing groups, see the\n[listing group batch processing guide](/google-ads/api/docs/batch-processing/listing-groups).\n\nAdd the mutate operations to the job\n------------------------------------\n\nAdd the mutate operations from [Step 2](#prepareoperations) to a list and call\n[`AddBatchJobOperations`](/google-ads/api/reference/rpc/v21/BatchJobService#addbatchjoboperations)\nto add the list of mutations to the batch job created in [Step 1](#createjob).\nFollow the [add operations step](/google-ads/api/docs/batch-processing/flow#addoperations)\nin the general batch processing guide to add the list of mutate operations.\n\nRun the batch job\n-----------------\n\nAllow the uploaded jobs to start running by calling\n[`RunBatchJob`](/google-ads/api/reference/rpc/v21/BatchJobService#runbatchjob). See\n[Run the batch job](/google-ads/api/docs/batch-processing/flow#runjob)\nstep in the general batch processing guide for an example.\n\nRetrieve the job's status\n-------------------------\n\nBatch jobs start as long-running operations and usually take time to finish.\nAfter starting the job, use the long-running operation's\n[`GetOperation`](/google-ads/api/reference/rpc/google.longrunning#google.longrunning.Operations.GetOperation)\nmethod to [poll the job's status](/google-ads/api/docs/batch-processing/flow#pollstatus)\nuntil it's done.\n\nWhen all of your batch jobs finish, call\n[`ListBatchJobResults`](/google-ads/api/reference/rpc/v21/BatchJobService#listbatchjobresults) to\nprint their statuses and responses following the\n[list all batch job results](/google-ads/api/docs/batch-processing/flow#listresults) step in\nthe general batch processing guide."]]