Posted:
Starting today, the Datafeeds service will allow you to use the Content API for Shopping to set up data feeds that target multiple countries and/or languages, which a recent update added to the Merchant Center. The update to the Datafeeds service will also allow you more control over the destinations for products in data feeds managed via the Content API.

What's changing?
To handle feeds that target multiple countries and/or languages, a new targets field is being added. This field contains a list of targets, and each target contains the following fields: Note: The above links to the reference documentation for the new fields will go live on the same day that the feature is introduced.

The following now-redundant fields are being deprecated: Currently, code that uses these deprecated fields will continue to work as before for managing feeds with a single target. Any changes made via these deprecated fields will also appear as a single target in the new targets field, and vice versa if the targets field contains a single target. These deprecated fields will not be returned when retrieving feeds with multiple targets. Since these deprecated fields may be removed in the future, we recommend migrating your code to use the new targets field now.

To support feeds that have multiple targets, the Datafeedstatuses.get method now takes two additional parameters: These new parameters must be supplied for feeds that have multiple targets, since the status of a feed may differ depending on the target. These parameters can be omitted when retrieving the status of a feed with a single target.

Similarly, when retrieving all feed statuses using the Datafeedstatuses.list method, you will receive multiple entries for a feed with multiple targets, where each entry corresponds to a particular target.

What do I need to do?
To manage feeds that use any of the following features, you must update your code to use the new targets field:
  • Feeds that target multiple countries and/or languages
  • Feeds that exclude destinations that are included by default
In addition, you must supply the new country and language parameters when retrieving the status of a feed that has multiple targets.

Otherwise, your existing code will continue to work as before. However, since we may remove the old fields in the future, we recommend you update your code for managing data feeds to use the new targets field.

Note: To use the new targets field and the new country and language parameters if you are using one of the Content API client libraries, update to a version published on or after Sep 21, 2017.

If you have any questions or feedback about the changes to data feed management or other questions about the Content API for Shopping, please let us know on the forum.

Posted:
What’s changing?
On August 14th, we announced that AdWords users should start migrating their mobile app install campaigns to Universal App campaigns (UACs). Starting on October 16, 2017, all requests to create new mobile app install campaigns will fail, and all requests to add ads and ad groups to these existing campaigns will fail with an ADD_OP_NOT_PERMITTED error. Edits to these existing campaigns will still be allowed. Starting on November 14, 2017, these mobile app install campaigns will be deleted and will stop serving. Reporting stats for these campaigns will still be available. Mobile app engagement campaigns will not be affected.

Why is this happening?
If you want to learn more about these changes, check out our Propel your mobile app growth with Universal App campaigns announcement.

What should I do?
To avoid errors when managing your mobile app campaigns, here’s what you need to do by October 16th:
  • Modify your code to enable the creation of Universal App campaigns. Check out our guide on creating Universal App campaigns, which includes code samples in all client library languages.
  • Disable the creation of mobile app install campaigns and adding ad groups or ads in these campaigns. Edits will still be allowed.
To keep your ads serving beyond November 14th:
  • Search for all campaigns in your accounts that have campaign status ENABLED or PAUSED with advertisingChannelSubType DISPLAY_MOBILE_APP or SEARCH_MOBILE_APP. After November 14th, these campaigns will have a status of REMOVED because they will be deleted automatically by the AdWords system.
  • Create a new Universal App campaign to replace each campaign you find.
  • Once that Universal App campaign is online and serving, remove the mobile app install campaign.
Where can I learn more?
Here are a few resources to get you started: If you have questions while you’re upgrading, please reach out to us on the AdWords API forum.

Posted:

What's changing?

Currently, the Accounts.delete method deletes sub-accounts whether or not they contain products. On Sep 28, 2017, we will change the default behavior of Accounts.delete to only delete empty sub-accounts. We are introducing this change to help avoid accidental deletion of sub-accounts that are still serving products.

To override this behavior, we have introduced a force parameter, which currently defaults to true. On Sep 28, 2017, the default value will change to false. After this change, you must set this parameter to true to delete non-empty sub-accounts. Attempts to delete non-empty sub-accounts with force = false will result in a 403 Forbidden error. The error will also explain how to delete the non-empty account.

What do I need to do?

Right now, we suggest you familiarize yourself with the new force parameter. If you regularly delete non-empty accounts, you should adjust your code to set force to true to avoid errors when the default behavior changes. If you want to inspect the error that you will receive after the default behavior changes, you can manually set the force parameter to false and attempt to delete a non-empty account. (Of course, we suggest you create a new sub-account and add some products to it to try out this new behavior, instead of calling it on an existing live account.)

