Category Archives: Ads Developer Blog

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

Announcing v3.2 of the DCM/DFA Reporting and Trafficking API

Today we're releasing v3.2 of the DCM/DFA Reporting and Trafficking API. Highlights of this release include:
Details of these and all other changes are covered in our release notes.

Deprecation and sunset reminder
In accordance with our deprecation schedule, this release marks the beginning of the deprecation period for v3.1, which will sunset on February 28, 2019. After this date, any requests made against v3.1 will begin returning errors.

As a final reminder, API version 2.8 will be sunset on August 31, 2018. To avoid an interruption in service, all users are required to migrate to a newer version before the sunset date.

Learn More
As with every new version of the DCM/DFA Reporting and Trafficking API, we encourage you to carefully review all changes in the release notes. For those of you looking to get going right away, updated client libraries are now available. If you're just starting out, the Get Started guide is a great reference to help you get up and running quickly.

Give it a try and let us know if you have any questions!

- Jonathon Imperiosi, DCM API Team

Announcing the Mediation Test Suite Beta

Today we're announcing the release of Mediation Test Suite Beta. Mediation Test Suite is a lightweight SDK that enables Google AdMob publishers to easily test mediation ad network integrations without having to make changes in the AdMob UI, saving you and your developers time. It is available on Android, iOS, and Unity.

Mediation Test Suite allows you to:

  • View a full list of mediation ad source configurations for your app
  • Automatically check your project for missing SDKs, adapters, and manifest changes required by partner ad sources
  • Load a banner, interstitial, rewarded, or native ad for any ad source using a certified Google Mobile Ads SDK implementation
  • Batch test multiple ad sources for the same ad unit
  • Test both open source mediation adapters and custom event adapters

Integrating Mediation Test Suite is easy -- once you have the SDK imported, it can be launched with just a single line of code. All you need is your AdMob app ID.

On Android, the launch code looks like this:

String appId = "YOUR-ADMOB-APP-ID";
MediationTestSuite.launch(MainActivity.this, appId);

On iOS, all that's required is importing the correct header and launching the Test Suite:

#import "GoogleMobileAdsMediationTestSuite.h"
NSString* appId = @"YOUR-ADMOB-APP-ID"
[GoogleMobileAdsMediationTestSuite presentWithAppID:appId
onViewController:self delegate:nil];

Unity is just as simple, but please note that you need to use the appropriate app ID for your platform:

using GoogleMobileAdsMediationTestSuite.Api;
string appId = "YOUR-iOS-ADMOB-APP-ID";
string appId = "";

Including Mediation Test Suite in production builds is optional

You are not required to keep the Mediation Test Suite library in the production release of your app; however, you may choose to leave it in and hide it behind a debug gesture. Doing so enables you to launch Mediation Test Suite within your production build.

You can find more information about how to use Mediation Test Suite in the developer guide (Android | iOS | Unity). Remember that Mediation Test Suite is a beta product, so if you have any questions or feedback, please contact us on the developer forum.

Announcing Google Ads scripts 2018 workshops

We are pleased to announce the locations and dates for the 2018 Google Ads (formerly AdWords) scripts workshops. These events will be taking place across the United States, Europe, and Asia in September and October. Please join us for some informative talks and interactive codelabs.

We will be offering multiple sessions for two levels: beginner and advanced users. The beginner sessions are designed for new users of Google Ads scripts and business managers who are considering automation for their existing manual Google Ads processes. The advanced sessions will cater to experienced Google Ads scripts users who want to explore advanced scenarios and keep up with the latest developments.

Please visit the event site for full details and to register for an event near you. We will be hosting the following sessions:
  • New York City (Advanced) on September 4, 2018
  • San Francisco (Advanced) on September 7, 2018
  • Hamburg (Beginner) on September 27, 2018
  • Hamburg (Advanced) on September 28, 2018
  • Tokyo (Beginner) on September 28, 2018
  • London (Beginner) on October 3, 2018
  • London (Advanced) on October 4, 2018
  • Singapore (Beginner) on October 15, 2018
We hope to see you there!

Multi-factor authentication policy for Google Ads accounts

Today, we are rolling out a feature that allows the administrative users of Google Ads accounts to set a required multi-factor authentication policy, including 2-Step Verification. When this new authentication policy is enabled on a particular Google Ads account, all users who want to access that account must have their Google accounts enrolled in 2-Step Verification.

Note: The Google account users can alternately fulfill this requirement by enrolling their accounts in Advanced Protection.

What will happen to your API access?
If 2-Step Verification is required for a particular Google Ads account, then 2-Step Verification also needs to be set up for the Google account used to generate the OAuth2 refresh token accessing the Google Ads account. Follow this link to opt in to 2-Step Verification. Failing to do so will result in the AuthorizationError.TWO_STEP_VERIFICATION_NOT_ENROLLED error when you try to access the Google Ads account.

Access to the Google Ads account will be restored once you opt in to the 2-Step Verification. The multi-factor authentication policy does not affect the way you access the AdWords API or the Google Ads API Beta in any other aspects--you can still use an OAuth2 refresh token and a developer token to access the AdWords API and the Google Ads API Beta as usual.

2-Step Verification ensures only strongly verified users have access to your Google accounts. Opt in now to avoid hitting the AuthorizationError.TWO_STEP_VERIFICATION_NOT_ENROLLED error in advance.

As always, if you have any questions or concerns, please post on our forum.

Upcoming changes to HTML5 template ads in AdWords API & Scripts

Starting August 27, 2018, creating TemplateAds with IDs 419 (HTML5 Ads) may result in an error in AdWords API and Scripts. AdWords API users will see the error AdError.Reason.USER_DOES_NOT_HAVE_ACCESS_TO_TEMPLATE when creating HTML5 ads using various services.AdWords Scripts users may see an error that the ad cannot be saved when using the HTML5AdBuilder class to create a new HTML5 ad.

