Category Archives: Ads Developer Blog

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

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

Share your feedback about AdMob and Ad Manager mobile app integration

We’re continuously improving our guides, code samples, and other developer resources for the Google Mobile Ads SDK to help you integrate AdMob and Ad Manager into your mobile apps.

To learn more about what's working well and what could be improved, we're announcing our second annual developer feedback survey for the Google Mobile Ads SDK. We'd like to hear from you about where we should focus our efforts.


Your answers will be completely anonymous. The survey should take about 15 minutes to complete and will close on September 30, 2019.

Your feedback is truly important to us. Here are a few highlights of the changes we made based on feedback from last year’s survey:

  1. Continuous translations of the developer docs in several languages
  2. Continuous build integration of sample applications via Travis CI
  3. Launched a Developer tutorials playlist on the Google AdMob YouTube channel
  4. Launched the App Policy Center to help publishers handle policy violations

Please let us know what you’d like us to focus on next. Thank you in advance for helping us continue to improve the developer experience for everyone.

Structured Data Files v5 now available in the DoubleClick Bid Manager API

Today we're announcing the general availability of Structured Data Files (SDF) v5 in the DoubleClick Bid Manager API. Highlights of this release include:
  • Updates to environment targeting
  • TrueView for action
  • Regional location list targeting
  • Deal simplification updates
  • IO-level budget optimization
As previously announced, this release introduces a number of breaking changes to SDF v3.1, v4, v4.1, and v4.2. All existing SDF users who rely on legacy targeting fields must now migrate in order to make use of the new, enhanced targeting fields in SDF v5.

Retiring older API versions

We're also introducing a new deprecation schedule and announcing the deprecation of all SDF versions prior to v5. Moving forward, we will generally only support 3 versions of SDF at a time and sunset the oldest version 4 months after a new release. In order to help developers adjust to this new schedule, we're providing an extended migration period for these newly deprecated versions and announcing a sunset date of February 28, 2020 for SDF v3.1, v4, v4.1, and v4.2.

These versions will remain active and supported until the sunset date, and we encourage you to use this time to update your applications. After the sunset date, requests to these versions will no longer work, preventing you from accessing SDF.

Get started with SDF v5

All SDF users are encouraged to begin requesting v5 files in order to take advantage of the new features listed above. To do so, simply pass 5 as the value of version when calling For workflows that are dependent on older SDF formats, you can find additional details about the file format changes in the release notes.

Questions about this or anything else DV360 related? Contact our support team.

Announcing the 2019 London Google Ad Manager Developer Workshop

The Ad Manager Developer Relations team is excited to hop across the pond and bring our Ad Manager Developer Workshop to London on September 26, 2019. If you’re a regular user of the Ad Manager API and Google Publisher Tags, then you’re sure to find something of interest at this event!

What is it?

A full-day event featuring technical talks by Google engineers and office hours with Google's Developer Relations team. We will have talks on a range of topics, including Ad Manager API tips and best practices and strategies for faster loading pages and ads.

Who is the target audience?

The event is targeted toward developers who use the Ad Manager API. The talks will be technical in nature, so a technical background is required for all attendees. You’ll get the most out of some sessions if you come prepared with an API user’s credentials for your network and a laptop. For the full list of sessions, see the event schedule.

Where and when?

This event will be at Google’s London office at 1 St Giles High St. Doors will open at 9:30 AM and we’ll kick things off at 10 o’clock.

How do I sign up?

To register, please visit our website for this event. Seating is limited, so after you register, we will reach back out to you to confirm your spot at the workshop.

Restricting Payments account usage across manager account hierarchies

Starting September 9, 2019, we are rolling out a change to prevent the same Payments accounts in the Google Ads API (billing accounts in the AdWords API) from being used across manager account hierarchies. Only valid Payments accounts belonging to the Google Ads manager account hierarchy can be used to create and update billing setups in the Google Ads API.

How does this affect you?
For your authenticated Google Ads client account Therefore, you may get fewer results from those API calls than before.

What do you need to do?
Google Ads API
When creating/updating a new billing setup, you will need to select a valid Payments account returned by PaymentsAccountService.ListPaymentsAccounts(). If you use an invalid Payments account during the above processes, the INVALID_PAYMENTS_ACCOUNT error will be thrown.