Once this change is live on Sep 28, 2017:
  • To delete an empty sub-account, you do not need to make any changes.
  • To delete a sub-account that contains products, you must set the new force flag to true when calling Accounts.delete.

Note: If you are using one of the Content API client libraries, you will need to update to a version published after Aug 28, 2017 to take advantage of this new parameter.

If you have any questions or feedback about the changes to account deletion or other questions about the Content API for Shopping, please let us know on the forum.

Posted:
AdWords API v201609 will be sunset on October 2, 2017. After this date, all v201609 API requests will begin to fail. This AdWords API version was deprecated on May 31st, 2017. If you are still using v201609, we recommend that you skip v201702 and v201705 and migrate directly to v201708. Please migrate prior to October 2, 2017 to ensure your API access is unaffected.

We've prepared various resources to help you with the migration: As always, if you have any questions about this migration, please contact us via the forum.

Posted:
Since the early days of the AdWords API, we've continually evolved the platform to help you more efficiently and creatively manage large or complex AdWords accounts and campaigns.

To learn more about what's working well and what could be improved, we're running our first AdWords API feedback survey. Your answers will be completely anonymous, so we hope you'll take the opportunity to let us know about any changes you'd like to see to help make managing campaigns even easier.

SHARE YOUR FEEDBACK

The survey will close on August 30, 2017, and should take about 15 minutes to complete. Thanks in advance for sharing your thoughts to help us improve the AdWords API Developer experience for everyone.

Posted:
Today we’re pleased to announce several additions and improvements to the DFP API with the release of v201708.

CreativeService: The API now supports the skippableAdType attribute on VideoCreatives and the mezzanineFile asset on VideoRedirectCreatives.

CreativeWrapperService: The HTML header and footer fields have been renamed to htmlHeader and htmlFooter, and they are now strings instead of CreativeWrapperHtmlSnippets.

ProposalService: Proposals are now automatically synced with marketplace. Therefore, the proposal action SyncProposalsWithMarketplace has been removed (sending this action with performProposalAction is now a no-op in previous API versions).

PublisherQueryLanguageService: In v201702 the Change_History table was introduced. Now, new entities for Sales Management have been added to the EntityType column. The new entities are BASE_RATE, PREMIUM_RATE, PRODUCT, PRODUCT_PACKAGE, PRODUCT_PACKAGE_ITEM, PRODUCT_TEMPLATE, PROPOSAL, PROPOSAL_LINK, PROPOSAL_LINE_ITEM, PACKAGE, RATE_CARD, and WORKFLOW.

ReportService: DateRangeType now supports a new LAST_3_MONTHS option. Also, several deprecated reporting metrics have been removed. They can be replaced with their corresponding partner management metrics, so you will need to update any code using those fields. For more information, check out the support entry for partner management reporting metrics.

For a full list of API changes in v201708, see the release notes.

With each new release comes a new deprecation. If you're using v201611 or earlier, it's time to look into upgrading. Also, remember that v201608 will be sunset at the end of August 2017.

As always, if you have any questions, feel free to reach out to us on the DFP API forums or the Ads Developer Google+ page.

Posted:
Today we’re announcing the release of AdWords API v201708. Here are some of the highlights for key AdWords features: If you’re using v201609 of the AdWords API, please note that it will be sunset on October 2, 2017. We encourage you to skip v201702 and v201705 and migrate straight to v201708. Please note that v201702 is deprecated and will be sunset on February 14, 2018.

As with every new version of the AdWords API, please carefully review all changes in the release notes and the v201708 migration guide. The updated client libraries and code examples will be published within the next 48 hours.

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

Posted:
Starting today, calls to the Accountstatuses service return not only product-level issues, but also account-level issues. This means all account-level issues present in the Diagnostics tab of the Merchant Center can now be retrieved using the Content API. Account-level issues are located in a new accountLevelIssues field, so existing code should be unaffected by this change. For more details, see the accountStatus resource representation in the reference documentation.

Note: Some account-level issues, like unclaimed websites, were already returned as product-level issues. Currently, these issues still show up at the product level as well as at the account level, but this may change in the future.

If you have any questions or feedback about the changes to issue reporting or other questions about the Content API for Shopping, please let us know on the forum.

