Two years ago, we introduced the Ad Exchange Real-Time Bidding Optimization Series on the developer's blog with our first post on post-filtered bids. Since then we’ve added tons of new formats and options for buying. Today, we’ll direct you to our Developers site for more information about how the video review process works, how throttling and filtering occur and highlight best practices to ensure smooth delivery.

The first step is to know your video-specific terms. Check out the in-stream video glossary to find definitions for terms with which you’re not familiar. Once you've created your in-stream video ad, you will need to monitor your video ads. The Video Best Practices Guide provides a list of ways to confirm your video ads are serving: Have questions or feedback? Reach out to your Ad Exchange account team.

On July 14th, 2014, AdWords announced upgraded location extensions, a more efficient way to manage and use business locations in ads by linking Google My Business and AdWords accounts.

The upgrade is taking place in phases for AdWords accounts throughout the coming months. The next phase of account upgrades is scheduled to start on August 25, 2014. All AdWords accounts will to be upgraded by November, 2014.

The upgrade has direct impact to AdWords API client applications. If you are using the CampaignAdExtensionService to manage LocationExtensions or LocationSyncExtensions, then you’re using the legacy location extensions that are being phased out. After an account is upgraded, you’ll need to use the new account-level feed-based location extensions.

How will existing location extensions be upgraded by Google?

Please review the AdWords Help Center article for all upgrade scenarios. For AdWords API developers, most accounts will fall into one of these scenarios:
  • Accounts that don’t have any existing legacy location extensions.
  • Accounts that have existing legacy location extensions not sourced from a Google My Business account (i.e., using LocationExtensions only).
  • Accounts that have existing legacy location extensions sourced from a Google My Business account (i.e., using LocationSyncExtensions).
If you programmatically create AdWords accounts that are not associated with any user, please get in touch with your Google representative for migration support.

Accounts that don’t have any existing legacy location extensions

For accounts that aren’t using any LocationExtensions or LocationSyncExtensions but will begin using location extensions, you should use feed-based location extensions instead.

Accounts that have existing legacy location extensions not sourced from a Google My Business account

If you’re using LocationExtension entities to manage individual locations, the automatic upgrade process will perform the following:
  1. A Google My Business account will be created and linked with the AdWords account. All administrators of that AdWords account will have access to locations in the linked Google My Business account.
  2. A CustomerFeed with the Location placeholder type will be created.
  3. Existing locations in LocationExtension entities will be copied into the Google My Business account. Existing LocationExtension entities will then be removed.
  4. Ads in all campaigns will be served with locations from the linked Google My Business account (you can create a CampaignFeed to further filter or disable location extensions served for a given campaign).
Accounts that have existing legacy location extensions sourced from a Google My Business account

If you’re using LocationSyncExtension to link campaigns to a Google My Business account, then the automatic upgrade process will perform the following:
  1. The campaign-level links to the Google My Business account will be switched to a single link at the account level.
    • A CustomerFeed with the Location placeholder type will be created for the account.
  2. Any existing LocationExtension entities will be removed, so make sure they’re copied to the linked Google My Business account before the upgrade.
  3. Ads in all campaigns will be served with locations from the linked Google My Business account (you can create a CampaignFeed to further filter or disable location extensions served for a given campaign).
If an AdWords account is already linked to Google My Business at the account level using CustomerFeed, any existing legacy location extensions will be removed during the upgrade process.

How do I know if an account has been upgraded?

An account is considered upgraded if either condition is true:
  1. It has a CustomerFeed for the Location placeholder type. You can query CustomerFeedService to check:
    select FeedId, PlaceholderTypes where PlaceholderTypes = 7
  2. It has neither a CustomerFeed nor legacy LocationExtension or LocationSyncExtension entities.
In an upgraded account, any attempts to create legacy location extensions using the CampaignAdExtensionsService will return the AdExtensionError.INVALID_ADEXTENSION_TYPE error.

How do I continue to manage locations?

There’s currently no API support for Google My Business. Locations are managed via the Google My Business Locations interface, which supports bulk management.

Can I start using upgraded location extensions before an account is upgraded?

Since the upgrade process is complicated for many accounts, the simplest approach is to allow accounts using legacy location extensions to be automatically upgraded (account owners will be notified 30 days before the upgrade).

What about reporting?

For upgraded accounts, you’ll need to use the Placeholder Feed Item Report rather than the Ad Extensions Performance Report to download statistics for each location.

We are here to help

If you have any questions about this upcoming change or anything else related to the AdWords API, please contact us on the AdWords API forum or via the Google Ads Developers Google+ page.

We’re excited to announce an open source video player framework to make online video and video monetization with the IMA SDK easier than ever. The Google Media Framework (GMF) is available for iOS and Android, and we have a Video.js plugin for web based video players.

Google Media Framework for iOS

