[go: up one dir, main page]

Today, we are releasing a first-of-its-kind interactive guide to help you get started with standard Performance Max (PMax) campaigns and Performance Max for online sales with a product feed. This new guide walks through the end-to-end process of creating Performance Max campaigns to provide you with a better understanding of the various steps involved. You can build your own custom code dynamically with customization and configuration options.

The Performance Max interactive guide was designed to provide you with a single place to access the entire developer journey. As you step through the guide, you will have the option to enter custom values using form fields in the left-hand navigation panel. As you do, the sample code will automatically update to reflect your inputs.


In addition to variable substitution, the interactive guide offers a number of configuration options, including the ability to interactively create:
  • Standard Performance Max campaigns
  • Performance Max for online sales with a product feed
  • Production partition trees of listing group filters
  • Multiple asset groups
  • Any number of assets supported by Performance Max
  • Any number of campaign criteria support by Performance Max
  • Multiple campaign conversion goals

The Performance Max interactive guide currently supports Java, with additional languages to be added in the future. You can now build your own Google API integrations with this resource. Feel free to provide feedback on this tool by clicking the Feedback button in the top right corner of the guide.

As always, feel free to reach out to us with any questions via the Google Ads API forum or at googleadsapi-support@google.com.

We are removing the ability to create new Smart Display Campaigns in all versions of the Google Ads API. Version v12 already has these changes implemented.

On January 17, 2023 we will make a breaking change to all active versions of the Google Ads API older than v12, disallowing the creation of new Smart Display Campaigns in the API.

You will still be able to update your existing Smart Display Campaigns until they are auto-migrated in Q1 2023. For more information, please see this Help Center article.

Change Description
In all versions, after January 17, 2023, mutate operations to create a Smart Display Campaign (setting the AdvertisingChannelSubType to DISPLAY_SMART_CAMPAIGN) will throw an OperationAccessDeniedError.CREATE_OPERATION_NOT_PERMITTED error.

Next Steps
If you receive this error during Smart Display Campaign creation, you should create a Standard Display Campaign instead by leaving the optional AdvertisingChannelSubType field blank.

If you have any questions about this change or any other API feature, please contact us via the forum.

In the Content API for Shopping, your Merchant Center account and the products in it might be disapproved for various reasons. Historically, you have been able to see the status of your merchant center account for free listings and Shopping ads with the accountstatuses service. In Q1 2022 we introduced the freelistingsprogram and shoppingadsprogram services to provide more granular detail. You can now use the requestreview method on the freelistingsprogram and shoppingadsprogram services to request your account to be re-reviewed after making changes to fix your product and account data.

For an in-depth explanation of how to use the freelistingsprogram and shoppingadsprogram services, please refer to the Free listings and Shopping ads guides.

If you have any questions or concerns, please don't hesitate to contact us via the forum.

Today we’re announcing the launch of Display & Video 360 API v2 out of public beta, and into general availability, and updates to both v1 and v2. As Display & Video 360 API v2 enters general availability, it becomes our recommended version. Our existing guides have been updated to reflect v2 features and conventions.

The following features have been added to v2:

The following updates have been made to both v1 and v2:

  • Removed the character limit for the description field in InsertionOrderBudgetSegment objects.
  • Increased the max page size of a subset of list requests from 100 to 200. The default page size for these methods is still 100.

In addition to these updates, we’ve also fixed two known issues in v2 regarding enum targeting and the line item bulkUpdate method. 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.

On September 22, 2022, we updated you on changes to country targeting for shopping products, and how to use the feedLabel field. We’ve made additional changes to help you integrate feedLabel. Here are our previous announcements: What’s new
Merchant Center & Content API
As of November 8th, 2022 we’ve added the ability to manage feedLabel for datafeeds. The feedLabel field is now available in the following resources:
  • products
  • datafeeds
  • DatafeedStatus