Posted:
Beginning in August 2017, DoubleClick Campaign Manager (DCM) will no longer export standard tags for placements larger than 1x1. This is the next step in a phased rollout of changes aimed at aligning DCM's impression counting methodology with the latest Interactive Advertising Bureau and Media Rating Council guidelines. A full overview of these changes can be found in the DCM partner help center.

How will this affect DCM/DFA Reporting and Trafficking API users?

On August 22, 2017, the API's placements.generatetags endpoint will stop returning standard tags (PLACEMENT_TAG_STANDARD) for non-1x1 placements. Users will still be allowed to include this tag format in all generatetag requests without error, however responses will only contain standard tag data for 1x1 placements. This will be a retroactive change affecting all API versions.

What can API users do to prepare?

Users should begin updating their API workflows to request alternative tag formats, such as PLACEMENT_TAG_JAVASCRIPT or PLACEMENT_TAG_IFRAME_JAVASCRIPT, for all non-1x1 placements. Although standard tags will still be returned for 1x1 placements after August 2017, users leveraging pixels for impression tracking are encouraged to use tracking ads for this purpose, instead.

Existing non-1x1 placements trafficked using standard tags will continue to serve until October 2017. Any such placements which are part of a campaign ending later than this must be re-trafficked using an alternative tag format. Instructions for identifying these placements can be found in the DCM partner help center.

Questions about this or anything else DCM API related? Contact us via our support forum.

Posted:
Today we’re excited to announce that the Google Slides API has been added as an Advanced API to AdWords scripts. Our Advanced APIs allow you to work with other Google services within the scripts you write. The Google Slides API allows you to create and write presentations programmatically, and with AdWords scripts it can be used to publish your campaign data in a ready-to-be-shown format.

To learn more about using the Google Slides API in your scripts, please refer to our guide to working with Advanced APIs and code snippets. We encourage you to try Slides and our other Advanced APIs and let us know of other APIs you would like to see added.

As always, please leave feedback on our forum so that we may handle bugs and improve usability.

Posted:
Following the validation rule changes in May 2017, we’re updating ad groups that contain only Dynamic Search Ad features.

Specifically, we’re updating the adGroupType to SEARCH_DYNAMIC_ADS for any ad group that has all of the following properties: After the above-mentioned ad groups have the SEARCH_DYNAMIC_ADS type, you’ll be able to add only DynamicSearchAd and ExpandedDynamicSearchAd objects, and not Keyword objects as BiddableAdGroupCriterion.

As always, if you have any questions, please post on the forum.

Posted:
Back in March, we launched the new Report Builder in DoubleClick Bid Manager (DBM). Over the coming months, we'll be migrating all reports from the legacy reporting platform (v1) to Report Builder (v2). This migration will complete on September 25, 2017, at which point access to v1 reporting will be removed. We'll also be disabling access to the Google Cloud Storage buckets used by v1 reporting on that date.

Once the migration to v2 reporting is complete, the only way to access reports programmatically will be via the DBM API. Users who currently access reports through Google Cloud Storage must migrate to using the API before September 25, 2017 to avoid an interruption in service. To learn more and quickly get started with the API, visit our getting started guide.

If you have questions regarding these changes, please reach out to your DoubleClick account team.

Posted:
Starting today, we are deprecating the use of the Products.get and Products.list methods for retrieving all product attributes. These methods still work as expected today, but they may change in the future to return only partial information about products. If you want to retrieve all product attributes, you should use the Productstatuses.get and Productstatuses.list methods instead, which now optionally provide product attributes in addition to product issues and approval statuses.

Note that the Productstatuses.get and Productstatuses.list methods still do not return product attributes by default. To request product attributes be included, we have added an optional includeAttributes argument to these methods. When set, the resources returned by Productstatuses.get and Productstatuses.list will contain an additional product field that contains the attribute information.

If you have any questions or feedback about the changes to retrieving products or other questions about the Content API for Shopping, please let us know on the forum.

Posted:

Over the past few months, a couple new projects designed to streamline AdMob and DFP mediation have launched: mediation groups, open source adapters, and network-specific guides.

Open Source Mediation Adapters on GitHub

In partnership with some of our mediation partners, we've open-sourced many of the most popular adapters used with DFP and AdMob mediation. You can see for yourself at our GitHub repos for iOS and Android:

In addition to adapter source, there's also a project containing example adapter and custom event implementations, plus a test app.

Import Mediation Adapters with CocoaPods and Gradle

