Category Archives: Ads Developer Blog

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

October 2022 update to Display & Video 360 API v2

Today we’re announcing the October 2022 update to Display & Video 360 API v2, which is still in beta. This update includes the following features:
  • Partial insertion order targeting write support for a subset of targeting types with the addition of create and delete methods to the insertion order AssignedTargetingOptions service.
  • The ability to duplicate an existing line item to create a new line item with identical settings and assigned targeting under the same insertion order.
More detailed information about this update can be found in the Display & Video 360 API release notes and updated instructions on migrating from v1 to v2 can be found in our migration guide. Before using these new features, make sure to update your client library to the latest version.

If you have questions regarding the breaking changes or run into issues or need help with these new features, please contact us using our support contact form.

Announcing v12 of the Google Ads API

Today, we’re announcing the v12 release of the Google Ads API. To use some v12 features, you’ll need to upgrade your client libraries and client code. The updated client libraries and code examples will be published next week.

Here are the highlights: 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.

Google Ads API Video Roundup

The Google Ads Developers Channel is your video source for release notes, best practices, new feature integrations, code walkthroughs, and video tutorials. Check out some of the recently released and popular videos and playlists below, and remember to subscribe to our channel to stay up to date with the latest video content.

Google Ads API Best Practices - Error Handling and Debugging
In this episode of the Google Ads API Best Practices Series, we discuss how to handle errors that may occur when interacting with the Google Ads API, along with tools that may help you debug your applications, such as logging and the REST interface.
Meet the Team with David Wihl
In this video, David Wihl shares a bit about his role as a Developer Relations Engineer at Google and discusses his work in supporting the Performance Max campaign API integration.

[Live Demo] Building a Google Ads API Web App
Getting started with the Google Ads API? In this 8-episode series, we take a deep dive into developing web apps with the Google Ads API, with a focus on the OAuth flow, by building a multi-tenant app entirely from scratch.

Logging & Monitoring
This miniseries covers the basics of adding logging and monitoring to your Google Ads API integration and then goes into more advanced topics, with a special focus on Cloud tooling. Google Ads Query Language (GAQL)
In this series, we cover everything you need to know about the Google Ads Query Language to make reporting requests against the Google Ads API. We begin with the basics and build in subsequent episodes to cover various nuances of GAQL. We even dive into the various tools available to help you structure your queries. This playlist will equip you with the information you need to know to become a GAQL power user. For additional topics, including Authentication and Authorization and Working with REST, check out the Google Ads API Developer Series.

As always, feel free to reach out to us with any questions via the Google Ads API forum or at [email protected].

Google Publisher Tags add official TypeScript type definitions

Today we're happy to announce the release of official TypeScript type definitions for Google Publisher Tags (GPT)!

Why TypeScript?

According to a recent State of JS developer survey, nearly 70% of developers regularly use TypeScript in some capacity, up from 60% the year before. As this segment of the community continues to grow, we are committed to providing the best experience possible for those working with TypeScript and GPT. We believe this is important not just because TypeScript is popular, but because it helps developers validate the correctness of their code and provides a number of quality of life improvements that make working with GPT more delightful.

How we got here

Until now, a number of community-led projects such as @types/doubleclick-gpt and @types/googletag have provided unofficial GPT type definitions. While these projects have done a great job of making our API more accessible to TypeScript developers, manually curated type definitions inevitably lag behind changes made to GPT, leading to those definitions sometimes being out of date. To address this, we've updated our release process to automatically generate type definitions from internal source code and sync changes to our own GitHub repository and the DefinitelyTyped project. This ensures that our official definitions are always up to date with the most recently released versions of GPT.

Try it and let us know what you think

For users new to TypeScript, we've published a TypeScript and Google Publisher Tags guide that covers the basics and provides a demo of the new type definitions in action. For those already familiar who want to try the new definitions right away, they can be installed via NPM by running:

npm install --save-dev @types/google-publisher-tag

If you'd like to make a suggestion, report a bug, or leave any other feedback about this new offering, feel free to open an issue on our GitHub issue tracker.

Google Ads API 2023 release and sunset schedule

We’re announcing our tentative 2023 release and sunset schedule for upcoming versions of the Google Ads API to bring greater clarity to your planning cycle. Please keep in mind that these dates are only estimates and may be adjusted going forward. Additionally, releases may be added, removed or switched between major and minor.