You can now see which countries a datafeed explicitly targets in datafeedtarget. This applies when you use feedLabel instead of country in the datafeedtarget configuration.

We’ve also added the targetCountries field for datafeeds, so you can configure targeting for datafeeds directly. You can still configure targeting outside the feed, for example, by setting the shipping attribute of the products resource.

Note: You can’t manage Primary and Supplemental API feeds with the datafeeds service. You need to use the Merchant Center UI.

Behavior changes
Here’s a clarification of new API behavior for feedLabel:

Insert and update
You can now call Products.insert and Products.update with a feedLabel set to any valid string, for example “WINTERPRODUCTS”.

You can now use feedLabel without setting targetCountry during insertion and updates. Errors that used to warn of this requirement have been removed.

If you use both feedLabel and targetCountry in these calls, their values must be the same.

See Use feed labels to advertise products from specific feeds for the definition of a valid string for feedLabel.

Targeting
If you don’t use targetCountry for products, you must either set the shipping attribute of the products resource, or use the targetCountries field for the datafeeds resource to ensure your products target the chosen countries.

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.

The launch of optimized targeting and deprecation of targeting expansion for display, video, and audio line items in Display & Video 360 have been postponed. Optimized targeting was previously announced to gradually launch for all Display & Video 360 partners from November 7 to November 9, 2022.

The changes in Display & Video 360 API behavior that were previously announced have also been postponed. The targetingExpansion field in the LineItem resource will continue to represent the targeting expansion feature.

We will announce a new date for these changes at a later date.

We are happy to announce the release of an iOS sample application that demonstrates how to integrate the Google Mobile Ads SDK into a SwiftUI-based app. This post covers how we implemented full screen ad formats (interstitial, rewarded, rewarded interstitial) in SwiftUI.

The Google Mobile Ads SDK relies heavily on the UIKit Framework, depending on UIView or UIViewController for each ad format. For example, the SDK currently presents full screen ads using the following method:

present(fromRootViewController rootViewController: UIViewController)

In UIKit, ads are typically implemented in a UIViewController, so it is rather trivial to pass in a rootViewController value by simply invoking self. SwiftUI requires us to diverge from this approach, however, because UIViewController cannot be directly referenced in SwiftUI. Since we can’t just pass in self as the root view controller, we needed to achieve a similar result using a SwiftUI-native approach.

Our solution

We created an implementation of the UIViewControllerRepresentable protocol with a UIViewController property. Its one job is to provide access to the UIViewController reference in SwiftUI.

private struct AdViewControllerRepresentable: UIViewControllerRepresentable {
  let viewController = UIViewController()

  func makeUIViewController(context: Context) -> some UIViewController {
    return viewController
  }

  func updateUIViewController(_ uiViewController: UIViewControllerType, context: Context) {}
}

AdViewControllerRepresentable needs to be included as part of the view hierarchy even though it holds no significance to the content on screen. This is because canPresent(fromRootViewController:) requires the presenting view controller’s window value to not be nil.

private let adViewControllerRepresentable = AdViewControllerRepresentable()

var body: some View {
  Text("hello, friend.")
      .font(.largeTitle)
      // Add the adViewControllerRepresentable to the background so it
      // does not influence the placement of other views in the view hierarchy.
      .background {
        adViewControllerRepresentable
          .frame(width: .zero, height: .zero)
      }
}

To present the full screen ads in our sample app, we leveraged action events in SwiftUI.

Button("Watch an ad!") {
  coordinator.presentAd(from: adViewControllerRepresentable.viewController) 
}

And our AdCoordinator class does the honor of presenting it from our view controller.

private class AdCoordinator: NSObject {
  private var ad: GADInterstitialAd?

  ...

  func presentAd(from viewController: UIViewController) {
    guard let ad = ad else {
      return print("Ad wasn't ready")
    }

    ad.present(fromRootViewController: viewController)
  }
}

And voila!

An alternative option