In addition to open-sourcing the adapters, we've also made importing compiled adapters into your projects simpler by uploading them to Bintray and making them available via jCenter and CocoaPods. Rather than downloading and manually including libraries, publishers can get the correct adapter simply by updating their Podfile with a line like this:

    pod 'GoogleMobileAdsMediationMoPub'

...or their build.gradle file with a line like this:

    compile 'com.google.ads.mediation:mopub:11.10.1.0'

With many ad networks choosing to distribute their SDKs in the same manner, it's frequently possible to bring a new mediation network into an app with nothing more that a Podfile or build.gradle tweak. For instructions on which gradle artifacts and CocoaPods to use, check the AdMob Mediation Overview (iOS, Android) and look for networks in the "Open source and versioned" section.

Network-specific guides

Each mediated network is a little bit different. They have their own front-end, their own reporting systems, and their own vocabulary including things like "placement," "location," or "zone." Once you start trying to add a second or third network to your mediation waterfall, things can get confusing in a hurry.

To help publishers navigate through these details, we've created network-specific guides for the mediation partners who have joined our open source repositories. Each one includes step-by-step instructions (with screenshots) that guide a publisher all the way from configuring their account in the mediated network's web site to setting up their mediation stack and importing the right adapter.

For more details, there's no better place to go than the guides themselves. You can find them in the AdMob Mediation Overview (iOS, Android).

Questions?

If you've got questions about our open source adapters or the best ways to get up and running with mediation, stop by our support forum.

Posted:
We’re pleased to announce a new set of workshops for AdWords scripts in 2017. The workshops will be held at the following locations:
  • Hamburg, Germany: 10 August 2017
  • London, UK: 15 August 2017
  • Singapore: 15 August 2017
  • Sydney, Australia: 18 August 2017
  • São Paulo, Brazil: 20 September 2017
  • Buenos Aires, Argentina: 22 September 2017
This round of workshops will cater to both novice and experienced scripters. We'll have code labs where you’ll build your own scripts from scratch with help from the scripts team. Bring your laptop and some scripting ideas, and we’ll turn them into reality!

Whether you’re an advertiser who wants to learn how to use scripts to automate your account management tasks, a developer who wants to polish your skills, or you'd just like to bounce around some ideas, you can find it all in these workshops.

Availability is limited, so be sure to visit our website early to check out the full agenda and sign up.

If you have any questions about the workshops, you can post them on our forum.

Posted:

On Thursday, August 31st, 2017, in accordance with the deprecation schedule, v201608 of the DFP API will be sunset. At that time, any requests made to this version will return errors.

If you’re still using this version, now’s the time to upgrade to the latest release and take advantage of new features like support for creating ImageOverlayCreatives, Partner companies, new team actions, and the change history table. To do so, check the release notes to identify any breaking changes, grab the latest version of your client library, and update your code.

Significant changes include:

This is not an exhaustive list, so as always, don't hesitate to reach out to us with any questions. To be notified of future deprecations and sunsets, join the DFP API Sunset Announcements group and adjust your notification settings.

Posted:
Over the years, many developers have let us know they'd like to see more real-world AdWords API examples to help them drive their own success. To deliver on this, we've worked closely with our partners to share their innovative strategies for using the AdWords API to boost their business.

You can now find these case studies on the developer website. We plan to post more in the future, so check back for fresh insights from digital marketers on making the most of the AdWords API.

If you have any questions or feedback regarding these partner stories, please let us know on the forum.

Posted:

Starting with iOS 10, Safari on iPhone and iPod supports inline video playback. This opens up some new rendering options for your video player and the IMA SDK, but also introduces some caveats.

So what changed?

Previously, Safari on iPhone played all video in a fullscreen player. With iOS 10, Safari now supports the playsinline parameter on a video element to play that content inline.

Fullscreen playback on iPhone Mobile Safari. The default with iOS 10+ and the only option for iOS <= 10

Inline playback on iPhone Mobile Safari. A new option in iOS 10+

How will the IMA SDK work with inline video playback on mobile Safari?

On iPhone Safari, the IMA SDK re-uses your content player to play ads. We call this "custom playback." So if you add the playsinline parameter to your content video tag, IMA ads will also play inline - it's as easy as that.

Inline video playback also opens the door for the IMA SDK to play skippable ads on iPhone Mobile Safari. Previously these ads were dropped by the SDK because we could not render a skip button on top of the fullscreen player. If your player is inline, however, we can render that skip button, but there's a catch.

So what's the catch?

