Thursday, June 13, 2024

### What's New

<br />


Starting with [Google Ads API v17](https://developers.google.com/google-ads/api/docs/release-notes.md.txt#v17), `BatchJobService` supports `AssetGroupOperation`. With this change you can use [batch processing](https://developers.google.com/google-ads/api/docs/batch-processing/overview.md.txt) to create and manage entire Performance Max campaigns.


Batch processing is a powerful feature in the Google Ads API that lets you dispatch a set of operations, which might be interdependent, to multiple services without waiting for each operation to complete. Batch processing also provides automatic retries for transient errors, and automatic grouping of operations We have made batch processing available for `AssetGroupOperation` in response to your [feedback](https://developers.google.com/google-ads/api/docs/performance-max/feedback) to provide another option for working with asset groups asynchronously.

### Implementation Details


Using `AssetGroupOperation` with batch processing for Performance Max campaigns is similar to how you use other operations, with the following special considerations:


When creating asset groups using batch processing, `AssetGroupOperation` and `AssetGroupAssetOperation` must be sequential without other operations in between. This is due to how operations are grouped together when processed. You can learn more about the considerations and best practices for using batch processing to create Performance Max campaigns in the [Batch processing for Performance Max guide](https://developers.google.com/google-ads/api/performance-max/batch-processing.md.txt).


Here's how to create an asset group in a batch job:

1. Create a `MutateOperation` containing an `AssetGroupOperation`. This is no different than creating a `MutateOperation` using the `GoogleAdsService.Mutate` service. See the [mutating resources guide](https://developers.google.com/google-ads/api/docs/mutating/overview.md.txt).
2. Associate assets with the asset group by creating a `MutateOperation` containing operations of type `AssetGroupAssetOperation` for each asset required; the sequential `AssetGroupOperation` and operations of type` AssetGroupAssetOperation` must combine to meet applicable [minimum asset requirements](https://developers.google.com/google-ads/api/docs/performance-max/asset-requirements).
3. Add the operations of type `MutateOperation` to the batch job [as you would with any other type of operation](https://developers.google.com/google-ads/api/docs/batch-processing/flow.md.txt#addoperations).
4. Run the batch job by calling `RunBatchJob` after adding all operations.


The following resources contain additional information to help you with your integration:

- [Batch processing for Performance Max guide](https://developers.google.com/google-ads/api/performance-max/batch-processing.md.txt)
- [Asset groups guide](https://developers.google.com/google-ads/api/docs/performance-max/asset-groups)
- [Batch processing guide](https://developers.google.com/google-ads/api/docs/batch-processing/overview.md.txt)

### Improving Performance Max integrations Blog Series


This article is part of a series that discusses new and upcoming features that you have been asking for. We'll cover what's new and how it differs from the current implementation approach.


Keep an eye out for further updates and improvements on our [developer blog](https://developers.google.com/ads/blog.md.txt), continue providing [feedback on Performance Max](https://developers.google.com/google-ads/api/docs/performance-max/feedback) integrations with the Google Ads API, and as always, [contact our team](https://developers.google.com/google-ads/api/support.md.txt) if you need support.

### Workshop Reminder


[Register today](https://adsonair.withgoogle.com/events/performance-max-api-workshop) for the Performance Max and the Google Ads API workshop happening on July 17!

![Portrait of the author](https://developers.google.com/static/ads/blog/images/ACg8ocLWlAwHdnt9MpKRxqhVoZjXtVWY-SyHjqRoctYYlu6-dl4=s192-c-mo.jpg) - Da Yang, Google Ads API Team


**Labels:**

[asset-group](https://developers.google.com/ads/blog/feeds/labels/asset-group.md.txt),

[batch-processing](https://developers.google.com/ads/blog/feeds/labels/batch-processing.md.txt),

[google-ads](https://developers.google.com/ads/blog/feeds/labels/google-ads.md.txt),

[google-ads-api](https://developers.google.com/ads/blog/feeds/labels/google-ads-api.md.txt),

[performance-max](https://developers.google.com/ads/blog/feeds/labels/performance-max.md.txt)