Category Archives: Ads Developer Blog

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

Performance Max upgrade has started

As we announced in January and again in March, existing and future Smart Shopping campaigns (SSC) will automatically upgrade to Performance Max campaigns between July and September 2022. The self-upgrade started in April 2022. The automatic upgrade has commenced (related blog post) and should complete by September 30, 2022. This blog post adds details for our API developers.

Starting July 25, 2022, accounts without active or paused SSCs (including new accounts) will no longer be able to create SSCs.

Once an account with active or paused SSCs has been automatically upgraded from SSC to Performance Max, no new SSC creation will be permitted in any surface including the UI, the API, Google Ads Scripts or Google Ads Editor.

The Google Ads API v11 included a new UpgradeSmartShoppingCampaignToPerformanceMaxRecommendation recommendation type to allow developers to upgrade a given SSC to a Performance Max campaign. This can still be applied to an account that has not yet automatically upgraded.

As mentioned in the January blog post, Local campaigns will also be automatically upgraded to Performance Max. An upcoming release of the Google Ads API will include a new recommendation type to allow developers to upgrade an eligible Local campaign to a Performance Max campaign.

Additional information

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

Display & Video 360 API Annual Developer Survey 2022

As we continue to regularly update the Display & Video 360 API, we’re always looking for how we can improve the developer experience. With this in mind, we are asking for your feedback on our first Display & Video 360 API annual developer survey.

Please take 15-20 minutes to share your feedback about the Display & Video 360 API on our Annual Display & Video 360 API Developer Survey for 2022.

Through this survey, we are especially interested in understanding how you are using the API, what features you’d like added, and what we can do to make onboarding to the API easier. Your feedback will help shape the product roadmap for the next year.

Use the new Google Mobile Ads SDK getVersion() method

We heard your feedback that MobileAds.getVersionString() was confusing as it didn’t match the external version. We addressed it by adding a new method - MobileAds.getVersion(). In doing so, we have deprecated MobileAds.getVersionString().

Distinctions between getVersionString() and getVersion()

getVersionString() [deprecated] getVersion()
Sample return value afma-sdk-a-v214106000.214106000.0 21.0.0
Requires calling initialize() first? Yes No

Calling MobileAds.getVersionString() returns an internal version number. The MobileAds.getVersion() method outputs a simplified, external version number that matches the version in the release notes. For example, 21.0.0.

Also as part of the v21.0.0 release, you can call MobileAds.getVersion() before calling MobileAds.initialize(). Previously, you had to initialize the SDK to query the SDK version number, or else the app would crash.

Querying the SDK version number can be accomplished in your Android apps with the following code snippet:

// Log the Mobile Ads SDK Version.
Log.d("MyApp", MobileAds.getVersion()); // "21.0.0"

// Initialize the SDK.
MobileAds.initialize(this, new OnInitializationCompleteListener() {
@Override
public void onInitializationComplete(InitializationStatus status) {}
});

For the full list of changes in the v21.0.0 release, check the release notes. If you have any questions or need additional help, contact us via the forum.

Upcoming changes to conversion action management

Starting August 22, 2022, the include_in_conversions_metric field of the ConversionAction resource will become read-only. Requests that attempt to set this value will result in a FieldError.IMMUTABLE_FIELD error.

Why is this change happening?
As part of the addition of conversion goals in Google Ads, the new primary_for_goal field replaced the include_in_conversions_metric field. To ease the transition to the new field while we enabled goals on all accounts, the Google Ads API allowed you to continue to set the deprecated include_in_conversions_metric field, and the API would automatically update primary_for_goal accordingly. However, now that conversion goals are enabled in all Google Ads accounts, we're preventing setting include_in_conversions_metric to avoid conflicts with primary_for_goal.

What should you do?
Modify any code that sets include_in_conversions_metrics to instead set primary_for_goal. In addition, review and modify any of your application logic that uses the conversion_action.include_in_conversions_metric field in reports. Check out the conversion goals guide for more information on how the primary_for_goal setting impacts bidding and reporting.

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

Upcoming changes to conversion action management

Starting August 22, 2022, the include_in_conversions_metric field of the ConversionAction resource will become read-only. Requests that attempt to set this value will result in a FieldError.IMMUTABLE_FIELD error.