IMA SDK skippable ads are not supported with the "custom playback" method. To use skippable ads, you'll need to use our new API, ImaSdkSettings.setDisableCustomPlaybackForIOS10Plus(). This will cause the IMA SDK to render the ad in its own inline player on top of your content player. That player does support skippable ads. Disabling "custom playback", however, will break your fullscreen implementation for iPhone web.

Why do I need custom playback on iOS?

The need for "custom playback" on iOS boils down to one thing - fullscreen support. Mobile Safari only supports fullscreen via videoPlayer.webkitEnterFullscreen(). In this mode, the SDK cannot render anything on top of your content player. Therefore, to support fullscreen ad playback we must use "custom playback".

What if I want skippable ads and fullscreen support?

Unfortunately, this is not possible on mobile Safari today - you must choose between support for skippable ads and support for fullscreen.

What's the deal with iOS <10?

Prior versions of iOS (<10) do not have support for playsinline, so pages in those environments will always use "custom playback" mode, with support for fullscreen but no support for skippable ads.

I'm still confused.

That's OK! This is a complicated change with a lot of moving parts. Below is a support matrix outlining what is and is not supported based on your content player's playsinline mode and the "custom playback" mode you've set for the IMA SDK. Remember, this matrix only applies to iOS 10 and above - anything running version iOS 9 or below falls into the top left quadrant of the matrix, as this is the only option.

Posted:

To help developers integrate with the IMA SDK, we're always looking for ways to provide both basic and advanced examples of features supported by the SDK. Toward this end, we're pleased to release a sample JavaScript VPAID creative and sample ad tag to aid in troubleshooting JavaScript VPAID 2.0 creatives. You can check out the new sample on GitHub, and find the new ad tag in our list of IMA sample tags as 'Sample VPAID 2.0 Linear'.

The VPAID sample plays a linear video ad and demonstrates the use of the video player proxy element required to run a VPAID ad in a secure iframe.

If you have any questions, feel free to contact us via the IMA SDK developer forum.

Posted:

We've recently released some improvements to the DFP Python Library alongside support for v201705. Our goal was to reduce the boilerplate required to construct entities and DFP statements—keep reading to see what's new.

Improved statement creation utility

Previously you had to construct filtering statements manually out of strings, and write a lot of code to bind variables into statements. Here's what the code commonly looked like:

values = [{
    'key': 'startDateTime',
    'value': {
        'xsi_type': 'DateTimeValue',
        'value': {
            'date': {
                'year': start_date.year,
                'month': start_date.month,
                'day': start_date.day
            }
        }
    }
},{
    'key': 'orderName',
    'value': {
        'xsi_type': 'TextValue',
        'value': 'My Order%'
    }
}]
statement = dfp.FilterStatement('WHERE startDateTime > :startDateTime AND '
                                'orderName LIKE :orderName', values)

Dealing directly with strings opens up many potential errors, and we decided that the above was way too much typing just to bind variables. To make things easier, we've introduced a new utility called StatementBuilder. Now you can write code as simple as:

statement = (dfp.StatementBuilder()
             .Where('startDateTime > :startDateTime AND orderName LIKE :orderName')
             .WithBindVariable('startDateTime', start_date)
             .WithBindVariable('orderName', 'My Order%'))

StatementBuilder will automatically infer your variable types and construct the values object. You can then pass this to an API request in the same way that you did with FilterStatement:

response = creative_service.getCreativesByStatement(statement.ToStatement())

Automatic datetime unwrapping

Previously, you had to break out dates and datetimes into our format when constructing entity dictionaries:

line_item = {
    'orderName': 'Awesome New Order',
    'startDateTime': {
        'date': {
            'year': start_date.year,
            'month': start_date.month,
            'day': start_date.day
        },
        'hour': start_date.hour,
        'minute': start_date.minute,
        'second': start_date.second,
        'timezoneid': start_date.tzinfo.zone,
    },
    # ...
}

Starting in this version, you can simply pass a native Python date or timezone-aware datetime object directly:

start_date = datetime.datetime(2017, 6, 1, 9, 0, 0,
                               tzinfo=pytz.timezone('America/New_York'))
line_item = {
    'orderName': 'Awesome New Order',
    'startDateTime': start_date
    # ...
}

Our library will unwrap the datetime object into our format automatically. We're continuing to support passing the full dictionary, so there's no requirement to migrate your code.

We hope these changes will make building DFP integrations in Python easier. As always, please feel free to get in touch on the forum with any questions.

