Use this service to schedule large batches of updates to your AdWords campaigns as asynchronous bulk mutate jobs, and to retrieve the status, results or statistics of your recent jobs.
For example, a single BulkMutateJob may contain mutate operations that update several ad-groups, create several ads, and add thousands of keywords.
Each customer has a single job queue - the jobs that operate on the customer are run one at a time in the order in which they were queued. Note: Jobs will be rejected (with an ApiException) once the customer has 10 pending jobs.
Call mutate with an ADD operation to create a new job containing the
first request part. The service will return the newly created job
with a BulkMutateJobId for referring to this job in future calls to the
service.
Call mutate with a SET operation for each additional request part
to be added to this job.
You may set BulkMutateJob.numRequestParts for the job during any of these
mutate requests. Failing to set this value will result in the job
remaining in its PENDING state
indefinitely.
Note: Both incomplete and queued jobs have a PENDING status, and so both count towards the
customer's pending job limit.
Mutate requests to the Bulk Mutate Job Service will fail if the request was invalid or if any of a job's structural constraints are violated, and depending on the operation, the job will not get created or updated.
Once a job has been submitted, you may check its status
periodically. When a job's status changes from PENDING to PROCESSING, you can request the job's processing
statistics to be included with the job's status if you need to
track the progress of the job.
Caution: Do not do poll the job status too frequently or you will risk getting your customer rate limited.
Once a job's status changes to COMPLETED, you can retrieve the job's results
one part at a time.
A job can fail even after it has been accepted for processing.
For example, a job may fail at this stage if the total number of
operations exceed the maximum limit for a job even though the
number of operations in each request part did not exceed the
maximum limit for a request part. If a job has a FAILED status it means that none of its mutate
operations were even processed.
Once a job is launched in the bulk mutate workflow, the operation streams in the job are sorted by scoping entity, which is either the customer or the parent campaign. The operations of a single scoping entity are always processed in their request order. Operations of different scoping entities may be processed concurrently or in a different order than in the request.
The operations for each scoping entity are processed in batches for efficiency. Each batch is processed atomically so that either all of them have successful results, or they all fail with a failure result for the entire batch.
The bulk mutate workflow will keep retrying operations when transient failures occur. However, if these failures persist for several hours or more serious ones occur, the bulk mutate workflow will abort a job leaving some or all of its operations unprocessed.
- Production WSDL
-
https://adwords.google.com/api/adwords/job/v201206/BulkMutateJobService?wsdl - Sandbox WSDL
-
https://adwords-sandbox.google.com/api/adwords/job/v201206/BulkMutateJobService?wsdl - Namespace
-
https://adwords.google.com/api/adwords/cm/v201206 - Operations
- Errors
-
- AdError
- AdExtensionError
- AdExtensionOverrideError
- AdGroupAdError
- AdGroupCriterionError
- AdGroupServiceError
- AdxError
- AuthenticationError
- AuthorizationError
- BetaError
- BiddingError
- BiddingTransitionError
- BudgetError
- BulkMutateJobError
- CampaignAdExtensionError
- CampaignCriterionError
- CampaignError
- ClientTermsError
- CriterionError
- DatabaseError
- DateError
- DistinctError
- EntityAccessDenied
- EntityCountLimitExceeded
- EntityNotFound
- IdError
- ImageError
- InternalApiError
- JobError
- MediaError
- NewEntityCreationError
- NotEmptyError
- NotWhitelistedError
- NullError
- OperationAccessDenied
- OperatorError
- PagingError
- PolicyViolationError
- QueryError
- QuotaCheckError
- QuotaError
- RangeError
- RateExceededError
- ReadOnlyError
- RegionCodeError
- RejectedError
- RequestError
- RequiredError
- SelectorError
- SettingError
- SizeLimitError
- StatsQueryError
- StringLengthError
- TargetError
get
Returns a list of bulk mutate jobs.
Parameters
| Field | Type | Description |
|---|---|---|
| selector |
BulkMutateJobSelector
|
Specifies which jobs to return. If the selector is empty, all jobs are returned. |
Response
| Field | Type | Description |
|---|---|---|
| rval |
BulkMutateJob[]
|
List of bulk mutate jobs meeting the selector criteria. |
mutate
Adds or updates a bulk mutate job.
Use the «ADD» operator to submit a new job, and the «SET» operator to add additional request parts to an existing job. The «DELETE» operator is not supported. From v201008 and later, use the «REMOVE» operator to cancel a job. Only jobs that still have pending additions of request parts may be canceled.
Note: In the current implementation, the check for duplicate job keys is only "best effort", and may not prevent jobs with the same keys from being accepted if they are submitted around the same instant.
Parameters
| Field | Type | Description |
|---|---|---|
| operation |
JobOperation
|
The operation to perform. |
Response
| Field | Type | Description |
|---|---|---|
| rval |
BulkMutateJob
|
The added or updated bulk mutate job. |
Errors
| Error | Reasons |
|---|---|
| AdError | Base error class for Ad Service. Enumerations
|
| AdExtensionError | AdExtension errors. Enumerations
|
| AdExtensionOverrideError | AdExtensionOverride errors. Enumerations
|
| AdGroupAdError | Error information for AdGroupAdService. Enumerations
|
| AdGroupCriterionError | Base error class for Ad Group Criterion Service. Enumerations
|
| AdGroupServiceError | Represents possible error codes in AdGroupService. Enumerations
|
| AdxError | Errors that are thrown when a non-AdX feature is accessed by an AdX customer. Enumerations
|
| AuthenticationError | Errors returned when Authentication failed. Enumerations
|
| AuthorizationError | Errors encountered when trying to authorize a user. Enumerations
|
| BetaError | Errors that are thrown when a Beta feature is accessed incorrectly. Enumerations
|
| BiddingError | Represents bidding errors. Enumerations
|
| BiddingTransitionError | Bidding transition errors. Enumerations
|
| BudgetError | A list of all the error codes being used by the common budget domain package. Enumerations
|
| BulkMutateJobError | Bulk mutate job handling errors. Enumerations
|
| CampaignAdExtensionError | CampaignAdExtension errors. Enumerations
|
| CampaignCriterionError | Base error class for Campaign Criterion Service. Enumerations
|
| CampaignError | Base error class for Campaign Service. Enumerations
|
| ClientTermsError | Error due to user not accepting the AdWords terms of service. Enumerations
|
| CriterionError | Error class used for reporting criteria related errors. Enumerations
|
| DatabaseError | Errors that are thrown due to a database access problem. Enumerations
|
| DateError | Errors associated with invalid dates and date ranges. Enumerations
|
| DistinctError | Errors related to distinct ids or content. Enumerations
|
| EntityAccessDenied | Reports permission problems trying to access an entity. Enumerations
|
| EntityCountLimitExceeded | Signals that an entity count limit was exceeded for some level.
For example, too many criteria for a campaign. Enumerations
|
| EntityNotFound | An id did not correspond to an entity, or it referred to an entity which does not belong to the
customer. Enumerations
|
| IdError | Errors associated with the ids. Enumerations
|
| ImageError | Error class for errors associated with parsing image data. Enumerations
|
| InternalApiError | Indicates that a server-side error has occured. InternalApiErrors
are generally not the result of an invalid request or message sent by the
client.Enumerations
|
| JobError | Job handling errors. Enumerations
|
| MediaError | Error class for media related errors. Enumerations
|
| NewEntityCreationError | Error associated with creation of new entities using
TempIds.Enumerations
|
| NotEmptyError | Errors corresponding with violation of a NOT EMPTY check. Enumerations
|
| NotWhitelistedError | Indicates that the customer is not whitelisted for accessing the API. Enumerations
|
| NullError | Errors associated with violation of a NOT NULL check. Enumerations
|
| OperationAccessDenied | Operation not permitted due to the invoked service's access policy. Enumerations
|
| OperatorError | Errors due to the use of unsupported operations. Enumerations
|
| PagingError | Error codes for pagination.
See Paging. Enumerations
|
| PolicyViolationError | Represents violations of a single policy by some text in a field. Violations of a single policy by the same string in multiple places within a field is reported in one instance of this class and only one exemption needs to be filed. Violations of a single policy by two different strings is reported as two separate instances of this class. e.g. If 'ACME' violates 'capitalization' and occurs twice in a text ad it would be represented by one instance. If the ad also contains 'INC' which also violates 'capitalization' it would be represented in a separate instance. |
| QueryError | A QueryError represents possible errors for query parsing and execution. Enumerations
|
| QuotaCheckError | Encapsulates the errors thrown during developer quota checks. Enumerations
|
| QuotaError | Errors that are thrown if a quota limit is exceeded. Enumerations
|
| RangeError | A list of all errors associated with the Range constraint. Enumerations
|
| RateExceededError | Signals that a call failed because a measured rate exceeded. Enumerations
|
| ReadOnlyError | Errors from attempting to write to read-only fields. Enumerations
|
| RegionCodeError | A list of all errors associated with the @RegionCode constraints. Enumerations
|
| RejectedError |
Enumerations
|
| RequestError | Encapsulates the generic errors thrown when there's an error with user
request. Enumerations
|
| RequiredError | Errors due to missing required field. Enumerations
|
| SelectorError | Represents possible error codes for Selector. Enumerations
|
| SettingError | Indicates a problem with campaign settings. Enumerations
|
| SizeLimitError | Indicates that the number of entries in the request or response exceeds the system limit. Enumerations
|
| StatsQueryError | Represents possible error codes when querying for stats. Enumerations
|
| StringLengthError | A list of all errors associated with the @ContentsString constraint. Enumerations
|
| TargetError | A list of all the error codes being used by the common targeting package. Enumerations
|