Tag Archives: assets

Changes to handling duplicate assets in Google Ads API

What’s changing?
Starting the week of March 28, 2022, the Google Ads API will no longer throw an AssetError.CANNOT_MODIFY_ASSET_NAME in versions v7, v8 and v9 when uploading an asset with duplicate content but a different Asset.name. Instead, the Google Ads API will ignore the new name and return the resource name of the existing asset.

This change affects the following asset types. Background
When creating a new asset using AssetService.MutateAssets, the Google Ads API detects if the uploaded asset has the same content as an existing asset but a different name and raises an AssetError.CANNOT_MODIFY_ASSET_NAME in versions v7, v8 and v9. We observed that it was not easy for users to troubleshoot this error, so starting with version v10, the Google Ads API ignores the new name and returns the resource name of the existing asset if an asset with duplicate content is detected. To keep the API experience consistent, we are making the same changes to versions v7, v8 and v9 of Google Ads API.

What should you do?
Once this change goes live, the AssetError.CANNOT_MODIFY_ASSET_NAME error won’t be thrown when uploading an asset with duplicate content and a different name. If your application handles this error, please review and make changes to match the new API behavior.

If you have any questions or need additional help, contact us using any of the following support options:

Feed-based Extensions Migration Reminder and Opt Out Instructions

As previously announced, all ad extensions are migrating to the new Asset-based extension paradigm. You must update extensions support in your implementation and migrate existing Feed-based extensions to Asset-based extensions. See the migration schedule for all the important migration and sunset dates.

The first automatic migration will start on October 20, 2021 and will take several weeks to complete. You have a choice to migrate your own extensions, allow the automatic migration to proceed, or to opt client accounts out of it. During the migration, Feed-based Callout, Promotion, Sitelink, and Structured Snippet extensions within client accounts will be copied into new Asset-based extensions. The new Asset-based extensions will then serve instead of the Feed-based extensions.


What will be the impact of the automatic migration?

After an account has been migrated, there will be a new Asset instance for each Feed-based Callout, Promotion, Sitelink, and Structured Snippet extension. The new Assets will be linked to the same ad groups, campaigns, and customers as the Feed-based extensions from which they were copied. The new Assets will have new IDs, and there will be no connection between Assets created during the automatic migration and the original Feeds, including historic metrics. All subsequent extension-related metrics will only be accessible from the asset_field_type_view report. Additionally, you will no longer be able to issue CREATE or MUTATE requests that affect Callout, Promotion, Sitelink or Structured Snippet extensions in the account through the following services:

Service API Reference
ExtensionFeedItemService Google Ads API
AdGroupExtensionSettingService AdWords API Google Ads API
CampaignExtensionSettingService AdWords API Google Ads API
CustomerExtensionSettingService AdWords API Google Ads API
FeedService AdWords API AdWords API
FeedItemService AdWords API Google Ads API
FeedMappingService AdWords API Google Ads API
AdGroupFeedService AdWords API Google Ads API
CampaignFeedService AdWords API Google Ads API
CustomerFeedService AdWords API Google Ads API
GoogleAdsService Google Ads API
BatchJobService AdWords API Google Ads API


If you choose to allow the automatic migration to proceed, you will know that an account has been migrated when any MUTATE or CREATE request to the above listed services affecting Callout, Promotion, Sitelink, or Structured Snippet extensions returns an error.


What will be the impact of opting out?

You can opt out individual customer accounts from the October automatic migration. Opting out will only defer the automatic migration until the second automatic migration begins on February 15, 2022. If you choose to opt out, no resources will be created or modified in opted out accounts during the October automatic migration, and only the opted out accounts will be able to continue to issue CREATE and MUTATE requests after the October automatic migration.

You cannot opt out of the February 15, 2022 automatic migration. All remaining Feed-based extensions will be automatically migrated starting February 15, 2022 as described in the migration schedule. After this second automatic migration, all CREATE and MUTATE requests affecting Feed-based extensions will return errors.

What do I need to do?

We strongly recommend that you migrate your extensions yourself if feasible. Please follow our extension migration documentation for guidance on migrating your own extensions. Be sure to remove the Feed-based extension once you have successfully copied an extension to an Asset to avoid duplication during the automatic migration.

If you choose to allow the automatic migration to proceed, you need to only update your implementations to detect when an account has been migrated and to thereafter switch over to managing Assets instead of Feeds.


If you choose to opt out, the automatic migration will make no changes to the opted out accounts. Your existing API implementations will continue to work until the second automatic migration begins on February 15, 2022. To opt out, you must complete this form with the following:
  • A contact email at which you can be reached should any issues arise during the opt out process.
  • The developer token that you use to manage the accounts.
  • Acknowledgements of the effects of opting out.
  • An uploaded text file containing the customer IDs that you wish to opt out, one per line. If you need to generate a list of customer IDs, we recommend utilizing the GetAccountHierarchy example in each client library’s AccountManagement directory. This example will return the resource names of all accounts reachable from a given manager account.
The form will open for submissions on August 30, 2021. Note that the developer token must have been used to issue requests on the customer account after July 16, 2021. The form will close on October 13, 2021.


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