Tag Archives: google_ads_api

Announcing v3_0 of the Google Ads API beta

Today we’re announcing the v3_0 release of the Google Ads API beta. To use the v3_0 features via the new endpoint, please update your client libraries. If you are upgrading from v1 or v2, some of your code may require changes when you switch to the new v3 endpoint. Please see the migration guide for more information on breaking changes.

Here are the highlights: Where can I learn more?
The following resources can help you get going with the Google Ads API: The updated client libraries and code examples will be published next week. If you have any questions or need additional help, please contact us via the forum.

Gmail on standard Shopping campaigns

Beginning the week of Mar 4th, 2020, Shopping ads (both Product Shopping ads and Showcase Shopping ads) in your standard Shopping campaigns that target the Google Display Network will be eligible to appear on Gmail in addition to YouTube and Google Discover. This means that reporting information will include Gmail in addition to YouTube and Google Discover for the following configurations: To allow your advertisers to opt-in/opt-out of Gmail, YouTube and Google Discover for standard Shopping campaigns, you will need to enable or disable the following setting:
  • Google Ads API - Modify the NetworkSettings of the standard Shopping campaign and set target_content_network to true (opt-in) or false (opt-out).
  • AdWords API - Modify the NetworkSetting of the standard Shopping campaign and set targetContentNetwork to true or false.
If you have any questions or need help, please contact us via the forum.

Complete sunset of accelerated budget delivery

Last October, we announced the sunset of accelerated budget delivery for use with Search campaigns, Shopping campaigns, and shared budgets. These campaigns have since been made unavailable for use with accelerated budget delivery.

Later this year, accelerated budget delivery will also be sunset for all other remaining campaign types for both shared and non-shared budgets. This includes Display, App, video campaigns, and others, and this sunset will affect budgets in all versions of the AdWords API, Google Ads API, and Google Ads scripts.

Starting at the end of April, 2020, scripts and both APIs will prevent campaigns from using new and existing budgets with the ACCELERATED delivery method.
  • Creating a new budget with its delivery method field set to ACCELERATED will no longer be allowed.
  • Changing an existing budget from STANDARD to ACCELERATED delivery method will no longer be allowed.
  • Setting a campaign to use a pre-existing budget with an ACCELERATED delivery method will no longer be allowed.
Any of the above operations will result in errors from the APIs and scripts, according to the following:
AdWords API
Service Field Value Error
BudgetService deliveryMethod: ACCELERATED OperationAccessDenied.ACTION_NOT_PERMITTED
CampaignService budget*
[*]only if set to accelerated delivery
OperationAccessDenied.ACTION_NOT_PERMITTED

Google Ads API
Service Field Value Error
CampaignBudgetService delivery_method: ACCELERATED OperationAccessDenied.ACTION_NOT_PERMITTED
CampaignService campaign_budget*
[*] only if set to accelerated delivery
OperationAccessDenied.ACTION_NOT_PERMITTED

Google Ads scripts
Method Error
AdsApp.​Budget.setDeliveryMethod(“ACCELERATED”) “Action not permitted”

Making changes to existing ACCELERATED budgets (e.g., updating amount or status fields in the API, or using their corresponding AdsApp.​Budget methods in scripts) will still be allowed until May 2020, after which any modification to these budgets will also result in analogous errors.

Future versions of the Google Ads API and Google Ads scripts may remove support for the accelerated budget delivery option altogether.

Please don’t hesitate to reach out to us on the AdWords API / Google Ads API forum or the Google Ads scripts forum if you have any questions about this change.

Changes to stats retrieval for Search campaigns with Display Expansion

What’s changing?

We are changing how stats for Search campaigns with Display Expansion (previously known as Search campaigns with Display Select) are reported by the AdWords API, the Google Ads API, and Google Ads scripts.

Starting the week of Feb 17, 2019, we will no longer return display keyword stats for Search campaigns with Display Expansion in

Why is this changing?

Search campaigns with Display Expansion historically used keywords to perform Display Expansion. As we strive to improve targeting for Display Expansion, it is no longer possible to meaningfully and consistently attribute stats to keywords. As a result, this view has been removed from the Google Ads UI. The changes in this announcement aim to create parity between APIs and UI.


What should I do?

Before the sunset date, we recommend switching to alternate reports for fetching stats for Search campaigns with Display Expansion.

If you have any questions or need help, please contact us via the Google Ads scripts forum or the AdWords API and Google Ads API forum.

Upcoming sunset of message extensions in in AdWords and Google Ads APIs and Google Ads scripts

On January 27, 2020, message extensions will be sunset in AdWords and Google Ads APIs and Google Ads scripts. After the sunset date:
  • All existing message extensions will no longer serve.
  • You will not be able to create new message extensions or update existing extensions.
  • You will still be able to retrieve data for existing message extensions until the end of 2020.
  • You will also be able to remove the existing message extensions until the end of 2020.
What will happen when you try to create or update message extensions after the sunset date?
If you try to create or update a message extension, you will see the following errors:

Google Ads API
  • Trying to create or update a TextMessageFeedItem will result in the ExtensionSettingError.INVALID_FEED_TYPE error.
  • Trying to create or update a message extension via FeedMapping with placeholder_type set to MESSAGE will result in the FeedMappingError.INVALID_PLACEHOLDER_TYPE error.

