Author Archives: Google Ads Developer Advisor

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.

DCM/DFA Reporting and Trafficking API v3.2 sunset reminder

In accordance with our deprecation schedule, we will be sunsetting version 3.2 of the API on August 31, 2019. Requests to version 3.2 will no longer work after this date, preventing you from updating and accessing information in Campaign Manager. To avoid an interruption in service, you must migrate to a newer API version as soon as possible.

To learn about changes between versions and get tips for migrating, visit the API developer site. Also consider subscribing to this blog to stay up to date about new releases, upcoming sunsets, and changes to the API.

If you have technical questions regarding new versions of the API, please reach out via the developer forum.

Sunset of the Average Position Metric in AdWords and Google Ads APIs

In the week of September 30, 2019, the average position metric will be sunset. This change was announced this past February in the Google Ads Help Center. The new alternatives were described in this November 2018 blog post. Once the sunset occurs, requests for the average position (AdWords API, Google Ads API) will return NULL values.

In the AdWords API v201809, NULL values are returned as two dashes. In the Google Ads API, NULL values are returned as NullValues.

If you use ValueTrack parameters, we encourage you to remove the ValueTrack parameter {adposition} from your tracking templates. When average position is sunset, the ValueTrack parameter {adposition} will begin returning the empty string.

Note that average position has already been removed from the current beta version of the Google Ads API, but is accessible in the earlier V1_x versions.

In lieu of average position, we recommend you use the new metrics of Impression (Absolute Top) %" and "Impression (Top) %. These are the new metrics:

Absolute Top Metrics
AdWords API Google Ads API
AbsoluteTopImpressionPercentage absolute_top_impression_percentage
SearchAbsoluteTopImpressionShare search_absolute_top_impression_share
SearchBudgetLostAbsoluteTopImpressionShare search_budget_lost_absolute_top_impression_share
SearchRankLostAbsoluteTopImpressionShare search_rank_lost_absolute_top_impression_share

Top Metrics
AdWords API Google Ads API
TopImpressionPercentage top_impression_percentage
SearchTopImpressionShare search_top_impression_share
SearchBudgetLostTopImpressionShare search_budget_lost_top_impression_share
SearchRankLostTopImpressionShare search_rank_lost_top_impression_share

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