Why is this change happening?
As part of the addition of conversion goals in Google Ads, the new primary_for_goal field replaced the include_in_conversions_metric field. To ease the transition to the new field while we enabled goals on all accounts, the Google Ads API allowed you to continue to set the deprecated include_in_conversions_metric field, and the API would automatically update primary_for_goal accordingly. However, now that conversion goals are enabled in all Google Ads accounts, we're preventing setting include_in_conversions_metric to avoid conflicts with primary_for_goal.

What should you do?
Modify any code that sets include_in_conversions_metrics to instead set primary_for_goal. In addition, review and modify any of your application logic that uses the conversion_action.include_in_conversions_metric field in reports. Check out the conversion goals guide for more information on how the primary_for_goal setting impacts bidding and reporting.

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

Upcoming changes to conversion action management

Starting August 22, 2022, the include_in_conversions_metric field of the ConversionAction resource will become read-only. Requests that attempt to set this value will result in a FieldError.IMMUTABLE_FIELD error.

Why is this change happening?
As part of the addition of conversion goals in Google Ads, the new primary_for_goal field replaced the include_in_conversions_metric field. To ease the transition to the new field while we enabled goals on all accounts, the Google Ads API allowed you to continue to set the deprecated include_in_conversions_metric field, and the API would automatically update primary_for_goal accordingly. However, now that conversion goals are enabled in all Google Ads accounts, we're preventing setting include_in_conversions_metric to avoid conflicts with primary_for_goal.

What should you do?
Modify any code that sets include_in_conversions_metrics to instead set primary_for_goal. In addition, review and modify any of your application logic that uses the conversion_action.include_in_conversions_metric field in reports. Check out the conversion goals guide for more information on how the primary_for_goal setting impacts bidding and reporting.

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

Upcoming changes to conversion action management

Starting August 22, 2022, the include_in_conversions_metric field of the ConversionAction resource will become read-only. Requests that attempt to set this value will result in a FieldError.IMMUTABLE_FIELD error.

Why is this change happening?
As part of the addition of conversion goals in Google Ads, the new primary_for_goal field replaced the include_in_conversions_metric field. To ease the transition to the new field while we enabled goals on all accounts, the Google Ads API allowed you to continue to set the deprecated include_in_conversions_metric field, and the API would automatically update primary_for_goal accordingly. However, now that conversion goals are enabled in all Google Ads accounts, we're preventing setting include_in_conversions_metric to avoid conflicts with primary_for_goal.

What should you do?
Modify any code that sets include_in_conversions_metrics to instead set primary_for_goal. In addition, review and modify any of your application logic that uses the conversion_action.include_in_conversions_metric field in reports. Check out the conversion goals guide for more information on how the primary_for_goal setting impacts bidding and reporting.

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

Announcing Bid Manager API v2

We are pleased to announce that version 2 of the Bid Manager API is now available. Notable features added in this version include: This new version also includes significant changes to be aware of, such as:
  • The changing of the base Bid Manager API URL.
  • The renaming of existing services and methods.
  • The restructuring of Query and Report resources to use new named object types and enums.
  • The updating of method functionality to require queries to be run manually after creation.
  • The rewording of existing error messages to be more detailed and prescriptive.
More detailed information about this update can be found in the Bid Manager API release notes. Follow the steps on our migration guide to help you migrate from v1.1 to v2.

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

Get started scripting with Google Ads scripts templates

Today we’re launching scripts templates, a quick and easy way to get started with scripting in Google Ads. Instead of starting your script from scratch, you can choose from a list of templates, edit to fit your account, and deploy them.

To get started, visit the scripts page and click on the plus (+) button, then Start from a template:

Next, pick a template and click Customize to begin editing.

If you have any questions or feedback regarding the new experience, please leave a post on our forum so that we can help.

The Video.js-IMA plugin adds DAI support for HLS streams

The IMA Dynamic Ad Insertion (DAI) SDK lets apps make stream requests for ad and content video streams, either VOD or live content. The SDK then enables a video player to play the combined stream so you don't have to manage switching between ad and content video within your apps.

To improve support for HTML5 publishers, we have expanded the features provided by the Video.js-IMA plugin to include DAI for HLS streams. With the latest version of the plugin, you can enable a Video.js player to request ads and content in a single HLS stream. Check out the new DAI sample app and the DAI README file for implementation details on how the Video.js-IMA plugin can simplify your IMA DAI integration.

For more information on IMA DAI, please see the IMA HTML5 DAI getting started guide. If you have any questions or feedback about using DAI with the Video.js-IMA plugin, please raise an issue on GitHub.