Today we’re pleased to announce two new versions of the Google Mobile Ads SDK: version 7.5 for Android, and version 7.3.1 for iOS. Included is a brand new way to monetize your apps with the Google Mobile Ads SDK: native ads!

With native ads, publishers can display ad assets directly in native views, using layouts and storyboards they design to fit their user experience. You now have the power to monetize with ads that are seamless with content!

Native ads are currently in a beta with a limited group of publishers, but the code is included in the latest releases of the Mobile Ads SDK for iOS and Android. Those of you using Android Studio can download Google Repository (Rev. 19) via the Android SDK Manager to get the latest Gradle artifacts, and developers with Eclipse projects can find it listed as Google Play services (Rev. 25). Publishers with iOS apps can snag the latest SDK for that platform by updating their Podfile to pull version 7.3.1.

For AdMob, DFP, and AdX publishers, there are two system-defined native ad formats: App Install and Content. Each provides a set of image and string assets that make up the ad. App Install ads contain assets named “price,” “star rating,” and so on, while Content ads have “body,” “logo,” and others. See the AdMob and DFP help center articles for more information about the formats.

Publishers using DFP can also take advantage of custom native ad formats. With a custom format, you can create your own set of asset definitions, and then upload creatives with a matching set of values.

Native ads are loaded using the new AdLoader and GADAdLoader classes, which can request a single format or several at the same time, helping you maximize the value of your impressions. Here’s an example showing how to request an App Install ad on Android:

