Category Archives: Ads Developer Blog

The official blog for information about the AdWords, AdSense, DoubleClick and AdMob APIs and SDKs

Announcing v5 of the Google Ads API beta

Today, we’re announcing the v5 release of the Google Ads API beta. To use the v5 features, you will need to upgrade your client libraries and client code. The updated client libraries and code examples will be published next week. For more information on breaking changes, see the migration guide.

Here are the highlights:
  • Return metrics for entities not formally supported in the API, such as Discovery campaigns, are now available. These entities will show UNKNOWN enum values returned. See the release notes for more details.
  • New request parameter to opt into returning all mutable fields in the response during a mutate.
  • The API is moving towards using field presence such as optional string and optional double instead of wrapper types such as StringValue and DoubleValue. Your code will be easier to use and simplifies the API with payloads that are significantly smaller. Approximately half of our resources have been updated in this release. The full list is in the migration guide, and our code examples have been updated. The rest of the resources will change to field presence in a future release.
  • Subfields of AdGroupAd.policy_summary are now selectable. Non-repeated subfields of AdGroupAd.policy_summary are now filterable.
  • Support for Keyword Planner:
Where can I learn more?
The following resources can help you get started: If you have any questions or need additional help, contact us via the forum.

Stricter field validation implemented for Doubleclick Bid Manager API

Beginning in June 2020, we rolled out stricter validation of long and integer request fields in the Doubleclick Bid Manager (DBM) API. This rollout finished in early August and now applies to all traffic.

This new request validation no longer allows the use of decimals in string values submitted for long and integer field types. Previously, an integer field in a request body would accept, for example, “123.0” as a permissible value. Now, identical requests will return an HTTP 400 error with status INVALID_ARGUMENT.

Before the implementation of this validation, the API truncated invalid values at the decimal point and the digits after it were ignored. You can replicate this previous behavior by truncating values at the decimal place before making a request.

Verify that your code converts values with decimals to longs and integers. If you receive an INVALID_ARGUMENT error, make sure your numbers are actual longs or integers.

If you need help adjusting for this new validation or want to report a separate issue, please contact us using our support contact form.

Announcing v202008 of the Google Ad Manager API

We're happy to announce that v202008 of the Google Ad Manager API is available starting today. Upgrade to this version to take advantage of new functionality, like support for Audio Ads and the ability to specify multiple Viewability Provider Companies on a LineItem.

If you work with video ads, there are several new useful features available to you in v202008:
  • We’ve added nielsenCtvPacingType for specifying the pacing computation method for impressions on connected devices for a Nielsen measured LineItem.
  • You can now call the performCmsMetadataKeyAction to activate and deactivate CmsMetadataKeys.
For the full list of changes for v202008 and all other active API versions, check the release notes. Feel free to reach out to us on the Ad Manager API forum with any API-related questions.

Sunset of the Ad Manager API v201908

On Monday, August 31, 2020, in accordance with the deprecation schedule, v201908 of the Ad Manager API will sunset. At that time, any requests made to this version will return errors.

If you’re still using v201908, now is the time to upgrade to a newer release and take advantage of additional functionality. For example, in v201911 we improved reporting error messages and added the ability to break down reports by CMS Metadata.

When you’re ready to upgrade, check the full release notes to identify any breaking changes, like Activity and ActivityGroup IDs changing from type int to type long in v202005. Then, grab the latest version of your client library and update your code.

As always, don't hesitate to reach out to us on the developer forum with any questions.

Beta Support for search in Google Ads scripts

Today, we are announcing beta support for a new search method in Google Ads scripts. This method is backed by the Google Ads API and supports most queries supported by that API. Please see the documentation page for the AdsApp.search method for more information.

Additionally, we are adding beta support for the Google Ads Query Language to our existing AdsApp.report method. When using the report method, Google Ads scripts will automatically determine the correct reporting engine (either AdWords API or Google Ads API) to use based on the FROM clause in your query.

