Until now, the DFP API only supported the OAuth 2.0 native/installed application flow. The OAuth 2.0 service account flow was only supported it you had a Google Apps for Business Account. Today, we’re unveiling the new OAuth 2.0 service account flow for DFP. This authorization flow has been simplified to no longer require a Google Apps domain. We’ve also updated the DFP web UI to allow service accounts to be added to be a DFP network.

Why should I use service accounts?

Service accounts allow access to Google APIs without the need for user interaction by authenticating solely with server-to-server interactions. Other OAuth 2.0 flows require user interaction or having an application cache a refresh token.

How do I use service accounts?

  1. Generate a service account key from the Google Developers Console.
  2. Add the service account to your DFP network by going to the Admin tab and clicking the Add a service account user button.
  3. Fill in the form with your Name, Email, Teams (if applicable), and Role. Then, click Save.
  4. View existing service account users by going to the Users tab and then clicking the Service Account filter.

With the *.p12 key generated from the Google Developers Console and the service account added to the DFP network, you can now generate an OAuth 2.0 token. For example, using the Java client library:

    GoogleCredential credential = new GoogleCredential.Builder()
        .setTransport(new NetHttpTransport())
        .setJsonFactory(new GsonFactory())
        .setServiceAccountPrivateKeyFromP12File(new File("/path/to/key.p12"))

For more information, see our updated guide on using service accounts with DFP.


Over the coming months we’re adding better controls for Local Inventory Ads to support more advanced use cases for targeting store products. To prepare for these changes, we are removing the existing ProductSalesChannel from AdWords API v201409 and will add new controls to a subsequent AdWords API release next year.

Starting October 15th, 2014, using ProductSalesChannel to select the Local channel settings (CriterionId - 201) will return the CriterionError.CANNOT_ADD_CRITERIA_TYPE error for all AdWords API versions.

For most Shopping campaigns, you don't need to add this criterion, and should simply omit it from your AdWords API request. We recommend that you use the AdWords interface to make any changes to your Local Inventory Ads campaigns.

We removed the PrimaryUserLogin column from all our reports in AdWords API v201406. To keep the rest of our API consistent, we will also remove the login field from ManagedCustomer class in the next AdWords API release. Existing versions of the AdWords API will stop returning values for this field starting November 5, 2014.

If you’re currently using the login field to identify an account, you can use the customerId or name field instead. The AdWords API uses OAuth 2.0 as its authentication mechanism, which allows users to grant access to your application to manage their AdWords accounts, without sharing their email addresses.

To ensure your applications continue to work properly, stop using this field before November 5, 2014. If you have any further questions about this change, let us know via our forum or Google+ page.

Last year, we posted an optimization series article about auction filtered reasons. The article addressed the definition of auction filtered bids, review the main reasons for being filtered from the auction, and the steps you can take to ensure your ads will not be filtered. For information on how the AdX auction works today, please see this Ad Exchange Auction Model article in our Help Center.

In AdWords API v201406, we introduced a smarter way for you to manage URLs in AdWords. You can now designate which part of your URL specifies the landing page, and which part is used for tracking.

Upgraded URLs were previously supported only in test accounts. Today, we are making this feature available in production accounts on a whitelist basis. You can sign up for this feature here. Once your account is whitelisted, you will receive a confirmation email. You can then start using upgraded URLs in the whitelisted accounts.

If you have any questions about this feature or the AdWords API in general, you can post them on our developer forum. You can also follow our Google+ page for updates about the AdWords API.

We are excited to announce support for Shopping campaigns in AdWords scripts. The current release allows you to work with existing shopping campaigns, create and manage product partitions and run shopping reports. You can learn more about these features on our guide.

We encourage you to give this new API a try and let us know your feedback on the forum - bug reports and suggestions to improve the API usability are most welcome.

We would like to remind you that starting September 16th 2014, we will begin automatically upgrading legacy Search & Display campaigns to Search Network with Display Select (SNDS) campaigns. Once the migration is complete, we will remove the displaySelect flag from the Campaign entity and service in a subsequent API release.

If you still have legacy Search & Display campaigns, we recommend you either split them into separate Search Network only and Display Network only campaigns or migrate them before they’re automatically migrated. Click here to upgrade your campaigns, or see our Help Center article on choosing the campaign type that’s right for you.

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