Version Planned Release
Type*
Projected launch* Projected sunset*
V13 Major January/February 2023 January 2024
V13_1 Minor April/May 2023 January 2024
V14 Major May/June 2023 May 2024
V14_1 Minor July/August 2023 May 2024
V15 Major September/October 2023 September 2024
*Estimated and subject to change

Where can I learn more?
Check back for any updates as the blog is the best place to stay informed about developments in this space.

If you have any questions or need additional help, contact us via the forum.

Sunsetting support for Top content bid adjustments in Google Ads API

We recently announced that Top content bid adjustments are no longer available for any campaigns. To align with this change, Google Ads API will make the following changes starting November 1, 2022.

  1. Attempting to set an AdGroupBidModifier with its preferred_content field set will fail with an ContextError.OPERATION_NOT_PERMITTED_FOR_CONTEXT error.
  2. Attempting to retrieve an AdGroupBidModifier with its preferred_content field set will return a zero value for the bid_modifier field.
If you need to retrieve the existing values for these fields for future reference, we recommend that you download these values before November 1, 2022.

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

Announcing a deprecation schedule for the Google Mobile Ads SDK

To provide Google Mobile Ads SDK developers for AdMob and Ad Manager more transparency and predictability on the expected lifetime of an SDK version, we are introducing a deprecation schedule for the Google Mobile Ads SDKs for Android and iOS.

Benefits

Introducing a predictable deprecation schedule offers the following benefits for app developers and publishers:

  1. Ability to predict and plan for SDK updates with a year of lead time.
  2. Legacy SDK code that only exists to support old versions can be deleted, thereby decreasing SDK size and lowering the risk of bugs.
  3. Engineering resources are freed up to focus more on support for newer SDKs and innovation of new SDK features.

Glossary

To understand the deprecation schedule, let’s first align the terms used to describe the state of a Google Mobile Ads SDK version:

SDK State Impact
Supported
Deprecated
  • Ads will still serve to this SDK.
  • Support questions specific to this SDK version are no longer answered on the Google Mobile Ads SDK developer forum. Users will be asked to validate the issue in a supported SDK version to receive full support.
Sunset
  • Ads will not serve to this SDK.
  • Ad requests return a no fill with an error indicating that this version is sunset.

Timelines

The deprecation and sunset timelines will revolve around major SDK version releases. We plan to do a major version release annually, in the first quarter of each year. The release of a new major version on both Android and iOS will trigger changes in SDK state for older major versions on both platforms.

Once we release a new major version N for both Android and iOS:

  • All SDK versions with major version N-2 on their respective platforms are considered deprecated immediately. Questions specific to these versions will no longer receive support.
  • All SDKs versions with major version N-3 on their respective platforms will sunset after 2 months.
    • We will publish subsequent blog posts communicating specific sunset dates to activate this two-month sunset period. The first sunset announcement is expected in Q1 2023 with a sunset date in Q2 2023.

With this schedule, a new major version will live in the supported state for about 2 years, and in the deprecated state for an additional year before moving to the sunset state.

The graphic below helps visualize the schedule:

How does the change apply to existing versions?

Effective today, Android v19 and iOS v7 versions are considered deprecated. In accordance with the schedule above, we plan to sunset Android v19 and iOS v7 versions in Q2 2023 following the releases of Android v22 and iOS v9 planned for Q1 2023. We will provide more specific sunset dates following the releases of Android v22 and iOS v9.

The graphic below helps visualize the state of existing Google Mobile Ads SDK versions for Android and iOS with today’s announcement.

Note: Versions 6.x.x and below for both Android and iOS have been sunset since 2018.

Exceptions

The deprecation schedule provides a framework for predictable lifetimes for an SDK version. However, there may be exceptions in the future. This schedule does not preclude us from sunsetting an SDK version at an earlier date, but we are committed to providing proactive communication with ample lead time for any future changes.

Next Steps

  1. Refer to the deprecation developer pages (Android | iOS) for the latest updates to the deprecation schedule. If you are on a deprecated version, see the Android migration guide or iOS migration guide for more information on how to update.
  2. Stay tuned for future updates to this blog, where more specific sunset dates will be communicated once new major Google Mobile Ads SDK versions are released.

If you have any questions about this announcement, please reach out to us on the Google Mobile Ads SDK Developer Forum.

Country targeting update for products in Content API for Shopping and Google Ads API