AdWords API
  • Trying to create or update a MessageFeedItem will result in the ExtensionSettingError.INVALID_FEED_TYPE error.
  • Trying to create or update a message extension via FeedMapping using placeholder type ID 31 will result in the FeedMappingError.INVALID_PLACEHOLDER_TYPE error.

Google Ads scripts
Trying to execute the following operations will result in the error, “Cannot operate on deprecated placeholder type” (translated to the language based on your locale):
What do you need to do?
  • Retrieve all the data from your existing message extensions that you need. All message extension data will be deleted at the end of 2020.
  • Ensure that your programs don’t contain any code trying to create or update message extensions after the sunset date.
As always, if you have any questions, feel free to reach out to us on the Google Ads API forum.

Smart Display Campaigns Change in AdWords API and Google Ads API Starting January 31, 2020

On January 31, 2020, the AdWords API and Google Ads API will no longer allow positive user list criteria in Smart Display campaigns.

What happens to my existing Smart Display Campaigns?
Existing Smart Display campaigns with positive user list targeting:
  • Will continue to serve without interruption.
  • Will no longer allow adding a positive CampaignCriterion or AdGroupCriterion with a user list criterion.
  • Will no longer serve if the ad group is paused and then restarted.
What code do I need to change?
Please update your code that manages Smart Display campaigns per the following updated validation rules:
AdWords API Google Ads API
Positive CampaignCriterion.criterion set to CriterionUserList can no longer be added. Positive CampaignCriterion.user_list can no longer be added.
Positive AdGroupCriterion.criterion set to CriterionUserList can no longer be added. Positive AdGroupCriterion.user_list can no longer be added.

You will receive a CANNOT_TARGET_CRITERION error if you try to add one of these criteria.

Why is this changing?
Adding these criteria for Smart Display campaigns was never formally supported as outlined in our Smart Display campaigns guide. Additional validation is being put in place now to make sure that these values are not being set. Please see the guide for supporting criteria.

If you have any questions while updating your code, please reach out to us on our Google Ads API and AdWords API forum.

AdFormat Change in AdWords API and Google Ads scripts Starting January 31, 2020

On January 31, 2020, the AdWords API and Google Ads scripts will start returning UNKNOWN for AdFormat in the Geo Performance Report. All other reports with AdFormat will not be affected. The Google Ads API is not affected as the field does not exist.

Please update your code where it uses these fields:
AdWords API Google Ads API Google Ads scripts
AdFormat in GEO_PERFORMANCE_REPORT NOT AFFECTED AdFormat in GEO_PERFORMANCE_REPORT

If you have any questions while updating your code, please reach out to us on our Google Ads API and AdWords API forum or our Google Ads scripts forum.

Video and Channel IDs Change in AdWords API, Google Ads API, and Google Ads Scripts Starting November 15, 2019

On November 15, 2019, AdWords API, Google Ads API, and Google Ads scripts will start returning null ID criteria for YouTube channels and videos that have been deleted, due to changes in our data retention policy. The criteria itself remains for a given ad group, but referencing the video ID or channel ID for that criteria will return null.
  • In the AdWords API v201809, null values are returned as two dashes (--) in reporting.
  • In the Google Ads API, NULL values are returned as NULL values.
  • In Google Ads Scripts, null values are returned as null JavaScript values.
Please update your code where it uses these fields:
AdWords API Google Ads API Google Ads Scripts
YouTubeVideo.videoId YouTubeVideoInfo.video_id YouTubeVideo.getVideoId()
YouTubeChannel.channelId YouTubeChannelInfo.channel_id VideoYouTubeVideo.getVideoId()
Criteria in CAMPAIGN_CRITERIA_REPORT Media.getYouTubeVideoId()
Criteria in CRITERIA_PERFORMANCE_REPORT
Criteria in SHARED_SET_CRITERIA_REPORT

If you have any questions while updating your code, please reach out to us on our forum.

Python 2 Deprecation in Google Ads API Client Library

On June 11, 2019 we deprecated support for Python 2 in the AdWords/Google Ad Manager client library for Python. As part of our previously announced plans, in mid-November 2019 we will be deprecating support in the Google Ads client library for Python as well.

When version 4.0.0 of the Google Ads client library for Python is released, we will officially end support for Python 2 and versions of Python 3 prior to 3.6.0.

If you use the Google Ads client library for Python, please take note of the following:
  • If you are already using Python version 3.6.0 or later, you can upgrade to Google Ads client library 4.0.0 and no other action is needed. If not, please do not upgrade to version 4.0.0 until you’ve upgraded to Python version 3.6.0 or later.
  • Version 4.0.0 will continue to support previous API versions such as v1_3 but we won't support client library issues related to Python 2 compatibility. For example, we won't release version 4.0.1 to fix a bug that only exists for Python 2 users.

If you have questions about the Python 3 migration, please submit an issue on the Google Ads client library repository’s Issues page, and for general API support please reach out to us on the Google Ads API forum.


Upcoming sunset of accelerated budget delivery

This is a reminder that, starting October 14, 2019, accelerated budget delivery will no longer be generally available in AdWords API, Google Ads API, and Google Ads scripts for use with shared budgets, search campaigns, and shopping campaigns.

We encourage all developers to review our announcement of the sunset, which has been recently updated to include the most up-to-date information on expected error codes that could be returned after this change goes into effect.

Please don’t hesitate to contact us via the AdWords API and Google Ads API Forum or the Google Ads scripts forum if you have any questions.

Adam Ohren, Google Ads API Team