Instead of creating a UIViewControllerRepresentable, there was always the option to query the rootViewController property from UIWindow.

UIApplication.shared.windows.first?.rootViewController

We decided against this option for the following reasons:

  1. There is the inherent nullability risk to querying an optional array index.
  2. The default value of rootViewController is nil.
  3. If your app utilizes more than one window, the windows array will have multiple elements and therefore, makes querying the “first” window object unreliable.
  4. windows on the UIApplication object is deprecated in iOS 15 and UIWindowScene now holds the reference to this property.

Conclusion

We know there is more than one way to cook an egg when it comes to writing code in SwiftUI. For our use case, we chose the most low-code friendly option. If you have any questions, reach out to our developer forum.

Try it out!

Google Ads API now supports 25 different recommendation types including the most frequently used types. With the wide array of types available and documentation with examples to help you get started, there has never been a better time to get started retrieving and applying recommendations with Google Ads API!

Key suggested uses
Recommendations provide customized suggestions to help increase your campaigns' performance. Recommendations can introduce you to new, relevant features, help you get more out of your budget by improving your bidding, keywords, and ads, and can increase the overall performance and efficiency of your campaigns. Here are a few examples of how recommendations can help with the management of your account:
  • Avoid getting limited by budget this holiday season. With CAMPAIGN_BUDGET and FORECASTING_CAMPAIGN_BUDGET recommendation types you’ll be sure to keep your ads running, so potential customers can see them by preventing your campaign from under-performing due to a limited budget.
  • Expand the reach of your ads with USE_BROAD_MATCH_KEYWORD, which will update your keyword match types to show your ads to relevant potential customers.
  • Upgrade to Performance Max with UPGRADE_SMART_SHOPPING_CAMPAIGN_TO_PERFORMANCE_MAX and UPGRADE_LOCAL_CAMPAIGN_TO_PERFORMANCE_MAX, which will take care of migrating your existing Smart Shopping and Local Campaigns for you.
Implementation guide
To help you get started, check out our implementation guide and YouTube deep dive tutorial for tips.

Code examples
We’ve also put together these code examples to save you time getting up to speed with Recommendations in Google Ads API.

What is changing?
Beginning on January 15, 2023, advertisers will no longer be able to retrieve the Ad Group Ad Combination Report (ad_group_ad_asset_combination_view) for Responsive Search Ads for the entire time period that their ad was serving. Instead, the Ad Group Ad Combination Report will return data for a 12 month period ending with the current month on a rolling basis. At any given time, only the data for the twelve month window will be available, and any older combination data will be deleted.

Why is this changing?
To optimize the Ad Group Ad Combination Report for upcoming features.

What do I need to do?
If you want to retain combination data from January 2022 or before, we recommend that you download it before January 15, 2023.

After January 15, 2023, we recommend downloading the combinations report on an ongoing basis if you'd like to retain historical combinations.

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

Starting today, Google’s OpenRTB implementation will be updated to only include fields and messages for the latest supported version, OpenRTB 2.5. This will affect the OpenRTB protocol and any APIs or tools used to configure bidder endpoints.

OpenRTB protocol changes
As a result of supporting only the latest version, the following fields are deprecated and will no longer be populated:
  • BidRequest.imp[].banner.hmax
  • BidRequest.imp[].banner.hmin
  • BidRequest.imp[].banner.wmax
  • BidRequest.imp[].banner.wmin
Additionally, the following fields may now be populated for all bidders:
  • BidRequest.device.ext.user_agent_data
  • BidRequest.device.geo.accuracy
  • BidRequest.device.geo.utcoffset
  • BidRequest.imp[].banner.api: This will support the value MRAID_3.
  • BidRequest.imp[].banner.format
  • BidRequest.imp[].banner.vcm
  • BidRequest.imp[].metric
  • BidRequest.imp[].native.api: This will support the value MRAID_3.
  • BidRequest.imp[].video.api: This will support the value MRAID_3.
  • BidRequest.imp[].video.companionad.api
  • BidRequest.imp[].video.companionad.format
  • BidRequest.imp[].video.companionad.vcm
  • BidRequest.imp[].video.linearity
  • BidRequest.imp[].video.maxduration
  • BidRequest.imp[].video.placement
  • BidRequest.imp[].video.playbackend
  • BidRequest.imp[].video.skip
  • BidRequest.site.mobile
  • BidRequest.test
  • BidRequest.wlang