Posted:
We’ve enhanced structured snippets to now have even more header translations, increasing from 12 to all AdWords languages. Structured snippets are extensions that highlight products and services in your ads. Existing structured snippets will not change, so no AdWords API code changes are necessary, but consider adding structured snippets to any campaigns targeting the newly available languages.
Here are some resources to get you started with structured snippets:

As always, if you have any questions, please contact us via the forum.

Posted:

AdWords API v201607 will be sunset on June 27th, 2017, after which all v201607 API requests will begin to fail. This version was deprecated on February 28th, 2017. If you are still on v201607, we recommend that you skip v201609 and v201702 and migrate directly to v201705. Please be sure to migrate prior to the sunset to ensure your API access is unaffected.

We've prepared various resources to help you with the migration:

As always, if you have any questions about this migration, please contact us via the forum.

Posted:

Starting today, you can use the Accounts.claimwebsite method to claim the configured website for Merchant Center accounts. This means that you are no longer required to manually claim the website using the Merchant Center, but you can instead automate this part of account creation as well. As before, the website that you are attempting to claim must first be verified, either manually or using the Google Site Verification API.

If the call is successful, then you will receive an empty response with HTTP status code 200. If it is not, then you will receive an error response explaining why the claim attempt failed.

Note: If another Merchant Center has already claimed the website you are attempting to claim, you cannot use the API to overwrite their claim with your own. Instead, please follow the manual process instead.

In addition, there is a new websiteClaimed field in the resource representation returned by Accountstatuses. This field contains true if the associated account has successfully claimed its website.

If you have any questions or feedback about using the Content API to claim websites or any other questions about the Content API for Shopping, please let us know on the forum.

Posted:

Today we're announcing the release of AdWords API v201705. Here are the highlights:

If you're using v201607 of the AdWords API, please note that it will be sunset on June 27, 2017. We encourage you to skip v201609 and v201702 and migrate straight to v201705. If you're using v201609, be aware it's now marked deprecated and will be sunset on October 2, 2017.

As with every new version of the AdWords API, please carefully review all changes in the release notes and the v201705 migration guide. The updated client libraries and code examples will be published within the next 48 hours.

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

Posted:
Update: Clarified AdGroupType values introduced in v201705.
Update 06/22/2017: Clarified information in last paragraph.

Starting this week, users of the new AdWords interface will be able to create dynamic search ads (DSA) through the new dynamic ad group type in Search campaigns with Dynamic Search Ad settings. This has some consequences in the AdWords API as described below.

How does this impact the AdWords API?
If your managed accounts are eligible for the new AdWords interface, be aware that if users create dynamic ad groups in the interface, AdGroupType values for the dynamic ad groups will be returned as SEARCH_DYNAMIC_ADS in v201705 and UNKNOWN for earlier API versions. Here are the rules applied to the dynamic ad group type: As described in this guide, to create dynamic search ads in the AdWords API, some settings and criteria are required, such as WebPage and DynamicSearchAdsSetting. These settings can still be added and modified in the dynamic ad group type.

What should you do?
If your application manages accounts that have access to the new AdWords interface, or if you have ad groups with type SEARCH_DYNAMIC_ADS for v201705 and UNKNOWN for earlier versions, ensure that you properly handle these cases by: In addition, for v201705, you cannot add features related to Dynamic Search Ads to ad groups with AdGroupType of SEARCH_STANDARD. Examples of Dynamic Search Ad features include the Webpage criterion and ExpandedDynamicSearchAds. However, for the earlier versions, ad groups with AdGroupType of SEARCH_STANDARD are not affected by this change. You can still continue adding expanded text ads, dynamic search ads, call ads, and various criterion types to them.

As always, if you have any questions, please post on the forum.

Posted:
Mobile has fundamentally changed how we live our lives. With our devices never more than an arm’s length away, people can find, watch or buy anything at anytime. That’s why earlier this year we shared that we’re developing a new, cloud-based measurement solution for YouTube, designed for a mobile world. Today, we’re announcing the beta for this solution, Ads Data Hub, to help advertisers get more detailed insights from their campaigns across screens while also protecting user privacy.

We are also announcing that Ads Data Hub is a solution not just for YouTube, but a tool that offers access to more data and helps unlock actionable insights across Google ad platforms, including the Google Display Network and DoubleClick. And with Ads Data Hub now in beta, we’re expanding who can use it.