On August 10, 2022, we announced a change to country targeting for shopping products with the introduction of the feedLabel field. We’d like to update you on the progress of this change. Here are our previous announcements: What’s already changed

Google Ads:
Any Google Ads account can set the feed_label field in ShoppingSetting for Shopping and Performance Max campaigns. You can set feed_label in the Google Ads UI and the Google Ads API.

Merchant Center & Content API:
As of September 14th, 2022 we‘ve started the gradual rollout of feed labels in the Merchant Center UI. When this feature is enabled in the UI, merchants will be able to create a new feed with feed label set to any valid string. See Use feed labels to advertise products from specific feeds for more information.

In the Content API, you might see the following:
  • Products that have only feedLabel, and not targetCountry, if they were added in the Merchant Center UI.
  • Products with feed labels that aren’t two-letter country codes.
You can now use Products.update to update products by feedLabel. For example, if you had a product with offerId of “111111111” and a feedLabel set to “WINTERPRODUCTS”, you can now update attributes such as salePrice for that product by making the following call:
HTTP request:

PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/online:en:WINTERPRODUCTS:1111111111
Example request body:

{
"salePrice": {
"value": "17.99",
"currency": "USD"
}
}
Behavior summary:
Here’s a clarification of the current API behavior for feedLabel:
  • Insertion: You can only call Products.insert on products with a matching feedLabel and targetCountry. Currently, Products.insert might return an error if you don’t provide a matching targetCountry. This behavior hasn’t changed if you continue to use only targetCountry.
  • Targeting: If you set feedLabel to a valid 2-letter CLDR territory code, you must still set the shipping attribute of the products resource to the same country in order to target that country. For example, if you set a new feedLabel to “US”, you must also set the country field in the shipping attribute to “US”. If you don’t set both fields, the product might not be eligible to serve in that country. You can configure targeting for an entire feed in the Merchant Center UI.
  • Get/List: When you use Products.list or Products.get, you might see products that only have feedLabel (and not targetCountry) set if they were added in the Merchant Center UI.
  • Product IDs: Once a feedLabel is set for a product it becomes part of the product Id. This means you can’t modify the feedLabel for that product (this is similar to how language works). If you wish to change the feedLabel you will need to create a new product with a different product Id.
What’s coming next

Products:
Once the gradual rollout of feed labels in the Merchant Center UI is complete, we will accept Products.insert calls with feedLabel set to any string. At this point, including targetCountry will become optional.

Datafeeds:
In late September, we will also update the datafeeds resource to include feedLabel in the Content API for Shopping.

Opt out of receiving products and datafeeds without a country
If you’re concerned your codebase cannot handle products and datafeeds without a country, and you want to opt out of receiving them via the Content API for Shopping, fill out the following form: Feed label replaces target country in the Content API for Shopping - temporary exemption. When you’re ready to support feedLabel, you can opt back in to receiving these offers.
If you have any questions about this change, please visit the Content API for Shopping forum.

Announcing beta launch of Display & Video 360 API v2 and survey extension

We’re pleased to announce that Display & Video 360 API v2 is available in public beta starting today. We're also extending our DV360 API Developer Survey through the end of September so that we can gather more customer feedback on v2 and the API in general.

v2 includes a number of new features and breaking changes. Here are some of the changes introduced in v2:

More detailed information about this release can be found in our release notes. Follow the steps in our migration guide to migrate from v1 to v2. As it is in beta, be aware that we might make unversioned breaking changes to DV360 API v2 before it exits the beta phase.

If you want to provide feedback and recommend features that should be included in future versions of the API, please fill out our DV360 API Developer Survey. The survey has been extended through the end of September and will help shape the product roadmap for v2 and beyond.

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

Performance Max support in Google Ads scripts

Today we're launching support for Performance Max campaigns in Google Ads scripts. This is treated as a brand new campaign type in scripts, similar to how video or shopping campaigns already work.

To get started, check out the performance max campaigns selector on the AdsApp. Once you've selected a PerformanceMaxCampaign, you can perform common operations like pausing or enabling the campaign, as well as selecting and modifying most asset types in asset groups. You cannot modify text assets this way, and you cannot create new campaigns or asset groups through scripts.

Performance Max retail campaigns are supported in only a limited fashion as listing groups cannot be managed via Scripts.

For more information about Performance Max campaigns in general, check out the complete help center article.

If you have any questions or feedback, please leave a post on our forum or send a message to our support alias [email protected] so that we can help.