If a newer OpenRTB specification is published, Google may upgrade the current supported version to match it. Previously deprecated fields that are removed from the specification will also be removed from the protocol. Non-deprecated fields that are removed will be marked as deprecated in the protocol, and eventually removed following a brief deprecation period.

Authorized Buyers Real-time Bidding API changes
The behavior of the bidders.endpoints resource will change. The following enum values for bidProtocol will be deprecated:
  • OPENRTB_2_2
  • OPENRTB_2_3
  • OPENRTB_PROTOBUF_2_3
  • OPENRTB_2_4
  • OPENRTB_PROTOBUF_2_4
  • OPENRTB_2_5
  • OPENRTB_PROTOBUF_2_5
New enum values for bidProtocol will be added to represent the latest supported OpenRTB version in either JSON or Protobuf formats:
  • OPENRTB_JSON
  • OPENRTB_PROTOBUF
If you have existing endpoints with their bidProtocol set to any of the deprecated values above, they will automatically be migrated to either OPENRTB_JSON or OPENRTB_PROTOBUF depending on the format specified by the original value. Additionally, any modifications to your endpoints that would set bidProtocol to the deprecated values will instead set it to OPENRTB_JSON or OPENRTB_PROTOBUF.

Feel free to reach out to us via the Authorized Buyers API support forum with any feedback or questions you may have related to these changes.

On November 1, 2022, we announced our plans to sunset Similar Audiences in 2023 as we work on simplifying our existing product portfolio and strengthening our future-proof solutions in a changing privacy landscape. We expect to roll out this change in two phases for both Google Ads API and Google Ads scripts:
  1. Starting May 2023: New similar audiences segments will stop being generated, and existing similar audiences segments will no longer be added to campaigns and ad groups. Ad groups and campaigns that already have similar audience segments attached will continue to function as expected.
  2. Starting August 2023: Similar audience segments will be removed from all ad groups and campaigns. You will continue to have access to historical reporting data for similar audience segments from past campaigns.
What is the impact on Google Ads API?
Any requests that mutate entities related to Similar Audiences will start failing with errors. This includes: The data retrieved using GoogleAdsService.Search or GoogleAdsService.SearchStream requests will gradually be depleted of any references to Similar Audiences. This includes queries relying on the reports user_list, audience, combined_audience, and any others that are based on targeting, or conversion values segments or metrics. When we get closer to the sunset date, check out the deprecation and sunset guide for the exact errors that will be thrown.

What is the impact on Google Ads scripts?
Any requests that relate to Similar Audiences are impacted. Mutating requests will start failing with errors and reporting requests will start returning data depleted of any references to Similar Audiences. This includes: What should I do?
We recommend that API users manually migrate and stop using Similar Audiences before May 2023 in their calls to avoid any disruptions. You can refer to the announcement and Help Center article to learn more about migration options.

If you have any questions or need additional help, contact us through the forum or at googleadsapi-support@google.com.

We're pleased to announce that v202211 of the Google Ad Manager API is available starting today, November 2nd. This release lays the groundwork for multiple third-party impression tracking URLs. ImageCreative and other creative types replaced the string field thirdPartyImpressionTrackingUrl with the list field thirdPartyImpressionTrackingUrls. Currently only a single URL can be provided in the list.

For the full list of changes, check the release notes. Feel free to reach out to us on the Ad Manager API forum with any API-related questions.