Built on infrastructure from Google Cloud, including BigQuery, Ads Data Hub gives advertisers or their preferred measurement partners access to detailed, impression-level data about their media campaigns across devices in a secure, privacy-safe environment. Data from other sources, such as a CRM system or marketing database, can be incorporated as well. With this full view, advertisers or their partners can analyze the data and draw out insights specific to their business.

For example, if an e-commerce retailer wants to understand what the path to conversion looks like, they can bring additional online data about their customers into BigQuery, and Ads Data Hub will enable them to combine that data with their ads data so they can see what a typical journey is from first encountering a user until conversion.

Consistent with our commitment to privacy, no user-level data can be removed from the secure Cloud environment. Impression-level data is only accessible for the purposes of analysis and generating insights. In the future, advertisers will be able to act on the insights they get from Ads Data Hub and buy media with greater precision.

As an early alpha partner, Omnicom Media Group helped to define the solution and has seen significant value from both the amount of data available through Ads Data Hub and the broad set of analyses and custom queries that are possible.

"With the complexity of today's consumer journeys, we are seeing that marketers are looking to solve harder business challenges than ever before. Through our partnership with Google and our use of Ads Data Hub, we will be able to answer a broader range of questions and expand our analytical services." - Slavi Samardzija, Global CEO, Annalect, An Omnicom Media Group Company

With the shift to mobile, consumer behavior has changed for good. Marketers need tools to help them make sense of this new world, and Ads Data Hub is a key step forward.

Posted:
Today we’re pleased to announce the v201705 release of the DFP API. This release updates the ReportService to be at parity with the Ad Exchange Seller REST API.

Additionally, v201705 adds support for creating ImageOverlayCreatives and new Partner companies.

For a full list of API changes in v201705, see the release notes.

With each new release comes a new deprecation. If you're using v201608 or earlier, it's time to look into upgrading. Also remember that v201605 will be sunset at the end of May 2017.

As always, if you have any questions, feel free to drop us a line on the DFP API forums or the Ads Developer Google+ page.

Posted:
I/O is a magical time at Google. Every year, thousands of developers gather in Google's backyard to share new product ideas and learn about our latest innovations in computing.

We're meeting at an exciting time for the developer community. It's a time when consumers have more choices than ever before—like where to shop, what to watch, which games to play and how to communicate with friends and family. Your product needs to stand out. You need tools to help your business grow. And you need to make sure your users are happy.

We think we can help.

This afternoon, my team and I will share 3 new innovations for developers to make it easy for users to pay for your services, build profitable businesses and grow your user base. Check out our live stream here.
Enabling users to pay with Google

Starting today, our suite of payment solutions will be expanding. The Google Payment API enables merchants and developers to turbocharge checkout conversion by offering your users an easy way to pay with credit and debit cards saved to their Google Account. Users will have multiple Google payment options at their fingertips, like a credit or a debit card previously saved via Android Pay, a payment card used to transact on the Play Store or a form of payment stored via Chrome. And they'll be able to use these saved payment options in third-party apps and mobile sites, as well as on Google Assistant when they are on-the-go.
Paying with Google for Panera Bread on Google Assistant

For users, this means faster checkout. Now they'll never miss a deal because they're stuck on a bus and don't want to pull out their credit card in front of strangers. They'll no longer experience the pain of stumbling on a sale that ends at midnight when they're tucked in bed with their credit card out of reach. Users can save time and headache by using credit and debit cards they've already saved to their Google Account whenever they see the option to pay with Google on supported apps or sites.

For developers, this API is a significant innovation that can enable faster checkout, drive more conversions, increase sales and reduce abandoned carts—all with a simple integration. Learn more about our Google Payment API here.
Earn more from your apps with the brand new AdMob
People turn to their mobile devices throughout the day to shop, communicate and stay entertained. For developers, in-app purchases are one way to monetize. Ads are another way.
AdMob was built to support the app ecosystem. With over 1 million apps across iOS and Android, AdMob has paid over $3.5 billion dollars in ads revenue to developers. But there's more we can do to help you succeed.

Today, we're introducing a completely redesigned AdMob. Rebuilt from the ground up, AdMob is now simpler to use and delivers richer insights about your users' in-app experiences.

Simpler to use: We've applied Material Design to all aspects of the AdMob look and feel to deliver an easy-to-use and intuitive experience across the entire platform—on mobile and desktop. You'll get more done in less time. Below you can see how easy it is to pick an app that you're monitoring, check out its key metrics and then quickly take action to fine-tune its performance.

Redesigned AdMob experience