The key difference between the report and search methods is in how the results are returned.
  • The report method will return a Report object, as it always has. Each row will be a map of column names to values.
  • The search method will return an iterator of rows, and each row will be analogous to a GoogleAdsRow in the Google Ads API.
For example, the campaign.name column would be accessed using row['campaign.name'] if you use report, and row.campaign.name if you use search. The flat format from report can be useful for exporting to a spreadsheet or CSV. The object format from search is useful for programmatically processing results. Additionally, handling repeated fields is more intuitive since they will be returned as true arrays in the object format rather than concatenated together into a single string.

To help you build queries for your search, check out our query builder tool. If you have any questions, concerns, or feedback on the new beta features, please contact us via our forum.

August update to Display & Video 360 API v1

Today we’re releasing an update to the Display & Video 360 API v1 which includes the following features:


More detailed information about this update can be found on the Display & Video 360 API release notes page.

Before using these new features, make sure to update your client to the latest version. For more information on how to use some of these new features, you can read our new User Management guide and Auditing Account Limits page.

If you run into issues or need help with these new features, please contact us using our support contact form.

August update to Display & Video 360 API v1

Today we’re releasing an update to the Display & Video 360 API v1 which includes the following features:


More detailed information about this update can be found on the Display & Video 360 API release notes page.

Before using these new features, make sure to update your client to the latest version. For more information on how to use some of these new features, you can read our new User Management guide and Auditing Account Limits page.

If you run into issues or need help with these new features, please contact us using our support contact form.

Announcing v3.4 of the DCM/DFA Reporting and Trafficking API

Today we're releasing v3.4 of the DCM/DFA Reporting and Trafficking API. Highlights of this release include:

Details of these and other changes are covered in our release notes.

Deprecation and sunset reminder

In accordance with our deprecation schedule, this release marks the beginning of the deprecation period for v3.3, which will sunset on February 28, 2021. After this date, any requests made against v3.3 will begin returning errors.

Learn More

As with every new version of the DCM/DFA Reporting and Trafficking API, we encourage you to carefully review all changes in the release notes. For those of you looking to get going right away, updated client libraries are now available. If you're just starting out, the Get Started guide is a great reference to help you get up and running quickly.


Give it a try and let us know if you have any questions!

Sunset of v2 for the Content API for Shopping

The Content API for Shopping v2 will sunset on March 29, 2021. On this date, all requests made against v2 of the Content API for Shopping will fail. Please migrate to v2.1 as soon as possible to ensure your applications are unaffected.

To help with the migration to v2.1, we have prepared the following resources:
  • Migration guide -- Explains how to update your applications for v2.1
  • Supplemental feeds guide — In v2.1, supplemental feeds replace the v2 inventory service for partial updates to online products.
  • Local inventory service guide — In v2.1, the local inventory service replaces the v2 inventory service for updates to local inventory.
  • Release notes -- Lists all changes and new features added in v2.1, organized by release date.
If you have questions about migration, please reach out to us on the forum.

Changes to campaign_bid_modifier reporting in the Google Ads API

Starting on September 1, 2020, we will be making a change to how the Google Ads API reports campaign-level bid modifiers to make the API’s results more consistent with the Google Ads UI.

Currently, Google Ads Query Language queries for campaign_bid_modifier resources only return rows if either of the following conditions are met:
  1. A non-zero bid modifier is set, or
  2. The row’s associated criterion_id has accrued metrics for the CALLS interaction type.
After this change goes into effect, queries for campaign_bid_modifier resources will return rows for all campaigns, more closely matching what a user sees in the Google Ads UI’s Advanced bid adj. > Interactions screen.

Users who wish to keep using a restricted view of their campaign_bid_modifier reports can add a predicate such as “WHERE campaign_bid_modifier.bid_modifier != 1.0" (where a 1.0 value is equivalent to a bid adjustment of ±0%) to their queries to limit reporting to non-zero bid modifier rows.

This change will not affect the behavior of the AdWords API.

If you have any questions about this change, please reach out to us on the forum.