با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
پردازش دسته ای راهی برای ارسال مجموعه ای از عملیات، که ممکن است وابسته به یکدیگر باشند، به چندین سرویس بدون انتظار همزمان برای تکمیل عملیات ارائه می دهد. میتوانید از پردازش دستهای برای ایجاد و مدیریت کمپینهای Performance Max استفاده کنید.
این راهنما جزئیات خاص کمپین های Performance Max را هنگام کار با پردازش دسته ای ارائه می دهد. راهنمای پردازش دستهای عمومی اطلاعات کلی در مورد پردازش دستهای ارائه میکند و راهنمای درخواستهای ساختار حاوی اطلاعات دقیق درباره ساخت درخواستها برای ایجاد یا مدیریت کمپینهای Performance Max است.
برای ایجاد کمپین Performance Max با استفاده از پردازش دسته ای، این مراحل را دنبال کنید:
کمپینهای Performance Max به عملیاتی برای ایجاد چندین منبع مرتبط نیاز دارند که در راهنمای درخواستهای ساختار به تفصیل آمده است. برای هر منبعی که باید در کار دسته ای گنجانده شود، یک MutateOperation ایجاد کنید.
الزامات CampaignOperation و CampaignAssetOperation
وقتی دستورالعملهای برند برای یک کمپین فعال میشوند (به دستورالعملهای برند مراجعه کنید)، باید داراییهای برند را با استفاده از منابع CampaignAsset به کمپین مرتبط کنید. علاوه بر این، در یک کار دستهای، ایجاد این منابع CampaignAsset باید بلافاصله پس از ایجاد خود منبع Campaign اتفاق بیفتد. اگر منابع CampaignAsset بلافاصله پس از منبع Campaign ایجاد نشوند (هنگامی که دستورالعمل های برند فعال هستند - به عیب یابی مراجعه کنید)، درخواست شکست می خورد و یک CampaignError نشان می دهد که دارایی های از دست رفته است. گنجاندن عملیات ایجاد CampaignAsset بعداً در همان لیست عملیات، از بروز این خطا جلوگیری نمی کند.
الزامات AssetGroupOperation و AssetGroupAssetOperation
عملیات جهش را از مرحله 2 به یک لیست اضافه کنید و با AddBatchJobOperations تماس بگیرید تا لیست جهش ها را به کار دسته ای ایجاد شده در مرحله 1 اضافه کنید. برای افزودن لیست عملیات جهش، مرحله عملیات افزودن را در راهنمای پردازش دسته ای عمومی دنبال کنید.
کار دسته ای را اجرا کنید
با فراخوانی RunBatchJob به کارهای آپلود شده اجازه دهید شروع به اجرا کنند. برای مثال به اجرای مرحله کار دسته ای در راهنمای پردازش دسته ای عمومی مراجعه کنید.
وضعیت کار را بازیابی کنید
کارهای دسته ای به عنوان عملیات طولانی مدت شروع می شوند و معمولاً اتمام آن زمان می برد. پس از شروع کار، از روش GetOperation عملیات طولانی مدت برای نظرسنجی از وضعیت کار استفاده کنید تا زمانی که انجام شود.
تاریخ آخرین بهروزرسانی 2025-09-03 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-09-03 بهوقت ساعت هماهنگ جهانی."],[[["\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."]]