Deeper insights:
We've also integrated Google Analytics for Firebase into the core of the redesigned AdMob so you have quick access to the metrics that matter most for your business. Once you link your AdMob and Firebase accounts, you'll have access to detailed ad revenue data and user insights like time spent in the app and in-app purchases—all in one place.

Google Analytics for Firebase dashboard in AdMob
Know your user, find your user with Universal App Campaigns
Earning money from your app is one piece of the puzzle. You also need to think about how to grow your user base.

Google's app innovations have delivered over 5 billion installs from ads and we are now helping developers drive over 3 billion in-app events per quarter—like users adding something to their cart or reaching level 3 of a game. Developers have gravitated toward Universal App Campaigns (UAC) as the "one stop shop" campaign type that scales your reach and maximizes app installs across Google's largest properties: Google Play, Search, YouTube, Gmail and the Display Network. UAC uses Google's machine learning technology to evaluate numerous signals in real time, refining each ad to help you reach your most engaged users. We're continuing to double down on UAC, with all new innovations being built into UAC to make app promotion even more effective.
Engage users in key moments of discovery with new UAC placements in Google Play 
Android reaches more than 2 billion active devices every month, with Google Play available in 190+ countries around the world. It's the place users come to discover new apps and games. Beyond searching for apps to try, users are increasingly browsing the Play store and finding recommendations for new apps. 
To help those users discover more of your apps, we are introducing new ad placements on the home and app listing pages in the Google Play Store. These new placements, available exclusively through UAC, help you reach users in "discovery mode" as they swipe, tap and scroll in search of their next favorite app. 
New ad placements reach users browsing in Google Play

Discover more of your best users with new bidding options in UAC 
Some users are more valuable to your business than others, like the players who level-up in your game or the loyal travelers who book several flights a month. That's why we're expanding Smart Bidding strategies in UAC to help you acquire more of these high-value users. Using Smart Bidding, you can tailor bids for your unique business goals - target cost per acquisition (tCPA) or target return on ad spend (tROAS). UAC delivers the right users based on your objectives: installs, events and, coming soon, value. This update starts rolling out to iOS and Android developers and advertisers in the coming months. 
Introducing App Attribution Partners, a new measurement program 
Many developers rely on third-party measurement providers to measure the impact of ads and gain valuable insights about how users engage with your app. To help you take action on these insights in a faster and more seamless way, we are introducing App Attribution Partners, a new program designed to integrate data from 7 global companies right into AdWords.

Welcome to adjust, Adways, AppsFlyer, Apsalar, CyberZ, Kochava and TUNE... we're thrilled to have them onboard!

AdWords' integration with these partners ensures that you have consistent, reliable and more granular data where you review app metrics. Now you can take action with confidence and stay on top of your business performance.
As consumers live more of their lives online, it's increasingly important for developers to build user-centric experiences in everything that you do—from the apps you design, to the experiences you deliver, to the ways you help people transact. We know it's not always easy, so Google is here to help.

We look forward to continuing on this journey with you.

Posted:
Update: this change will go live in June 2017.

In June 2017, AdWords will begin gradually altering the specifics of the Enhanced CPC bidding strategy. If you're not familiar with the Enhanced CPC (ECPC) bidding strategy, it works by adjusting the bids for clicks that seem more likely to lead to a conversion. Clicks that seem unlikely to convert will get lower bids, while those more likely to convert will have the bid increased.

Currently, the strategy does not increase bids by more than 30% after bid modifiers are applied. Starting in June, this bid cap will be eliminated over time in order to get more clicks that are likely to convert. On Search and Display, the goal of the strategy will be to help you get more conversions while maintaining the same cost-per-acquisition (CPA) as you get with manual bidding. On Shopping, the goal of the strategy remains to help you get more conversions while maintaining the same cost as you get with manual bidding. The strategy will still respect your manual bids by trying to keep the average CPC below the max you set, which is done in the CpcBid.

This change will allow our system more flexibility to improve performance, and we will be monitoring the effects closely to make adjustments as necessary to continue to fine tune ECPC.

If you are an API user, there is no action required on your part for this change to take effect. The setup in the API works the same as before, so you can use your existing version to make any changes you may want to your account as a result of this change in functionality.

If you have any questions about this change or other API features, please post on the forum.

Posted:
Today we're releasing v2.8 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 v2.7, which will sunset on November 30th, 2017. After this date, any requests made against v2.7 will begin returning errors.

As a final reminder, API version 2.6 will be sunset on May 31st, 2017. 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!