Tag Archives: adwords_BatchJobService

Upcoming Change to the Enforcement of Temporary IDs with Product Partitions and Listing Groups

Beginning in May, 2021 we will enforce a requirement that temporary IDs be unique for all objects in newly created listing groups (used for Hotel Ads and Shopping Ads in the Google Ads API) and product partitions (used for Shopping Ads in the AdWords API). This change will affect all versions of both the AdWords and Google Ads APIs.

Temporary IDs must be unique across an entire mutate request–even if the objects are in separate listing group trees or product partition trees.

In order to avoid unnecessary breakages, API users should update their applications to ensure that all temporary IDs used in individual requests are unique.

Here is a snapshot of the expected behavior for requests that continue using non-unique temporary IDs:

API and mutate method Current Behavior New Behavior
BatchJobService with the Google Ads API Customers will receive a non-specific error, meaning it may not specify that the issue is related to temporary IDs. Customers will start receiving failed operations that contain the error: MutateError.MUTATE_ERROR_TEMP_ID_ALREADY_EXISTS
BatchJobService with the AdWords API Customers will receive a non-specific error, meaning it may not specify that the issue is related to temporary IDs. Customers will start receiving failed operations that contain the error: NewEntityCreationError.DUPLICATE_TEMP_IDS
AdGroupCriterionService or GoogleAdsService.Mutate with the Google Ads API Customers will not receive an error. Customers will start receiving the error: MutateError.MUTATE_ERROR_TEMP_ID_ALREADY_EXISTS
AdGroupCriterionService with the AdWords API Customers will not receive an error. Customers will start receiving the error: NewEntityCreationError.DUPLICATE_TEMP_IDS


If you have any questions or need additional help, contact us via the forum or at [email protected].

Sunset of MutateJobService in the AdWords API

If you've been following the AdWords API sunset and release announcements, you know that there have been some changes to batch processing: The planned sunset date of version v201601 is August, 2016, after which MutateJobService will no longer be available.

What do I need to do?
If you are still using MutateJobService, please migrate to BatchJobService ahead of August, 2016.

How do I migrate?
The migration from MutateJobService to BatchJobService is relatively straightforward and covered in the migration section of the batch processing guide. The guide also contains code examples for each client library to help you get started.

If you have any questions or need help with migration, please post on the forum or the Ads Developers Plus Page.

Migrate from MutateJobService to BatchJobService before v201509 sunsets

What do I need to do now?

AdWords API versions after v201509 will no longer support MutateJobService. Migrate to BatchJobService, introduced in v201509, as soon as you can. For sunset dates, check out our Deprecation Schedule.

What’s new?

BatchJobService supports all of the same operations as MutateJobService. Plus, we’ve provided some improvements:
  • Creation of dependent objects using temporary IDs
    • For example, you can create an entire campaign including ad groups and criteria in one job.
  • Improved performance
  • Better error reporting
    • If some operations failed, the errors returned by BatchJobService are correlated with those operations, making it easier to understand what went wrong.
    • If the service was unable to process any operations, it returns a detailed list of errors.
  • Higher limit on the number of operations per job
    • BatchJobService supports potentially hundreds of thousands of operations.
    • MutateJobService only supported thousands of operations.
Check out our Batch Processing guide for more details on these new features.

How do I migrate?

Thanks to the new utilities we’ve created in our client libraries, migration will be a simple process of passing in your existing operations to the BatchJobService rather than the MutateJobService.

Our guide has a section on Migrating from MutateJobService. Each of our client libraries have code examples that include utilities for the BatchJobService. The utilities in each of the client libraries do all of the heavy lifting for you, which will simplify your code and make the transition easier.

Where can I learn more?

If you missed our Fall 2015 workshops, we have a BatchJobService video with accompanying slides available on our AdWords API Workshop site.

Questions? Visit us on the AdWords API Forum or our Google+ page.