AdWords API
When creating a new budget order, you will need to specify a valid billingAccountId (the ID of a valid billing account returned by BudgetOrderService.getBillingAccounts()). If you use an invalid billingAccountId during the above process, the BudgetOrderError.INVALID_BILLING_ACCOUNT error will be thrown.

As always, if you have any questions, feel free to post your questions on the Google Ads API forum.

Sunsetting accelerated budget delivery

Starting October 1, 2019, accelerated budget delivery will no longer be available for use with search campaigns, shopping campaigns, or shared budgets. This will affect budgets in all versions of the AdWords API, Google Ads API, and Google Ads scripts.

Google Ads will stop respecting the ACCELERATED delivery method setting on any budgets of the above types. Campaigns using such budgets will be automatically switched over to use standard delivery instead.

Note: When a new budget is created using the API or scripts, it is shared by default. Thus, a newly created budget will behave as STANDARD. To explicitly create a budget with ACCELERATED delivery, all of the following conditions will need to be met:
  • The budget’s isExplicitlyShared field is set to false
  • The budget’s delivery method is set to ACCELERATED
  • It is not associated with a search or shopping campaign
Fields and methods affected

Google Ads API campaign_budget.delivery_method
AdWords API Budget.BudgetDeliveryMethod
Google Ads scripts Budget.setDeliveryMethod()

API applications and scripts that set the ACCELERATED delivery method will continue to function and will not return any errors when attempting to set the ACCELERATED fields on budgets. However, the setting will not have any effect for shared budgets, or for any budget attached to a search or shopping campaign; the setting will be defaulted to STANDARD delivery instead. Get or mutate responses from the AdWords API on any affected budgets will show the budgets as STANDARD.

The ACCELERATED delivery method may eventually be removed from future versions of the APIs and scripts for the affected budget and campaign types. We will provide additional details regarding any further changes in a later post.

If you have any questions about this change, please don’t hesitate to contact us via the AdWords API and Google Ads API Forum or the Google Ads scripts forum.

Announcing v201908 of the Google Ad Manager API

We're happy to announce that v201908 of the Google Ad Manager API is available starting today. There are several highly requested features in this new version of the API.

  • You can now access “Advertiser (Classified)” and “Brand (Classified)” dimensions through the API.
  • We’ve also added the dimensions and metrics for calculating video sell-through.

  • Programmatic LineItems and ProposalLineItems now have an allowedFormats field, which gives publishers more control over what types of creatives a buyer can add.

  • You can now use the slateCreativeId field to programmatically set live stream slates, which are shown during gaps in a live stream ad break that cannot be filled with a dynamically served ad.

The release notes contain the full list of API changes for v201908.

If you have questions about these or any other API changes, reach out to us on the Ad Manager API forums.

Announcing v2_1 of the Google Ads API beta

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

Here are the highlights:
  • Introduced AdService for updating existing ads that were created using AdGroupAdService. Updating ads maintains existing metrics.
  • Introduced summary rows when retrieving data from GoogleAdService.Search() by setting return_summary_row to true in the request. The summary row contains the report totals.
  • Introduced the AdGroupAdAssetView resource for querying ad asset metrics.
  • Introduced the DistanceView resource (equivalent to the User Ad Distance Report in the AdWords API).
  • Introduced the UserLocationView resource (equivalent to the Geo Performance Report where isTargetingLocation is false in the AdWords API).
  • Added the ability to retrieve all label resource names associated with the AdGroup resource using AdGroup.labels and with the Campaign resource using Campaign.labels.
  • Added time_zone, test_account, manager, descriptive_name, currency_code, and id to CustomerClient to make it easier to retrieve customers in an account hierarchy.
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 by August 16. If you have any questions or need additional help, please contact us via the forum.

Google Ads scripts now supports price extensions

We’re excited to announce support for price extensions in Google Ads scripts starting today.

Price extensions allow you to add details about your business’s offerings and prices to a text ad, and are supported at the account, ad group, and campaign level.

You can see how to implement price extensions in our AdsApp.Extensions documentation, or check out some example code using these extension types.

If you have any questions or concerns, please don't hesitate to contact us via our Google Ads Scripts forum.