AdLoader adLoader = new AdLoader.Builder(this, DFP_AD_UNIT_ID)
        .forAppInstallAd(new NativeAppInstallAd.OnAppInstallAdLoadedListener() {
            public void onAppInstallAdLoaded(NativeAppInstallAd ad) {
                /* display the ad */
adLoader.loadAd(new AdRequest.Builder().build());

And here’s the iOS equivalent:

self.adLoader = [[GADAdLoader alloc]
                            adTypes:@[ kGADAdLoaderAdTypeNativeAppInstall ]
self.adLoader.delegate = self;
[self.adLoader loadRequest:[GADRequest request]];

Check out the native ads guide (Android | iOS) for more information about native ads. For a full list of Mobile Ads SDK changes, check out our release notes. For technical questions, post them on our forum.


Today we are releasing v201505 of the DFP API. This release brings changes to the ReportService and new features to the Sales Manager API, including advanced ProposalLineItem actions.

In v201505, the ReportService loses all MERGED_* metrics. These metrics, relics from DART migrations, are being deprecated. For more details, check out our earlier blog post. Additionally, the getReportJob method has been replaced by getReportJobStatus. The report utilities in our client libraries have been updated, but you should verify this in your code as well. Migration is straightforward, as shown in this Java example:

    // v201502 code
    ReportJobStatus status = reportService.getReportJob(reportJobId).getStatus();

    // v201505 code
    ReportJobStatus status = reportService.getReportJobStatus(reportJobId);

Sales Manager users get new ProposalLineItem actions, including ActualizeProposalLineItems and ReleaseProposalLineItems. You can also use BypassProposalWorkflowRules and include a comment when approving workflow requests.

For a full list of these and other changes, check the release notes.

As a reminder, with each new release comes a new deprecation. If you're using v201405 or earlier, it's time to look into upgrading. If you have any questions about upgrading, let us know on the developer forum.

We’re pleased to announce the first ever workshops for AdWords scripts. The workshops will be held at the following locations:

        New York: June 29th, 2015
        San Francisco: July 10th, 2015

This round of workshops will cater to both beginners and advanced scripters. We'll have code labs where you will build your own scripts from scratch, with the help from the Scripts team. Bring your laptop and an idea to get it scripted!

Whether you’re an advertiser who wants to learn about how scripts can automate your account management tasks, a developer who wants to polish your scripting skills, or a scripts enthusiast who wants to meet fellow scripts experts, you can find it all in these workshops.

Visit our website to check out the full agenda and sign up.

If you have any questions about the workshops, you can post them on our forums. Check out our Google+ page for Ads APIs updates.

Shopping Content API
AdWords scripts now support Google Shopping Content API which gives Google Merchant Center users the ability to upload and manage their product listings and manage their Merchant Center accounts. The Shopping Content API can be enabled through the Advanced APIs dialog. See our guide and code snippets to learn more about this feature.

Account level extensions
AdWords scripts now support account-level extensions: AccountCallout, AccountMobileApp, and AccountReview. You can access these extensions using the extensions() method of the Account object. Appropriate creation and deletion methods are also available for these extensions on the Account object. See our guide for more details and usage examples.

Resolve geo names in reports
The method now supports an option named resolveGeoNames, which controls whether or not to convert Geo Criteria IDs (e.g., CountryCriteriaId or CityCriteriaId) into names ('United States', 'San Francisco', etc.). Set this option to true to get names, false to get numerical IDs. This option defaults to true.

Updated best practices guide
We have updated the best practices guide to cover a lot of common performance issues that your scripts may run into, and how to improve them.

New weather-based management script
The new weather-based management script improves upon the the popular bid-by-weather script by providing a framework where you can add your own campaign management logic.

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

We would like to remind you that as previously announced, destination URL fields in AdWords will become read-only on July 1, 2015. Starting on that date, we will also begin upgrading your URLs (if eligible) to the new Upgraded URLs structure.

Once this change goes live, you will get the following errors from the AdWords API: In AdWords scripts, all methods that set the destination URL of various entities have been marked deprecated, and will generate a user error after July 1, 2015.

Before then, be sure to update your AdWords API and scripts code. Use the Upgraded URL fields instead of the destination URL field when creating entities such as ads, keywords, or sitelinks. You can refer to our migration guide to learn how to upgrade your URLs, or our feature guide to learn more about Upgraded URLs. All our client libraries fully support upgraded URLs, and provide code examples that show you how to use this feature and upgrade your URLs.

If you have any further questions about this change, let us know via our API or scripts forum, or Google+ page.

Did you miss our recent series of workshops? Did you attend a workshop, but can't seem to remember what was on slide 32 of the upgraded URLs presentation?

If so, then you're in luck! The videos and slides are now available at for your enjoyment. The Resources section has links to individual presentation videos and slides, or you can just grab a coffee, find a comfortable chair, and watch the complete list of videos.

Have questions? Feel free to visit us on the AdWords API Forum or our Google+ page.

In December 2014, we announced that “Other interests” has been superseded by affinity and in-market audiences. As a part of this transition, the associated criteria are no longer supported in AdWords API v201502.

To finalize this sunset, we’ll be auto-upgrading existing deprecated criteria of this type to supported ones. The auto-upgrade will happen gradually over several weeks starting May 15, 2015.

Campaigns that target "Other interests" will be automatically upgraded to one or more of the following options:
  • Affinity audiences for driving brand awareness and engagement from a defined list of categories;
  • In-market audiences for reaching customers actively researching and intending to make a purchase;
  • Topic targeting to target websites about specific topics.
Campaigns with "Other interests" exclusions will be converted to Topic exclusions during this upgrade. Campaigns that don’t target "Other interests" will not be affected by this upgrade. If you'd like to keep full control of your campaign targeting, make sure to upgrade your campaigns before May 15.

If you have any questions or need help with the upgrade, please post on the forum or the Ads Developers Plus Page.

Starting this week AdWords API reports will by default return all objects regardless of their status. API users will need to specify a custom predicate in order to filter out removed entries.

With AdWords API v201502 we made the handling of removed items consistent across services by changing the default filter of all services to exclude all removed entries.

We also included a few reports in this change, but based on your feedback, we’re reverting back to the old behavior. The new filters proved to be confusing and caused discrepancies between reports on different levels. In practice, most API users like to see historical stats of all objects regardless of their current status, so we are making it the default.

As of this week, we’ll start returning all entries in AdWords API Reports regardless of their status by default. This fully matches the old v201409 behavior. You can still filter out removed entries by specifying a custom predicate. Note that non-reporting services will still filter out removed entries by default in v201502 and later, as they do now.

If you have any questions or need help with the migration, please post on the forum or the Ads Developers Plus Page.

Starting June 2015, AdWords will no longer support WAP mobile ads for devices without a full-featured browser, including feature phones. At that time, the AdWords API will no longer support creation of new MobileAds or MobileImageAds. Any remaining ads with these types will stop serving and be converted into DeprecatedAds with status REMOVED. These changes will be visible in all supported versions of the API, though the DeprecatedAd.type field may be UNKNOWN until it can be added to the WSDL in a subsequent API release.

Historical performance metrics for any removed ads will still be available for download via the API’s AD_PERFORMANCE_REPORT.

Next steps
To reach the broadest set of mobile users with your campaigns, we recommend that you:
  • Recreate your ad in a non-WAP mobile ad format: Once you've created your ad in one of our new mobile-specific formats, you can drive more mobile traffic to your ads by setting mobile-specific bid adjustments. If you'd like to keep a copy of your original WAP mobile ads and their performance metrics, we recommend that you download reports for your original WAP mobile ad groups before June 1, 2015.
  • For Display Network-only campaigns: You can create mobile-preferred ads to target specific mobile platforms and mobile carriers for a campaign.
Still have questions? Feel free to visit us on the AdWords API Forum or our Google+ page.