Existing accounts that have used or are currently using HTML5 ads will be whitelisted, and will continue to be able to upload HTML5 ads. Existing HTML5 ads will also continue to serve after this date.

If your account is new, or has never used HTML5 ads before, you may be affected by this change. We recommend one of the following options to fix this error:
  • You may apply for HTML5 access in your account by filling in the whitelist request form
  • You can use an AMPHTML instead of a regular HTML file in your HTML5 bundle. AMPHTML ads won’t trigger the above error.
  • You will automatically be approved for HTML5 access once you have spent more than $9000 USD on AdWords and your account is more than 90 days old
If you have questions about this change, please reach out to us on the AdWords API forum or AdWords Scripts forum.

Changes to YouTube placements in AdWords scripts

We are rolling out a change to the way placements work when specifying YouTube URLs. Starting on August 14, 2018, using generic placements to specify YouTube channels or videos is going to be disallowed and will result in an error.

For more accurate video targeting, even when videos are played across platforms, use the new specific YouTubeChannel and YouTubeVideo placement criteria when you want to target specific channels or videos in AdWords scripts.

If you have any questions about these changes or AdWords scripts in general, you can post them on our developer forum.

Campaign drafts and experiments now available in AdWords scripts

Today we’re announcing the release of campaign drafts and experiments in AdWords scripts. Drafts and experiments (also known as Trials) will allow you to prepare, test, and apply improvements to your Search and Display Network campaigns using AdWords scripts.

An experiment runs simultaneously with the original campaign, showing its ads to the percentage of traffic that you have configured. Using the experiment to understand the impact of your changes, you can apply the changes directly to the original campaign, or even establish the experiment as an independent, fully operating campaign while retaining the original.

For more information, please refer to our guide to drafts and experiments in AdWords scripts and code samples.

If you have any questions about these changes or AdWords scripts in general, you can post them on our developer forum.

New features in AdWords scripts

Today we're announcing the launch of a few new features in AdWords scripts:
  • Support for reporting version v201806
  • Multi-file script support
  • Support for final URL suffix for parallel tracking
Support for v201806 of reports has been added. The main features in this reporting version are:
  • New fields for Responsive Search Ads and Multi-Asset Responsive Display Ads.
  • The ClickType and CampaignSubType columns will return new values to reflect changes in product names. The underlying data is unaffected; the rendered value is the only change. For example, the CampaignSubType of "Product Listing Ads" will now be "Shopping ads", and there are similar changes for ClickType.
Read the AdWords API release notes for complete details, including additional features not listed here.

If you use API versioning in your reports, you need to modify your code to use v201806:

var report =, {
apiVersion: 'v201806'
We will also be updating the default reporting version from v201710 to v201802 on July 23, 2018. This will affect you if you do not use API versioning as outlined above.

Multi-File Support
Over the next few weeks, we will be rolling out support for scripts with multiple files. This lets you separate your utility logic from your business logic, organize your code however you see fit, and generally produce more maintainable scripts. Please try it out and let us know what you think on the forum!

Parallel Tracking Support
We have added methods to support the final URL suffix for parallel tracking. You can use the new getFinalUrlSuffix, setFinalUrlSuffix, and clearFinalUrlSuffix methods on objects that have final URLs.

As announced earlier this year, starting October 30, 2018, parallel tracking will be required for all AdWords accounts. You can consult the AdWords API documentation on click tracking for more details on how to migrate, as the same concepts apply to scripts. Please make sure to update your scripts before the deadline.

If you have any questions about these changes or AdWords scripts in general, you can post them on our developer forum.

Upgrade to Gmail ads from Gmail template ads

On August 15, 2018, creating TemplateAds with IDs 464 (Gmail single promotion template), 466 (Gmail multi-product template), and 497 (Gmail multi-call-to-action template) will result in the error: AdError.Reason.USER_DOES_NOT_HAVE_ACCESS_TO_TEMPLATE. These template ads are now considered deprecated, but existing template ads with these IDs will continue to serve after this date.

If you would like to create a Gmail ad, use the new GmailAd introduced in v201802. Use this new entity instead of the deprecated Gmail template ads going forward.

Here are some tips to ease the transition:
  • Create new GmailAds in a paused campaign with the AdvertisingChannelType as DISPLAY and the AdvertisingChannelSubType as DISPLAY_GMAIL_AD.
  • Use MediaService to upload images or retrieve existing media IDs.
  • Enable the new campaign when the ads are ready, letting it run in parallel with the Gmail template ad campaign.
  • Pause and remove the Gmail template ad campaign when you’re comfortable with the new Gmail campaign.
For an implementation example, see the Add a Gmail ad to an ad group sample in any of our supported client libraries: Java, PHP, Python, Ruby, Perl, C#, and VB.NET.

If you have questions while you’re upgrading, please reach out to us on the AdWords API forum.

AdWords click measurement improvements and migration

Earlier this month, the following improvements were made available to all users:
  • Setting finalUrlSuffix at the customer, campaign, ad group, ad, and extension level in all AdWords accounts. Previously, this feature was only available in test accounts.
  • Specifying up to eight custom parameters. Previously, the maximum number of custom parameters was three.
As announced earlier this year, starting October 30, 2018, parallel tracking will be required for all AdWords accounts. With the above features in place, the AdWords API now supports all the features needed to migrate your accounts to parallel tracking, so we encourage you to get started on the migration as soon as possible. The detailed AdWords API guide and accompanying implementation checklist will walk you through the required changes.

If you have questions or need help with the migration, please email us at