Google Media Framework for Android

GMF Features
  • Ready to use Video player for your apps and websites
  • Demo apps include production ready integrations with the IMA ads SDK
  • GMF is free and open source, so can be customized to meet your specific needs (Send us a pull request!)
  • Easily customize the UI color and add or remove buttons
  • Support for iOS 7+ and Android 4.1+

We hope these frameworks enable you to simply make great mobile video apps and awesome web video experiences. You can send us thoughts or questions via the GMF Google group.

GitHub Links

-- The Google Media Framework Team

To help streamline management of your AdWords scripts, we’ve made it easier to preserve scripts created in your AdWords account even after the original author becomes inactive.

In the past, a script in an AdWords account would become unavailable if the script’s original author was no longer associated with the AdWords account. Other users on the AdWords account would need to recreate the script on their own or else risk losing it entirely.

With the new changes we’re launching, scripts from an inactive user will continue to be available in the AdWords account where they were created. To keep these scripts running, the remaining users in the AdWords account will need to log into AdWords and reauthorize the script.

We’ll e-mail the administrators on the AdWords account if the author of a scheduled script goes inactive and here’s what you’ll need to do to get the script running again:
  1. Log in to your AdWords account, and navigate to the Scripts section under Bulk Operations (or the Scripts section of your MCC account).
  2. In the “Script” column, find the relevant script.
  3. Click the "Edit" link.
  4. Click the "Authorize now" button in the yellow bar at the top of the script editor.
  5. Click the “Accept” button.
We are applying this change with an effective date of March 15, 2014. If an author went inactive before that date, his or her scripts will continue to be unavailable. Scripts created in your AdWords account after March 15 will remain available as long as the AdWords account remains open.

If you are running DoubleClick Ad Exchange Real-Time Bidding campaigns, you can now use the Snippet Status Report Generator to obtain a Snippet Status Report for your creatives. The Snippet Status Report contains the approval status of your creatives, as well as the sensitive and product categorization that Ad Exchange automatically detects. The Snippet Status Report Generator produces reports using the Ad Exchange Buyer REST API.

There are three versions of this report available through the generator: a human readable text format, a binary protocol buffer format, and a spreadsheet-friendly CSV format. The text and protocol buffer version of the report can also be obtained via Google Cloud Storage. The CSV version can be used with spreadsheet programs such as Google Sheets, Microsoft Excel or LibreOffice Calc:

The Snippet Status Report Generator is available on GitHub as a python program. You are encouraged to download it and make modifications to generate reports in your desired format.

If you have any questions or feature requests for the Snippet Status Report Generator, please create an issue on the project’s issues page.

For any questions about the Ad Exchange Buyer API, visit us on the forum or our Google+ page.

Starting January 1st, 2015, the PHP Ads client library will stop supporting PHP 5.2:
  • We will no longer test against PHP 5.2, or fix bugs that only affect PHP 5.2 users
  • Newer versions of the library may not work with PHP 5.2
This will impact PHP client library users of the AdWords API, the DoubleClick for Publishers API, and the DoubleClick Ad Exchange Buyer APIs.

PHP 5.2 hasn’t been supported since 2011 and should be upgraded to a current, stable version. Upgrading ensures you’ll receive the latest security updates.

In addition, there are numerous issues when using the PHP 5.2 SOAP client, such as: In particular, custom HTTP headers are required for the DoubleClick for Publishers API starting from DoubleClick for Publishers API v201405 - the OAuth 2.0 access token must be passed via the HTTP headers rather than the URL parameter. In this case, PHP 5.2 users must upgrade in order to use DoubleClick for Publishers API v201405.

As always, if you have any questions, drop us a line on the forums (AdWords API, DoubleClick for Publishers API, DoubleClick Ad Exchange Buyer API) or Ads Developers Google+ page.

We are always striving to make sure the data you fetch from the AdWords API is as meaningful as possible, and in v201406 we've made a few changes to some return values that should be more intuitive.

First, in the TrafficEstimatorService, we used to return 0 for values which we couldn't calculate, for example if a field requires division by zero. However, this could’ve given the false impression that the actual value was 0, rather than that it couldn't be calculated. For this reason, we’ve changed the logic to return null in cases where the value couldn't be calculated at all. This affects the averageCpc and averagePosition fields in StatsEstimate, as these values will not be returned in SOAP responses when they can’t be calculated.

Second, when using the Keyword Performance Report, we formerly returned all negative keywords as having a "pending review" approval status. Since negative keywords don't need to go through the same process as normal keywords, we will now return a null value instead for the ApprovalStatus field for all negative keywords.

This change only affects version v201406 going forward, and doesn’t affect existing versions v201402 or v201309.

As always, we are constantly looking to improve the API. If you have any questions about this or other API features, please feel free to ask on the forum or on our Google+ page.