While most services provide synchronous APIs, requiring you to make a request
and then wait for a response,
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 lets you use
temporary IDs within your requests so
you can submit dependent operations in a single job.
BatchJobService supports all of the operations listed in
MutateOperation, with a few important
The Google Ads API executes all operations in a job with
partial failure enabled. However, the
following operations in
MutateOperation do not support partial failure
because they must be atomic. As a result,
they are not supported within batch jobs and you should avoid adding them to
If you need to execute any of these operations, use the
mutate method of
GoogleAdsService instead, and set
false in your requests.