While most services provide synchronous APIs, requiring 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.
In addition, BatchJobService
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.
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
your jobs.
If you need to execute any of these operations, use the mutate
method of
GoogleAdsService
instead, and set
partial_failure
to false
in your requests.