On November 7, 2022, optimized targeting will gradually begin replacing targeting expansion for display, video, and audio line items under a Display & Video 360 partner, with the new feature launched for all partners by November 9, 2022. We will be making changes to the Display & Video 360 API to reflect this. These changes may impact the existing configurations of your resources, and the behavior for your currently successful requests.

Read the optimized targeting and targeting expansion guides to understand the differences between optimized targeting and targeting expansion. Optimized targeting is not available for over-the-top line items, or line items that use fixed bidding.

There will be no structural changes to the existing targetingExpansion field or TargetingExpansionConfig object in Display & Video 360 API LineItem resources. Once optimized targeting replaces targeting expansion for your partner, these fields will be used to manage optimized targeting in the following manner:
  • The targetingExpansionLevel field will only support two possible values:
    • NO_EXPANSION: optimized targeting is off
    • LEAST_EXPANSION: optimized targeting is on
  • NO_EXPANSION will be the default value for the targetingExpansionLevel field and will be automatically assigned if you do not set the field
  • If you set targetingExpansionLevel to one of the following values, it will automatically be reset to LEAST_EXPANSION:
    • SOME_EXPANSION
    • BALANCED_EXPANSION
    • MORE_EXPANSION
    • MOST_EXPANSION
  • excludeFirstPartyAudience will continue to set whether first-party audiences should be excluded from targeting. This will now apply to optimized targeting instead of targeting expansion.
  • If you turn on optimized targeting for an ineligible line item, the request will not return an error and the change will persist. However, you must update the line item to be eligible before it will use optimized targeting when serving.
  • Optimized targeting will not automatically be turned on for eligible line items created or updated by the Display & Video 360 API.
We will also be updating the configurations of existing line items as follows: To prepare for this change, it is recommended that you turn on automated bidding for line items currently using fixed bidding with targeting expansion before November 7, 2022 to continue using audience expansion to improve campaign performance.

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

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.

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.

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 googleadsapi-support@google.com.

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.

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.

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:

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.

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.

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.

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 googleadsscripts-support@google.com so that we can help.

Today we’re announcing the deprecation of the Structured Data Files (SDF) v5.2 and v5.3. These versions will be fully sunset on March 8, 2023.

Please migrate to v5.5, the most recent version, by the sunset date. Once the deprecated versions are sunset:

  • The default version of partners and advertisers using those versions will be updated to the oldest supported version, v5.4.
  • sdfdownloadtasks.create requests declaring the sunset versions in the request body will return a 400 error.

If you run into issues or need help with your migration, please contact us using our support contact form.

Since 2020, we've asked the Google Publisher Tag (GPT) developer community to provide their valuable feedback through an annual survey. This feedback influences what we work on each year, and has directly inspired improvements to our sample offerings, release notes, and much more.

As we look forward to next year, it's time once again to check in with our developer community to see what's working well and what can be improved. Starting today, we're kicking off the 2022 GPT developer survey.

Take the survey

The survey should take no more than 10 minutes to complete, and it will be open through the end of October 2022. Most questions are optional and your answers are completely anonymous.

Remember that the feedback you provide influences what we work on over the course of the next year, so please let us know what matters most to you. Thanks in advance for taking the time to help improve the GPT developer experience!

Today we’re announcing the deprecation of the Bid Manager (DBM) API v1.1. This version will be fully sunset on February 28, 2023.

Please migrate to Bid Manager API v2 by the sunset date to avoid an interruption of service. v2 introduced a number of new features and breaking changes, which are listed in our release notes. Here are some of the changes introduced in v2:

Follow the steps in our v2 migration guide to help you migrate from v1.1 to v2.

If you run into issues or need help with your migration, please contact us using our support contact form.

Today we’re announcing the v11_1 release of the Google Ads API. To use some of the v11_1 features, you will need to upgrade your client libraries and client code. The updated client libraries and code examples will be published next week. This version has no breaking changes.

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 through the forum.