AI-generated Key Takeaways
-
BatchJobService
enables asynchronous execution of multiple operations across various Google Ads services, reducing the need for synchronous waiting. -
It supports a wide range of operations, allowing you to manage campaigns, ad groups, ads, criteria, labels, and feed items within a single job.
-
Failed operations due to transient errors like rate limits are automatically retried, ensuring higher reliability.
-
Although it minimizes API requests and retries failed operations, using
BatchJobService
does not inherently guarantee improved performance; experimentation is crucial to determine its suitability for specific use cases. -
Certain atomic operations like
CampaignConversionGoalOperation
,ConversionGoalCampaignConfigOperation
,CustomConversionGoalOperation
,CustomerConversionGoalOperation
, andCustomerOperation
are not supported in batch jobs and should be executed usingGoogleAdsService
instead.
While most services provide synchronous APIs that require you to make a request
and then wait for a response, BatchJobService
provides a way to perform batches of operations on multiple services without
synchronously waiting for the operations to complete.
Unlike service-specific mutate operations, a single job in
BatchJobService
can operate against a mixed
collection of campaigns, ad groups, ads, criteria, labels, and feed items.
Submitted jobs run in parallel, and
BatchJobService
automatically retries
operations that fail due to transient errors such as rate limit errors. The
Google Ads API still counts each operation towards your
daily operation limit, following the
API operations counting instructions.
BatchJobService
also lets you use
temporary IDs within your requests so
you can submit dependent operations in a single job.
Operations
BatchJobService
supports all of the operations listed in
MutateOperation
, with a few important
exceptions.
Because the Google Ads API executes all operations in a job with partial failure enabled, if a job is cancelled or individual operations fail, operations that succeeded will not be rolled back.
The following operations in MutateOperation
must be
atomic, and thus, don't support partial failure
and are not supported within batch jobs. Avoid adding these operations to your
jobs, set partial_failure
to false
in your requests, and use the mutate
method in GoogleAdsService
instead.
Unsupported operations in BatchJobService
CampaignConversionGoalOperation
ConversionGoalCampaignConfigOperation
CustomConversionGoalOperation
CustomerConversionGoalOperation
CustomerOperation