<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CkIFRXs4cSp7ImA9WhVbEUQ.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332</id><updated>2012-05-28T00:35:14.539-07:00</updated><category term="mobile" /><category term="adwhirl_v3.1.1" /><category term="suggested_ad_units" /><category term="dfp_appengine" /><category term="deprecation" /><category term="adwords_AdGroupCriterionService" /><category term="mobile_targeting" /><category term="dfp_v201111" /><category term="ad_exchange" /><category term="analytics" /><category term="dfp_mobile" /><category term="test_network" /><category term="geotargeting" /><category term="best_practices" /><category term="dfa_api" /><category term="dfa_site_service" /><category term="adsense_management_api_v1.1" /><category term="PQL" /><category term="custom_fields" /><category term="dfp_v201203" /><category term="animation" /><category term="ad_exchange_soap" /><category term="limits" /><category term="common_questions" /><category term="adsense_host_api_v3" /><category term="adwords_CreateAccountService" /><category term="oauth" /><category term="admob_v4.3.1" /><category term="ad_exchange_rest" /><category term="android_layout" /><category term="iOS" /><category term="adwords_CampaignService" /><category term="adsense_management_api" /><category term="dfa_ad_service" /><category term="dfa_v1.16" /><category term="reporting" /><category term="adwords_v201109" /><category term="xml" /><category term="i18n" /><category term="adsense_api" /><category term="certificates" /><category term="docs" /><category term="reports" /><category term="admob_v5.0.5" /><category term="php" /><category term="forecast_service" /><category term="client_libraries" /><category term="app_engine" /><category term="dfp_v201204" /><category term="impression_share" /><category term="creatives" /><category term="faq" /><category term="dfp_api" /><category term="adwhirl" /><category term="dfa_v1.17" /><category term="google_apps_script" /><category term="hangout" /><category term="admob_sdk" /><category term="adwords_MutateJobService" /><category term="interview" /><category term="adwords_ReportDefinitionService" /><category term="android" /><category term="chart_tools" /><category term="adsense_management_api_v1" /><category term="terms" /><category term="ssl" /><category term="dfp_v201201" /><category term="adwords_api" /><category term="dfa_v1.18" /><category term="ad_exchange_rtb" /><category term="examples" /><title>Google Ads Developer Blog</title><subtitle type="html">The official blog for information about the AdWords, AdSense, DoubleClick and AdMob APIs and SDKs.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://googleadsdeveloper.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://googleadsdeveloper.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Rachel Durfee</name><uri>http://www.blogger.com/profile/16428609225474396121</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>108</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/GoogleAdsDeveloperBlog" /><feedburner:info uri="googleadsdeveloperblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>GoogleAdsDeveloperBlog</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry gd:etag="W/&quot;CkIFRXs-fip7ImA9WhVbEUQ.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-6581585709353876982</id><published>2012-05-28T00:34:00.000-07:00</published><updated>2012-05-28T00:35:14.556-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-05-28T00:35:14.556-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="adwords_AdGroupCriterionService" /><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api" /><title>AdWords API - Upcoming changes to AdGroupCriterionService.mutate behaviour</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
We are making some changes to the way &lt;a href="https://developers.google.com/adwords/api/docs/reference/latest/AdGroupCriterionService.BiddableAdGroupCriterion#qualityInfo"&gt;qualityInfo&lt;/a&gt; and &lt;a href="https://developers.google.com/adwords/api/docs/reference/latest/AdGroupCriterionService.BiddableAdGroupCriterion#firstPageCpc"&gt;firstPageCpc&lt;/a&gt; fields are returned by &lt;a href="https://developers.google.com/adwords/api/docs/reference/latest/AdGroupCriterionService"&gt;AdGroupCriterionService&lt;/a&gt; in AdWords API. Currently, the &lt;a href="https://developers.google.com/adwords/api/docs/reference/latest/AdGroupCriterionService.BiddableAdGroupCriterion#qualityInfo"&gt;qualityInfo&lt;/a&gt; and &lt;a href="https://developers.google.com/adwords/api/docs/reference/latest/AdGroupCriterionService.BiddableAdGroupCriterion#firstPageCpc"&gt;firstPageCpc&lt;/a&gt; fields are populated for &lt;a href="https://developers.google.com/adwords/api/docs/reference/latest/AdGroupCriterionService.BiddableAdGroupCriterion"&gt;BiddableAdGroupCriterion&lt;/a&gt; objects returned in response to &lt;a href="https://developers.google.com/adwords/api/docs/reference/latest/AdGroupCriterionService#mutate"&gt;AdGroupCriterionService.mutate&lt;/a&gt; API calls. Starting the week of June 15th, these fields will no longer be populated in mutate call responses. If you wish to retrieve QualityInfo or firstPageCpc for criteria, you need to retrieve them by making a &lt;a href="https://developers.google.com/adwords/api/docs/reference/latest/AdGroupCriterionService#get"&gt;get()&lt;/a&gt; call instead, using the appropriate &lt;a href="https://developers.google.com/adwords/api/docs/appendix/selectorfields#v201109-AdGroupCriterionService"&gt;selector fields&lt;/a&gt;. This change will affect all the active versions of the AdWords API.&lt;br /&gt;
&lt;br /&gt;
If your code depends on the current behaviour of AdGroupCriterionService.mutate, please make sure you migrate your code by the week of June 15th. If you have any questions about these changes please reach out to us in the &lt;a href="https://developers.google.com/adwords/api/community/"&gt;forum&lt;/a&gt; or during one of our &lt;a href="https://developers.google.com/adwords/api/community/officehours"&gt;office hours&lt;/a&gt; hangouts.&lt;br /&gt;
&lt;br /&gt;
&lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/u/0/103205605030324928671/posts"&gt;&lt;img height="20" src="https://lh3.googleusercontent.com/-ZweA5XhpT2A/AAAAAAAAAAI/AAAAAAAAABw/FhsD7vgWw_o/s250-c-k/photo.jpg?sz=20" style="border: none; vertical-align: middle;" width="20" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://plus.google.com/u/0/103205605030324928671/posts" rel="author"&gt;Anash P. Oommen&lt;/a&gt;, AdWords API Team&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-6581585709353876982?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/jwBMu6eDVRY" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/6581585709353876982?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/6581585709353876982?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/jwBMu6eDVRY/adwords-api-upcoming-changes-to.html" title="AdWords API - Upcoming changes to AdGroupCriterionService.mutate behaviour" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/05/adwords-api-upcoming-changes-to.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkcHQ3o-fyp7ImA9WhVUGUU.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-4266025819537322880</id><published>2012-05-25T14:06:00.000-07:00</published><updated>2012-05-25T14:07:12.457-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-05-25T14:07:12.457-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api" /><category scheme="http://www.blogger.com/atom/ns#" term="reporting" /><title>AdWords API - Updates in Search Query Performance Report</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
As &lt;a href="http://adwords.blogspot.com/2012/04/new-matching-behavior-for-phrase-and.html"&gt;previously mentioned&lt;/a&gt;, AdWords now supports new matching behavior for exact and phrase match keywords.  Support &lt;a href="http://googleadsdeveloper.blogspot.com/2012/05/adwords-api-v2011091-new-adwords.html"&gt;was added in v201109_1&lt;/a&gt; that allows toggling of this setting.  In order to better support reporting on the performance of this new feature, the &lt;a href="https://developers.google.com/adwords/api/docs/appendix/reports#search-query"&gt;Search Query Performance Report&lt;/a&gt; will gain a new field, &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;MatchTypeWithVariant&lt;/span&gt;, which will now return two additional enum values in addition to the existing values of the &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;MatchType&lt;/span&gt; field (enum values / display values):&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;NEAR_EXACT&lt;/span&gt; / exact (close variant)&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;NEAR_PHRASE&lt;/span&gt; / phrase (close variant)&lt;/li&gt;
&lt;/ul&gt;
&lt;span style="text-align: left;"&gt;The existing &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;MatchType&lt;/span&gt; field will continue to return only the values it does today.  This means that a value that would return “exact (close variant)” from &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;MatchTypeWithVariant&lt;/span&gt; will return as “exact” for field &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;MatchType&lt;/span&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
This new field will be available starting the week of Monday June 4th.&lt;br /&gt;
&lt;br /&gt;
If you have any questions about this change or other issues, please post on&amp;nbsp;&lt;a href="https://groups.google.com/forum/#!forum/adwords-api"&gt;the forum&lt;/a&gt; or attend one of the&lt;a href="https://www.google.com/calendar/b/0/embed?src=7brqg62i0mbinu226iblpcnmoo@group.calendar.google.com&amp;amp;ctz=America/New_York"&gt; AdWords API Office Hours&lt;/a&gt; Hangouts.&lt;/div&gt;
&lt;br /&gt;
&lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/u/0/110892224480992063622/posts"&gt;&lt;img height="20" src="https://lh6.googleusercontent.com/-Bm_0uFwE20M/AAAAAAAAAAI/AAAAAAAAALY/hflk83UJtt4/s200-c-k/photo.jpg?sz=20" style="border: none; vertical-align: middle;" width="20" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://plus.google.com/u/0/110892224480992063622/posts" rel="author"&gt;Kevin Winter&lt;/a&gt;, AdWords API Team&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-4266025819537322880?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/b61Wkk-1fHM" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/4266025819537322880?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/4266025819537322880?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/b61Wkk-1fHM/adwords-api-updates-in-search-query.html" title="AdWords API - Updates in Search Query Performance Report" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/05/adwords-api-updates-in-search-query.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkcDQHc9eSp7ImA9WhVUFk4.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-5306512672344301077</id><published>2012-05-21T14:01:00.000-07:00</published><updated>2012-05-21T14:01:11.961-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-05-21T14:01:11.961-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="client_libraries" /><category scheme="http://www.blogger.com/atom/ns#" term="dfa_api" /><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api" /><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api" /><title>Announcing a from-scratch rewrite of the Java Client Library</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;
The Java Client libraries for Ads APIs are some of the most popular, used by thousands of developers each day to manage their AdWords, DFA and DFP accounts.  Since they were initially written years ago, we’ve gotten a lot of feedback from developers using the libraries.  We’ve tried to incorporate as many suggestions as possible, but due to the legacy architecture, certain changes were not feasible.&lt;br /&gt;
&lt;br /&gt;
Today we’re pleased to announce that we are officially supporting a new from-scratch rewrite of the &lt;a href="http://code.google.com/p/google-api-ads-java/"&gt;Java Library&lt;/a&gt;!  It is now production-ready and is no longer &lt;a href="https://groups.google.com/d/msg/adwords-api/XjOiVGTVJpo/t1M7EPoHVI0J"&gt;experimental&lt;/a&gt;.  Read on for some reasons why you’ll want to take the new library for a spin right away.&lt;br /&gt;
&lt;h2 style="text-align: left;"&gt;






New Features&lt;/h2&gt;
&lt;div&gt;
New features in the rewritten library include:&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;Product level support for AdWords, DFA and DFP with shared common layer code.&lt;/li&gt;
&lt;li&gt;Library is now hosted on Maven.&lt;/li&gt;
&lt;li&gt;OAuth1.0a and OAuth2.0 support.&lt;/li&gt;
&lt;li&gt;Uses the &lt;a href="http://slf4j.org/"&gt;SLF4J&lt;/a&gt; logging facade.&lt;/li&gt;
&lt;li&gt;More control over building your session, providing authentication and more.&lt;/li&gt;
&lt;li&gt;Experimental AppEngine support via JAX-WS.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 style="text-align: left;"&gt;






Migrating&lt;/h2&gt;
&lt;/div&gt;
&lt;div&gt;
The two biggest changes involve how to configure your session and how to obtain Service objects.&lt;br /&gt;
&lt;br /&gt;
Here’s how you configure an AdWordsSession:&lt;br /&gt;
&lt;pre class="prettyprint"&gt;AdWordsSession session = new AdWordsSession.Builder()
    .fromFile()
    .withClientLoginToken(clientLoginToken)
    .build();
&lt;/pre&gt;
Here’s how you obtain a reference to a service:&lt;br /&gt;
&lt;pre class="prettyprint"&gt;AdWordsServices adWordsServices = new AdWordsServices();
CampaignServiceInterface campaignService =
    adWordsServices.get(session, CampaignServiceInterface.class);&lt;/pre&gt;
Check out the &lt;a href="http://code.google.com/p/google-api-ads-java/wiki/MigrationGuide"&gt;migration guide&lt;/a&gt; we have recently published on the new project page wiki.  You’ll find these procedures described in depth, along with best practices for using these classes.&lt;br /&gt;
&lt;br /&gt;
The new library will be the primary focus of development moving forward.  The existing &lt;a href="http://code.google.com/p/google-api-adwords-java/"&gt;AdWords&lt;/a&gt; and &lt;a href="http://code.google.com/p/google-api-dfp-java/"&gt;DFP&lt;/a&gt; java libraries are now in maintenance mode and we will continue to add support for new AdWords and DFP API releases for the near future.&lt;br /&gt;
&lt;br /&gt;
If you find any bugs, have a patch to contribute or just a feature request, please feel free to file an issue on our &lt;a href="http://code.google.com/p/google-api-ads-java/issues/list"&gt;issue tracker&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/u/0/110892224480992063622/posts"&gt;&lt;img height="20" src="https://lh6.googleusercontent.com/-Bm_0uFwE20M/AAAAAAAAAAI/AAAAAAAAALY/hflk83UJtt4/s200-c-k/photo.jpg?sz=20" style="border: none; vertical-align: middle;" width="20" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://plus.google.com/u/0/110892224480992063622/posts" rel="author"&gt;Kevin Winter&lt;/a&gt;, AdWords API Team&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-5306512672344301077?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/Y7EWhOcTamU" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/5306512672344301077?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/5306512672344301077?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/Y7EWhOcTamU/announcing-from-scratch-rewrite-of-java.html" title="Announcing a from-scratch rewrite of the Java Client Library" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/05/announcing-from-scratch-rewrite-of-java.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0AHSX08fCp7ImA9WhVUEks.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-2426710508155348266</id><published>2012-05-17T06:33:00.001-07:00</published><updated>2012-05-17T06:35:38.374-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-05-17T06:35:38.374-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="dfa_v1.18" /><category scheme="http://www.blogger.com/atom/ns#" term="dfa_api" /><title>Update on DFA API Page Size Capping</title><content type="html">&lt;p&gt;&lt;a href="http://googleadsdeveloper.blogspot.com/2012/05/dfa-api-v118-released.html"&gt;Previously&lt;/a&gt;, we discussed extending the set of operations in version v1.18 of the DFA API which will receive a limit of 1000 objects per page on &lt;strong&gt;June 2nd, 2012&lt;/strong&gt;. Additional operations have been added to this set since the announcement. The new list is as follows:&lt;/p&gt;
&lt;p&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/spotlight/service#getSpotlightActivities"&gt;getSpotlightActivities&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/creativefield/service#getCreativeFields"&gt;getCreativeFields&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/creativefield/service#getCreativeFieldValues"&gt;getCreativeFieldValues&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/changelog/service#getChangeLogRecords"&gt;getChangeLogRecords&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/user/service#getUsersByCriteria"&gt;getUsersByCriteria&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/ad/service#getAds"&gt;getAds&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/site/service#getContacts"&gt;getContacts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/ad/service#getDomainNamesBySearchCriteria"&gt;getDomainNamesBySearchCriteria&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/advertiser/service#getAdvertisers"&gt;getAdvertisers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/advertisergroup/service#getAdvertiserGroups"&gt;getAdvertiserGroups&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/campaign/service#getCampaignsByCriteria"&gt;getCampaignsByCriteria&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/contentcategory/service#getContentCategories"&gt;getContentCategories&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/creative/service#getCreatives"&gt;getCreatives&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/network/service#getNetworks"&gt;getNetworks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/placement/service#getPlacementGroupsByCriteria"&gt;getPlacementGroupsByCriteria&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/site/service#getDfaSites"&gt;getDfaSites&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/site/service#getSitesByCriteria"&gt;getSitesByCriteria&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/spotlight/service#getSpotlightActivities"&gt;getSpotlightActivities&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/strategy/service#getPlacementStrategiesByCriteria"&gt;getPlacementStrategiesByCriteria&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/subnetwork/service#getSubnetworkSummaries"&gt;getSubnetworkSummaries&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/subnetwork/service#getSubnetworks"&gt;getSubnetworks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/userrole/service#getUserRoleSummaries"&gt;getUserRoleSummaries&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/userrole/service#getUserRoles"&gt;getUserRoles&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/placement/service#getPlacementsByCriteria"&gt;getPlacementsByCriteria&lt;/a&gt; operation has been capped at 1000 results per page since version v1.18’s release. The &lt;a href="http://googleadsdeveloper.blogspot.com/2012/05/dfa-api-v118-released.html"&gt;original post&lt;/a&gt; has also been updated with this new list. You can reach us with any questions you may have on our &lt;a href="https://groups.google.com/group/google-doubleclick-for-advertisers-api"&gt;forum&lt;/a&gt;.&lt;/p&gt;

&lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/113204894998269100367/"&gt;&lt;img height="20" src="https://lh5.googleusercontent.com/-jfMpzPefhpA/AAAAAAAAAAI/AAAAAAAAAC4/RiK3R7FaK-8/photo.jpg?sz=20" style="border: none; vertical-align: middle;" width="20" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://plus.google.com/113204894998269100367/" rel="author"&gt;Joseph DiLallo&lt;/a&gt;, DFA API Team&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-2426710508155348266?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/ffvL0cvaVcM" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/2426710508155348266?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/2426710508155348266?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/ffvL0cvaVcM/update-on-dfa-api-page-size-capping.html" title="Update on DFA API Page Size Capping" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh5.googleusercontent.com/-jfMpzPefhpA/AAAAAAAAAAI/AAAAAAAAAC4/RiK3R7FaK-8/s72-c/photo.jpg?sz=20" height="72" width="72" /><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/05/update-on-dfa-api-page-size-capping.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C08ESXo4fip7ImA9WhVUEks.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-923464045249499909</id><published>2012-05-14T09:33:00.000-07:00</published><updated>2012-05-17T06:36:48.436-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-05-17T06:36:48.436-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="dfa_v1.18" /><category scheme="http://www.blogger.com/atom/ns#" term="dfa_api" /><title>DFA API v1.18 Released</title><content type="html">&lt;p&gt;The newest version of the DFA API is now available: v1.18. This release adds support for In-Stream Video creatives and makes some assorted improvements, including better error messages and trimming out some unused fields. This post reflects just some of the changes in the release. Our updated &lt;a href="https://developers.google.com/doubleclick-advertisers/docs/release_notes"&gt;release notes page&lt;/a&gt; gives you a more in-depth breakdown of what has changed since the previous version.&lt;/p&gt;

&lt;h2&gt;In-Stream Video Creatives&lt;/h2&gt;

&lt;p&gt;New to v1.18, you can create and manage your &lt;a href="http://support.google.com/dfa/bin/answer.py?hl=en&amp;answer=142442"&gt;In-Stream video creatives&lt;/a&gt; through the API. Several new classes have been added to the creative service to represent these objects. You can expect to see examples of their use in our updated &lt;a href="https://developers.google.com/doubleclick-advertisers/docs/clients"&gt;client libraries&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;Capping on Page Sizes&lt;/h2&gt;

&lt;p&gt;Most &lt;code&gt;get&lt;/code&gt; operations in the DFA API return pageable result sets. We are now beginning to enforce reasonable limits on the number of objects within an individual pages (also known as &lt;code&gt;pageSize&lt;/code&gt;). With the release of v1.18, the placement service’s &lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/placement/service#getPlacementsByCriteria"&gt;getPlacementsByCriteria&lt;/a&gt; operation is limited to a maximum of 1000 objects in a single page.&lt;/p&gt;

&lt;p&gt;[&lt;strong&gt;Update 5/17/2012&lt;/strong&gt;: The following list of operations has been extended as explained in &lt;a href="http://googleadsdeveloper.blogspot.com/2012/05/update-on-dfa-api-page-size-capping.html"&gt;this blog post&lt;/a&gt;.]&lt;/p&gt;
&lt;p&gt;Beginning &lt;strong&gt;June 2nd, 2012&lt;/strong&gt;, the same limit also applies for the following operations:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/spotlight/service#getSpotlightActivities"&gt;getSpotlightActivities&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/creativefield/service#getCreativeFields"&gt;getCreativeFields&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/creativefield/service#getCreativeFieldValues"&gt;getCreativeFieldValues&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/changelog/service#getChangeLogRecords"&gt;getChangeLogRecords&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/user/service#getUsersByCriteria"&gt;getUsersByCriteria&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/ad/service#getAds"&gt;getAds&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/site/service#getContacts"&gt;getContacts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/ad/service#getDomainNamesBySearchCriteria"&gt;getDomainNamesBySearchCriteria&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/advertiser/service#getAdvertisers"&gt;getAdvertisers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/advertisergroup/service#getAdvertiserGroups"&gt;getAdvertiserGroups&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/campaign/service#getCampaignsByCriteria"&gt;getCampaignsByCriteria&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/contentcategory/service#getContentCategories"&gt;getContentCategories&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/creative/service#getCreatives"&gt;getCreatives&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/network/service#getNetworks"&gt;getNetworks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/placement/service#getPlacementGroupsByCriteria"&gt;getPlacementGroupsByCriteria&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/site/service#getDfaSites"&gt;getDfaSites&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/site/service#getSitesByCriteria"&gt;getSitesByCriteria&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/spotlight/service#getSpotlightActivities"&gt;getSpotlightActivities&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/strategy/service#getPlacementStrategiesByCriteria"&gt;getPlacementStrategiesByCriteria&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/subnetwork/service#getSubnetworkSummaries"&gt;getSubnetworkSummaries&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/subnetwork/service#getSubnetworks"&gt;getSubnetworks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/userrole/service#getUserRoleSummaries"&gt;getUserRoleSummaries&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/docs/reference/current/userrole/service#getUserRoles"&gt;getUserRoles&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;

&lt;p&gt;All affected operations will have a default page size of 1000 if a page size is not provided.&lt;/p&gt;

&lt;h2&gt;Deprecation and Sunset of Older Versions&lt;/h2&gt;

&lt;p&gt;With the the release of v1.18, version v1.16 is now deprecated. Version v1.16 will continue to be supported until June 2nd, 2012, when it will be entirely removed from service, as &lt;a href="http://googleadsdeveloper.blogspot.com/2012/02/introducing-dfa-api-v117.html"&gt;previously announced&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Meanwhile, version v1.17 will be deprecated in August and sunset in early September, 2012.&lt;/p&gt;

&lt;p&gt;As always, we highly value your feedback and questions. Please join us on our &lt;a href="https://groups.google.com/group/google-doubleclick-for-advertisers-api"&gt;forum&lt;/a&gt; whenever you’d like to reach us.&lt;/p&gt;

&lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/113204894998269100367/"&gt;&lt;img height="20" src="https://lh5.googleusercontent.com/-jfMpzPefhpA/AAAAAAAAAAI/AAAAAAAAAC4/RiK3R7FaK-8/photo.jpg?sz=20" style="border: none; vertical-align: middle;" width="20" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://plus.google.com/113204894998269100367/" rel="author"&gt;Joseph DiLallo&lt;/a&gt;, DFA API Team&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-923464045249499909?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/UW04I3pcbl4" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/923464045249499909?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/923464045249499909?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/UW04I3pcbl4/dfa-api-v118-released.html" title="DFA API v1.18 Released" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh5.googleusercontent.com/-jfMpzPefhpA/AAAAAAAAAAI/AAAAAAAAAC4/RiK3R7FaK-8/s72-c/photo.jpg?sz=20" height="72" width="72" /><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/05/dfa-api-v118-released.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEMAQ3w4cSp7ImA9WhVVF0s.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-6666222899467549944</id><published>2012-05-11T13:00:00.000-07:00</published><updated>2012-05-11T13:00:42.239-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-05-11T13:00:42.239-07:00</app:edited><title>Announcing the AdWhirl to AdMob Ad Network Mediation Import Pipeline</title><content type="html">&lt;p&gt;We're very pleased to announce the availability of the AdWhirl to AdMob Ad Network Mediation Import Pipeline.  This functionality--accessible from &lt;a href="mediation.admob.com"&gt;mediation.admob.com&lt;/a&gt;--will enable you to import all of your relevant configuration data from AdWhirl in just a few clicks!&lt;p&gt;

&lt;p&gt;Getting started is simple!  Here are the steps you'll want to follow to import a configuration:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Navigate to &lt;a href="mediation.admob.com"&gt;mediation.admob.com&lt;/a&gt; and click the &lt;i&gt;Import Placement from AdWhirl&lt;/i&gt; link.  Read through the notes.&lt;/li&gt;
  &lt;li&gt;Click &lt;i&gt;Log in to AdWhirl&lt;/i&gt;.  You'll be redirected to an AdWhirl authorization page where you should enter your AdWhirl account's email address and password.&lt;/li&gt;
  &lt;li&gt;Click &lt;i&gt;Submit&lt;/i&gt;.  Assuming your info is correct, you'll be redirected back to AdMob's &lt;b&gt;Import Placement from AdWhirl&lt;/b&gt; workflow, where you can choose a particular placement to pull over.&lt;/li&gt;
  &lt;li&gt;Mouse over a placement and click the &lt;i&gt;Select to Import&lt;/i&gt; button.  After confirming things are correct on the &lt;b&gt;Review &amp; Import&lt;/b&gt; screen, go ahead and click the final &lt;i&gt;Import&lt;/i&gt; button.&lt;/li&gt;
  &lt;li&gt;Put your feet up, grab a brew; you're done!  Take a moment to bask in the warm glow of your accomplishment.  The placement will now appear in your &lt;b&gt;AdMob Ad Network Mediation Placements&lt;/b&gt; interface.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The &lt;a href="https://developers.google.com/mobile-ads-sdk/"&gt;AdMob Ad Network Mediation&lt;/a&gt; product offers many improvements over AdWhirl, including enhanced stability, support for tablet sizes, revenue optimizations by country, and improved reporting.  We hope you give it a look!  As always, if you have questions or concerns, you can get a hold of us on our &lt;a href="https://groups.google.com/forum/?fromgroups#!forum/google-admob-ads-sdk"&gt;forum&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/u/0/100951976559465900344"&gt;&lt;img width="20" height="20" src="https://lh4.googleusercontent.com/-JJsLfLVCckY/AAAAAAAAAAI/AAAAAAABVog/oL3K4YTTcJA/photo.jpg?sz=20" style="vertical-align:middle; border:none;"&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://plus.google.com/u/0/100951976559465900344" rel="author"&gt;Wes Goodman&lt;/a&gt;, AdMob Team&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-6666222899467549944?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/HgKEP_ku58A" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/6666222899467549944?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/6666222899467549944?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/HgKEP_ku58A/announcing-adwhirl-to-admob-ad-network.html" title="Announcing the AdWhirl to AdMob Ad Network Mediation Import Pipeline" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh4.googleusercontent.com/-JJsLfLVCckY/AAAAAAAAAAI/AAAAAAABVog/oL3K4YTTcJA/s72-c/photo.jpg?sz=20" height="72" width="72" /><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/05/announcing-adwhirl-to-admob-ad-network.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0MCQ3w-cCp7ImA9WhVVF0s.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-4913627195657579573</id><published>2012-05-11T11:37:00.001-07:00</published><updated>2012-05-11T11:37:42.258-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-05-11T11:37:42.258-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="dfp_v201204" /><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api" /><category scheme="http://www.blogger.com/atom/ns#" term="custom_fields" /><title>Make it your own with Custom Fields in DFP API</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
New to v201204 of DFP API are &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201204/CustomFieldService.CustomField.html"&gt;custom fields&lt;/a&gt;, which can be applied to &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201204/OrderService.Order#customFieldValues"&gt;orders&lt;/a&gt;, &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201204/LineItemService.LineItem#customFieldValues"&gt;line items&lt;/a&gt;, and &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201204/CreativeService.Creative#customFieldValues"&gt;creatives&lt;/a&gt;.  This new feature gives you the ability to include additional information on DFP entities without having to implement data persistence in your own system.  They are saved when the entities are saved on the DFP servers which ensures data consistency and removes the need for syncing.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Data Types&lt;/b&gt;&lt;br /&gt;
The following are the supported &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201204/CustomFieldService.CustomFieldDataType"&gt;data types&lt;/a&gt; of a custom field:&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;String&lt;/li&gt;
&lt;li&gt;Number&lt;/li&gt;
&lt;li&gt;Toggle (true/ false)&lt;/li&gt;
&lt;li&gt;Drop-down (selection from user-defined values)&lt;/li&gt;
&lt;/ul&gt;
These data types should cover some of the most common use cases for custom fields such as comments (string), metrics (number), and internal system status (toggle/drop-down). &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;How-To&lt;/b&gt;&lt;br /&gt;
You can create and manage your custom fields and &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201204/CustomFieldService.CustomFieldOption"&gt;custom field options&lt;/a&gt; (for drop-down custom fields) with the new &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201204/CustomFieldService"&gt;CustomFieldService&lt;/a&gt;. Please make sure you have the feature enabled for your network before you try to set up custom fields. We are also working on bringing custom fields to the user interface, so be on the lookout for them!&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Walk-Through&lt;/b&gt;&lt;br /&gt;
The following Java sample shows how you can add a string and drop-down custom field value to your line item.  This assumes that you have already created the custom fields and custom field options. You can check out how to create them using the &lt;a href="http://code.google.com/p/google-api-dfp-java/source/browse/trunk/examples/v201204/customfieldservice/CreateCustomFields.java"&gt;CreateCustomFields&lt;/a&gt;  and &lt;a href="http://code.google.com/p/google-api-dfp-java/source/browse/trunk/examples/v201204/customfieldservice/CreateCustomFieldOptions.java"&gt;CreateCustomFieldOptions&lt;/a&gt; examples in the &lt;a href="https://developers.google.com/doubleclick-publishers/docs/clients"&gt;client libraries&lt;/a&gt;.
&lt;br /&gt;
&lt;pre class="”prettyprint”"&gt;Long customFieldId = Long.parseLong("INSERT_STRING_CUSTOM_FIELD_ID_HERE");
Long dropDownCustomFieldId = 
    Long.parseLong("INSERT_DROP_DOWN_CUSTOM_FIELD_ID_HERE");
Long customFieldOptionId = 
    Long.parseLong("INSERT_CUSTOM_FIELD_OPTION_ID_HERE");
Long lineItemId = Long.parseLong("INSERT_LINE_ITEM_ID_HERE");

// Get the line item.
LineItem lineItem = lineItemService.getLineItem(lineItemId);

// Create custom field values.
List&lt;basecustomfieldvalue&gt; customFieldValues = new ArrayList&lt;basecustomfieldvalue&gt;();

// Create the String custom field value.
TextValue textValue = new TextValue();
textValue.setValue("Custom field value");
CustomFieldValue customFieldValue = new CustomFieldValue();
customFieldValue.setCustomFieldId(customFieldId);
customFieldValue.setValue(textValue);
customFieldValues.add(customFieldValue);

// Create the drop-down custom field value.
DropDownCustomFieldValue dropDownCustomFieldValue =
    new DropDownCustomFieldValue();
dropDownCustomFieldValue.setCustomFieldId(dropDownCustomFieldId);
dropDownCustomFieldValue.setCustomFieldOptionId(customFieldOptionId);
customFieldValues.add(dropDownCustomFieldValue);

// The line item can contain custom field values for the field you are
// trying to set or an unrelated one.  The following checks that you only 
// add existing custom field values for custom fields different from the 
// ones you are setting.
if (lineItem.getCustomFieldValues() != null) {
  for (BaseCustomFieldValue oldCustomFieldValue : 
      lineItem.getCustomFieldValues()) {
    if (!oldCustomFieldValue.getCustomFieldId().equals(customFieldId)
        &amp;amp;&amp;amp; !oldCustomFieldValue.getCustomFieldId().equals(
        dropDownCustomFieldId)) {
      customFieldValues.add(oldCustomFieldValue);
    }
  }
}

// Set the custom field values on the line item.
lineItem.setCustomFieldValues(customFieldValues.toArray(
    new BaseCustomFieldValue[]{}));

// Update the line item on the server.
LineItem[] lineItems = lineItemService.updateLineItems(
    new LineItem[] {lineItem});
&lt;/basecustomfieldvalue&gt;&lt;/basecustomfieldvalue&gt;&lt;/pre&gt;
And that’s it! For the full Java code example, you can refer to the &lt;a href="http://code.google.com/p/google-api-dfp-java/source/browse/trunk/examples/v201204/customfieldservice/SetLineItemCustomFieldValue.java"&gt;SetLineItemCustomFieldValue&lt;/a&gt; in the client library.&lt;br /&gt;
&lt;br /&gt;
With this new feature, we aim to help you create stronger integrations with DFP through the API.  If there are any features you would like us to demonstrate, please don’t hesitate to let us know with a &lt;a href="https://groups.google.com/forum/?fromgroups#!forum/google-doubleclick-for-publishers-api"&gt;forum&lt;/a&gt; post or at a &lt;a href="http://googleadsdeveloper.blogspot.com/search/label/dfp_api"&gt;Office Hour Hangout&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/u/0/115474229489284556707"&gt;&lt;img height="20" src="https://lh3.googleusercontent.com/-pDdv2kTjyNw/AAAAAAAAAAI/AAAAAAAAAnE/q_kK4BYy-mM/photo.jpg?sz=20" style="border: none; vertical-align: middle;" width="20" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://plus.google.com/u/0/115474229489284556707" rel="author"&gt;Jeffrey Sham&lt;/a&gt;, DFP API Team&lt;/span&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-4913627195657579573?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/wUSU_7RKKt4" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/4913627195657579573?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/4913627195657579573?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/wUSU_7RKKt4/make-it-your-own-with-custom-fields-in.html" title="Make it your own with Custom Fields in DFP API" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh3.googleusercontent.com/-pDdv2kTjyNw/AAAAAAAAAAI/AAAAAAAAAnE/q_kK4BYy-mM/s72-c/photo.jpg?sz=20" height="72" width="72" /><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/05/make-it-your-own-with-custom-fields-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUIMRXo6fCp7ImA9WhVVF0k.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-5147105116692716447</id><published>2012-05-11T07:46:00.001-07:00</published><updated>2012-05-11T07:46:24.414-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-05-11T07:46:24.414-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ad_exchange_soap" /><category scheme="http://www.blogger.com/atom/ns#" term="ad_exchange" /><title>Ad Exchange Buyer SOAP API v201109_1 - features available more quickly in dot releases</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
The Ad Exchange Team is pleased to announce the &lt;a href="http://googleadsdeveloper.blogspot.com/2012/05/adwords-api-v2011091-new-adwords.html"&gt;launch&lt;/a&gt; of v201109_1 of the Ad Exchange Buyer SOAP API, a dot release which includes the following services that are relevant to Ad Exchange Developers:&lt;br /&gt;
&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;Expandable directions for display ads are now available through &lt;a href="https://developers.google.com/adwords/api/docs/reference/latest/BulkMutateJobService.ThirdPartyRedirectAd#expandingDirections"&gt;ThirdPartyRedirectAd.ExpandingDirection&lt;/a&gt;.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;TargetingIdeaService now exposes the attribute &lt;a href="https://developers.google.com/adwords/api/docs/reference/latest/TargetingIdeaService.AttributeType#CATEGORY_PRODUCTS_AND_SERVICES"&gt;CATEGORY_PRODUCTS_AND_SERVICES&lt;/a&gt;.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
Moving forward, we will use dot releases which will allow us to launch features more quickly;  v201109_1 does not start the sunset on prior versions.&lt;br /&gt;
&lt;br /&gt;
The full set of release notes is available &lt;a href="https://developers.google.com/adwords/api/docs/reference/#v201109_1"&gt;here&lt;/a&gt;. If you have any questions please reach out to us in the DoubleClick Ad Exchange &lt;a href="https://developers.google.com/ad-exchange/discussion"&gt;forum&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;span class="post-author"&gt;&lt;a href="https://profiles.google.com/david.t.developer.support"&gt;&lt;img class="quimby_search_image" height="20" src="https://lh5.googleusercontent.com/-ahPvNYi7enw/AAAAAAAAAAI/AAAAAAAAAAk/ML8VpQbTG9M/photo.jpg?sz=20" style="border: none; vertical-align: middle;" width="20" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://profiles.google.com/david.t.developer.support" rel="author"&gt;David Torres&lt;/a&gt;, AdWords API Team&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-5147105116692716447?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/Uv7pOPAuApc" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/5147105116692716447?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/5147105116692716447?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/Uv7pOPAuApc/ad-exchange-buyer-soap-api-v2011091.html" title="Ad Exchange Buyer SOAP API v201109_1 - features available more quickly in dot releases" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh5.googleusercontent.com/-ahPvNYi7enw/AAAAAAAAAAI/AAAAAAAAAAk/ML8VpQbTG9M/s72-c/photo.jpg?sz=20" height="72" width="72" /><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/05/ad-exchange-buyer-soap-api-v2011091.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMER3Y7cSp7ImA9WhVVFko.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-2610071070006212265</id><published>2012-05-10T12:33:00.000-07:00</published><updated>2012-05-10T12:33:26.809-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-05-10T12:33:26.809-07:00</app:edited><title>AdWhirl v3.2 Released!</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;p&gt;We're very happy to announce the release of AdWhirl v3.2!  This version brings us support for the latest and greatest from several ad networks.  In particular:&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Android:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Support for AdMob v6.0.1&lt;/li&gt;
&lt;li&gt;Support for Millennial v4.5.1&lt;/li&gt;
&lt;li&gt;Support for InMobi v350&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;b&gt;iOS:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Support for AdMob v6.0.4&lt;/li&gt;
&lt;li&gt;Support for Millennial v4.5.5&lt;/li&gt;
&lt;li&gt;Support for InMobi v350&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As always, you can find the latest SDKs available on our &lt;a href="http://code.google.com/p/adwhirl/downloads/list"&gt;download page&lt;/a&gt;.  Or, feel free to snag the source: (&lt;a href="http://code.google.com/p/adwhirl/source/checkout?repo=sdk-android"&gt;Android&lt;/a&gt; | &lt;a href="http://code.google.com/p/adwhirl/source/checkout?repo=sdk-iphone"&gt;iOS&lt;/a&gt;).  If you encounter any issues, don't hesitate to contact us on our &lt;a href="https://groups.google.com/forum/?fromgroups#!forum/adwhirl-users"&gt;forum&lt;/a&gt; or during Office Hours--times to be announced on our &lt;a href="http://googleadsdeveloper.blogspot.com/"&gt;blog&lt;/a&gt;.&lt;/p&gt;

&lt;br&gt;

&lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/u/0/100951976559465900344"&gt;&lt;img height="20" src="https://lh4.googleusercontent.com/-JJsLfLVCckY/AAAAAAAAAAI/AAAAAAABVog/oL3K4YTTcJA/photo.jpg?sz=20" style="border: none; vertical-align: middle;" width="20" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://plus.google.com/u/0/100951976559465900344" rel="author"&gt;Wes Goodman&lt;/a&gt;, AdMob Team&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-2610071070006212265?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/CHM5mKL_XKk" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/2610071070006212265?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/2610071070006212265?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/CHM5mKL_XKk/adwhirl-v32-released.html" title="AdWhirl v3.2 Released!" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh4.googleusercontent.com/-JJsLfLVCckY/AAAAAAAAAAI/AAAAAAABVog/oL3K4YTTcJA/s72-c/photo.jpg?sz=20" height="72" width="72" /><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/05/adwhirl-v32-released.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0EERncyfSp7ImA9WhVVFks.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-6461735651064538806</id><published>2012-05-10T10:06:00.000-07:00</published><updated>2012-05-10T10:06:47.995-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-05-10T10:06:47.995-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mobile" /><category scheme="http://www.blogger.com/atom/ns#" term="admob_sdk" /><category scheme="http://www.blogger.com/atom/ns#" term="iOS" /><category scheme="http://www.blogger.com/atom/ns#" term="android" /><title>Updates to our AdMob SDK</title><content type="html">&lt;p&gt;&lt;i&gt;Editor’s note: We’d like to share this &lt;a href="http://googlemobileads.blogspot.com/2012/05/updates-to-our-admob-sdk.html"&gt;post&lt;/a&gt;
 from Chrix Finne which announces updates to the Google AdMob Ads SDK. -- Eric Leichtenschlag, Ads Developer Relations Team&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;Today we are posting an update to the AdMob SDKs for iOS and Android. This SDK update features several minor bug fixes and improvements.&lt;/p&gt;

&lt;p&gt;We are also releasing an optional version of our SDK for iOS that includes the UDID parameter, which is used to improve ad performance and relevance. Apps utilizing this version must obtain appropriate user consent for sending device identifier information in compliance with relevant iOS policies.&lt;/p&gt;

&lt;p&gt;Posted by Chrix Finne, Product Manager&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-6461735651064538806?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/4u75rJPgtTs" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/6461735651064538806?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/6461735651064538806?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/4u75rJPgtTs/updates-to-our-admob-sdk.html" title="Updates to our AdMob SDK" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/05/updates-to-our-admob-sdk.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcAQXk_cCp7ImA9WhVVFU0.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-144442282303939327</id><published>2012-05-08T12:57:00.000-07:00</published><updated>2012-05-08T12:57:20.748-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-05-08T12:57:20.748-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api" /><category scheme="http://www.blogger.com/atom/ns#" term="adwords_v201109" /><title>AdWords API v201109_1 - new AdWords features available more quickly in dot release and beta program</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
In an effort to make more features available faster to AdWords API users, we’re launching AdWords API v201109_1, a dot release which includes services to help API users incorporate some recent AdWords web interface launches into their applications. New features include:&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;Keyword match properties NEAR_EXACT and NEAR_PHRASE, which allow API users to opt in/out of these match types.&lt;/li&gt;
&lt;li&gt;LocationSyncExtension and the reports download service now have OAuth 1.0 support, bringing these services in line with others in the API.&lt;/li&gt;
&lt;/ul&gt;
As part of this dot release, we are also launching a few other features that will be available through an invitation-only beta. Similar to beta programs for the AdWords interface, the goal of this beta is to give developers earlier access to specific features, allowing us to incorporate feedback more quickly and innovate more effectively.&lt;br /&gt;
&lt;br /&gt;
Moving forward, we will use dot releases to launch AdWords features more quickly. AdWords API v201109_1 does not start the sunset on prior versions, so you do not need to upgrade immediately.&amp;nbsp;

&lt;br /&gt;
&lt;br /&gt;
Complete release notes are available &lt;a href="https://developers.google.com/adwords/api/docs/reference/"&gt;here&lt;/a&gt;. If you have any questions about these changes please reach out to us in the &lt;a href="http://code.google.com/apis/adwords/community/"&gt;forum&lt;/a&gt; or during one of our &lt;a href="http://code.google.com/apis/adwords/community/officehours.html"&gt;office hours via Google+ Hangouts&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;span class="post-author"&gt;Posted by AdWords API Team&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-144442282303939327?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/KeUx_2_-BOE" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/144442282303939327?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/144442282303939327?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/KeUx_2_-BOE/adwords-api-v2011091-new-adwords.html" title="AdWords API v201109_1 - new AdWords features available more quickly in dot release and beta program" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/05/adwords-api-v2011091-new-adwords.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkYFRH88fCp7ImA9WhVVFEw.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-2405551126511610766</id><published>2012-05-07T10:00:00.000-07:00</published><updated>2012-05-07T10:01:55.174-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-05-07T10:01:55.174-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="dfp_v201204" /><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api" /><title>Announcing v201204 of the DFP API</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
v201204 of the DFP API has launched and is ready for you to explore. In this version, we’ve added &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201204/CustomFieldService"&gt;custom fields&lt;/a&gt;, &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201204/UserTeamAssociationService"&gt;expanded team and user functionality&lt;/a&gt;, and updated the &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201204/ReportService.Column#CONVERSIONS_PER_CLICK"&gt;conversion reports columns&lt;/a&gt;. A full list of features can be found on our &lt;a href="https://developers.google.com/doubleclick-publishers/docs/rel_notes"&gt;release notes page&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Custom fields&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Custom fields is a new feature to the API that lets you add attributes to entities, such as orders and line items. For example, you can add your own &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201204/CustomFieldService.CustomField"&gt;field&lt;/a&gt;&amp;nbsp;to a &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201204/CustomFieldService.CustomFieldEntityType#LINE_ITEM"&gt;line item&lt;/a&gt;&amp;nbsp;that would let salespeople add comments as a &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201204/CustomFieldService.CustomFieldDataType#STRING"&gt;string&lt;/a&gt;. Those comments would then be placed into &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201204/LineItemService.CustomFieldValue"&gt;custom field values&lt;/a&gt;&amp;nbsp;that are &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201204/LineItemService.LineItem#customFieldValues"&gt;added&lt;/a&gt;&amp;nbsp;to each line item.  Support for custom fields will be coming or the DFP UI soon, but if you have this feature enabled on your network now, you’ll be able to start working with them right away.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Teams changes&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The way in which users are added to teams has changed starting in v201204. In previous versions, users were added to &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201203/TeamService.Team#userIds"&gt;team objects&lt;/a&gt;&amp;nbsp;directly. Now, you can &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201204/UserTeamAssociationService"&gt;associate users and teams&lt;/a&gt;, much like &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201204/LineItemCreativeAssociationService"&gt;line items and creatives&lt;/a&gt;. The new associations will also let you define &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201204/UserTeamAssociationService.UserTeamAssociation#overriddenTeamAccessType"&gt;per user permissions&lt;/a&gt;,&amp;nbsp;such as only letting some users have &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201204/UserTeamAssociationService.TeamAccessType#READ_ONLY"&gt;read-only access&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Version deprecation reminder&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;As a &lt;a href="http://googleadsdeveloper.blogspot.com/2012/02/retiring-support-for-v201103-v201104.html"&gt;reminder&lt;/a&gt;, we are retiring support for v201103, v201104, and v201107 on &lt;b&gt;May 11th&lt;/b&gt;. If you haven’t upgraded yet, now would be a great time.&lt;br /&gt;&lt;br /&gt;Our next hangout is &lt;a href="https://developers.google.com/events/ahNzfmdvb2dsZS1kZXZlbG9wZXJzcg0LEgVFdmVudBj5yC4M/"&gt;May 9th&lt;/a&gt; and we’d love to see you there. As always, let us know if you have any questions on our &lt;a href="https://groups.google.com/forum/?fromgroups#!forum/google-doubleclick-for-publishers-api"&gt;forum&lt;/a&gt;.&lt;br /&gt;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href="https://plus.google.com/100742954389084668497" style="text-align: left;"&gt;&lt;img alt="" border="0" height="20" id="BLOGGER_PHOTO_ID_5677875414712016498" src="https://lh4.googleusercontent.com/-tcqfAdWqCFc/AAAAAAAAAAI/AAAAAAABT3Y/JU6vWx64NbU/photo.jpg?sz=20" style="border: none; vertical-align: middle;" width="20" /&gt;&lt;/a&gt;&lt;span style="text-align: left;"&gt;&amp;nbsp;-&amp;nbsp;&lt;/span&gt;&lt;a href="https://plus.google.com/100742954389084668497" rel="author" style="text-align: left;"&gt;Adam Rogal&lt;/a&gt;&lt;span style="text-align: left;"&gt;, DFP API Team&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-2405551126511610766?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/_yguEnLZLwE" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/2405551126511610766?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/2405551126511610766?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/_yguEnLZLwE/announcing-v201204-of-dfp-api.html" title="Announcing v201204 of the DFP API" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh4.googleusercontent.com/-tcqfAdWqCFc/AAAAAAAAAAI/AAAAAAABT3Y/JU6vWx64NbU/s72-c/photo.jpg?sz=20" height="72" width="72" /><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/05/announcing-v201204-of-dfp-api.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A04FQ3g8fCp7ImA9WhVVEEs.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-4999849607369222651</id><published>2012-05-03T10:29:00.000-07:00</published><updated>2012-05-03T11:31:52.674-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-05-03T11:31:52.674-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mobile" /><category scheme="http://www.blogger.com/atom/ns#" term="admob_sdk" /><title>Placing ads to prevent accidental clicks in your mobile app</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
In this blog post, we will help you understand how you can monetize your mobile applications while following our ad placement guidelines to ensure a good experience for your users.&lt;br /&gt;
&lt;br /&gt;
As you may know, Google takes issues regarding program policy compliance very seriously. We have our AdSense &lt;a href="https://www.google.com/adsense/support/bin/answer.py?answer=48182"&gt;program policies&lt;/a&gt; and AdMob &lt;a href="http://support.google.com/admob/bin/answer.py?hl=en&amp;amp;answer=1307237"&gt;program policies&lt;/a&gt; to help ensure a positive experience for our publishers, our users, and our advertisers. As such, we ask that our publishers/developers comply with these policies.&lt;br /&gt;
&lt;br /&gt;
One of the most common policy violations is placing ads in a way which can trigger accidental clicks. Your ads’ proximity to the other elements within your application can influence whether or not users click on ads by accident.&lt;br /&gt;
&lt;br /&gt;
Here are some tips to decrease the chances of accidental clicks:
&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Ads should not be right next to interactive buttons, such as a “next” button, or on a game play screen where users are interacting continuously with the application. We have seen that when a user is clicking or tapping repeatedly within an application and there is an ad near or within the interaction area, there is a much higher rate of invalid activity. &lt;/li&gt;
&lt;li&gt;If the space within your application is limited, it helps to then delineate the ad from the application content by creating a thick border between the ad and the application’s interactive portion.&lt;/li&gt;
&lt;/ol&gt;
An example of a placement to avoid:&lt;br /&gt;
&lt;br /&gt;
&lt;center&gt;
&lt;img border="0" height="400" width="266" src="http://1.bp.blogspot.com/-E1o5EkEqqLA/T6LOv6X56sI/AAAAAAAAAJs/BibRlpVNkhk/s400/Screen%2Bshot%2B2012-05-03%2Bat%2B11.29.52%2BAM.png" /&gt;

&lt;/center&gt;

&lt;br /&gt;
A recommended ad placement in this scenario:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;center&gt;
&lt;img border="0" height="400" width="266" src="http://4.bp.blogspot.com/-0BO8overr-I/T6LOkcSumsI/AAAAAAAAAJg/BxrETl5c9tg/s400/Screen%2Bshot%2B2012-05-03%2Bat%2B11.28.54%2BAM.png" /&gt;

&lt;/center&gt;


&lt;br /&gt;
Please double check your ads’ implementation with the tips above. With the right implementation, you’ll be able to monetize your application properly without accidental clicks.&lt;br /&gt;
&lt;br /&gt;

&lt;span class="post-author"&gt;- Maiko Fujita, AdMob Team&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-4999849607369222651?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/R0XnX9RqXh4" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/4999849607369222651?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/4999849607369222651?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/R0XnX9RqXh4/placing-ads-to-prevent-accidental.html" title="Placing ads to prevent accidental clicks in your mobile app" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-E1o5EkEqqLA/T6LOv6X56sI/AAAAAAAAAJs/BibRlpVNkhk/s72-c/Screen%2Bshot%2B2012-05-03%2Bat%2B11.29.52%2BAM.png" height="72" width="72" /><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/05/placing-ads-to-prevent-accidental.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0UBRHo_cSp7ImA9WhVWFUs.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-3090329526525372194</id><published>2012-04-27T14:14:00.000-07:00</published><updated>2012-04-27T14:14:15.449-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-04-27T14:14:15.449-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mobile" /><category scheme="http://www.blogger.com/atom/ns#" term="admob_sdk" /><title>Know Your AdMob IDs: Publisher vs Mediation</title><content type="html">&lt;p&gt;Last week we announced the &lt;a href="http://googleadsdeveloper.blogspot.com/2012/04/build-flexible-app-business-with-latest.html"&gt;release of Google AdMob SDK 6.0&lt;/a&gt; with Ad Network Mediation.  We’ve noticed some confusion on how to use a mediation ID instead of a publisher ID, so we’d like to explain the difference between the two.&lt;/p&gt;

&lt;p&gt;A publisher ID is generated after adding a site/app and is used to request ads from the AdMob network.  A publisher ID can request banners as well as interstitials, giving you the ability to use the same ID throughout your application to get AdMob ads.  However, for better reporting, we still recommend that you use a different publisher ID for each ad placement.&lt;/p&gt;

&lt;p&gt;A mediation ID is generated after creating a mediation placement.  A mediation ID is used to retrieve the mediation configuration from the server so the AdMob SDK can make ad requests to other ad networks on your behalf.  Unlike a site/app, a mediation placement requires you to define an ad format, for example a 320x50 banner.  Trying to request an interstitial ad with a 320x50 banner mediation placement (and vice versa) will result in the following error:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;b&gt;iOS&lt;/b&gt; - &lt;i&gt;Failed to fetch interstitial ad: Unable to request an interstitial when server configuration was for kGADAdSizeBanner.&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Android&lt;/b&gt; - &lt;i&gt;onFailedToReceiveAd(There was an internal error.)&lt;/i&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Therefore, you’ll need to create multiple mediation placements if you want to use banners and interstitials in the same application with mediation.&lt;/p&gt;

&lt;p&gt;Feel free to post any questions regarding the AdMob SDK or ad network mediation to our &lt;a href="https://developers.google.com/mobile-ads-sdk/community/discussion"&gt;forum&lt;/a&gt;.  Even better, if you’d like real-time responses, join us at our upcoming &lt;a href="https://developers.google.com/events/ahNzfmdvb2dsZS1kZXZlbG9wZXJzcg0LEgVFdmVudBjShS0M/"&gt;office hours hangout&lt;/a&gt; session.&lt;/p&gt;

&lt;p&gt;&lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/112870803958713211515/"&gt;&lt;img width="20" height="20" src="https://lh4.googleusercontent.com/-VjOdMVF5_qc/AAAAAAAAAAI/AAAAAAAAAB8/aYikCy7pZmw/photo.jpg?sz=20" style="vertical-align:middle; border:none;"&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://plus.google.com/112870803958713211515/" rel="author"&gt;Eric Leichtenschlag&lt;/a&gt;, AdMob Team&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-3090329526525372194?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/d3b2m53PdKg" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/3090329526525372194?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/3090329526525372194?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/d3b2m53PdKg/know-your-admob-ids-publisher-vs.html" title="Know Your AdMob IDs: Publisher vs Mediation" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh4.googleusercontent.com/-VjOdMVF5_qc/AAAAAAAAAAI/AAAAAAAAAB8/aYikCy7pZmw/s72-c/photo.jpg?sz=20" height="72" width="72" /><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/04/know-your-admob-ids-publisher-vs.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk4MR3k4fip7ImA9WhVWFEg.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-2123190915249745155</id><published>2012-04-26T08:43:00.000-07:00</published><updated>2012-04-26T08:43:06.736-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-04-26T08:43:06.736-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mobile" /><category scheme="http://www.blogger.com/atom/ns#" term="admob_sdk" /><title>AdMob Optimisation Essentials</title><content type="html">&lt;p&gt;Whether your ads are from AdMob or another source, the focus of your app should always be on delivering the best possible user experience. Ads should be an integral part of your design process, rather than an afterthought so you can ensure that ads complement rather than compete with your content.&lt;/p&gt;&lt;br/&gt;

&lt;b&gt;Increase Coverage&lt;/b&gt;
&lt;p&gt;When choosing where to place your ad units, remember only one ad can be visible on the screen anytime. If your application involves playing a game with the controls at the bottom of the page then it is advisable you place the ad at the top. If your application carries a lot of article pages make sure you implement an ad unit on each of the article pages, sometimes these pages can be forgotten once the main pages are being served. &lt;/p&gt;&lt;br/&gt;

&lt;b&gt;Increase Fill Rate&lt;/b&gt;
&lt;p&gt;Take advantage of the Google certified ad networks feature within your AdMob account. Opting in to AdSense Backfill could help your fill rate improve substantially and therefore positively impact your earnings. Once you have the latest AdMob SDK implemented, you can access additional ad inventory from the Google Ad Network. Remember:
&lt;ul&gt;
&lt;li&gt;The backfill feature is enabled per site ID&lt;/li&gt;
&lt;li&gt;Ads served from the Google Ad Network will not respect the filter rules set by your site ID at this time.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;br/&gt;

&lt;b&gt;Increase Competition&lt;/b&gt;
&lt;p&gt;Increase competition by keeping your filter list small. Filtering decreases the number of ads that can appear, thereby decreasing your potential earnings as well. Blocking ad groups may have a negative revenue impact because blocked ads won't compete in the auction on your site, and therefore won't drive up potential earnings for that ad space. &lt;/p&gt;&lt;br/&gt;

&lt;b&gt;Optimize your refresh rate to improve your click-through-rate&lt;/b&gt;
&lt;p&gt;It is important to keep in mind that users need time to interact with your content and the ad within your application. An ad that refreshes too often can adversely affect your CTR, by not giving users a chance to view the ad and decide if they are interested in clicking it. We would recommend setting your refresh rate between 45s - 60s and this can be managed within the AdMob interface.&lt;/p&gt;&lt;br/&gt;

&lt;b&gt;Increase Traffic&lt;/b&gt;
&lt;p&gt;If your app doesn't immediately make the top 50 rankings on an app marketplace, you have plenty of promotional options. 
&lt;ul&gt;
&lt;li&gt;Advertising can drive downloads and place your app in the top 50 of an app store, where you'll likely enjoy even more downloads from people browsing the store. Read more about Google's solution to help you get discovered through &lt;a href="http://www.google.com/ads/admob/ "&gt;advertising&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Get featured: App marketplaces, ranking and review sites tend to highlight the most interesting and advanced app offerings. Try to make your app unique, see more on &lt;a href="http://developer.android.com/design/index.html"&gt;Android design&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Allow social sharing: When people reach a goal in the app (say, a game level) or find something interesting in the app, make it easy for them to share this information directly with their social networks. &lt;/li&gt;
&lt;li&gt;Cross-promotion is another easy and often free way to drive more users to your app; this occurs when you target users of other apps or properties and promote your app. For more information on promotion check out the &lt;a href="http://guidetotheappgalaxy.com"&gt;guidetotheappgalaxy.com&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;&lt;br/&gt;

&lt;p&gt;We hope these new resources help you make the most of AdMob.&lt;/p&gt;&lt;br/&gt;

&lt;span class="post-author"&gt;- Dairine Kennedy, EMEA Mobile Specialist&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-2123190915249745155?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/zODCd2ltKmM" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/2123190915249745155?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/2123190915249745155?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/zODCd2ltKmM/admob-optimisation-essentials.html" title="AdMob Optimisation Essentials" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/04/admob-optimisation-essentials.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0UDQHwzfip7ImA9WhVWE00.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-3775161742630241976</id><published>2012-04-24T15:00:00.000-07:00</published><updated>2012-04-24T14:01:11.286-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-04-24T14:01:11.286-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api" /><category scheme="http://www.blogger.com/atom/ns#" term="dfp_v201203" /><title>DFP API Test Network Update and Sandbox Shutdown</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div&gt;
We &lt;a href="http://googleadsdeveloper.blogspot.com/2012/03/new-way-to-test-dfp-api.html"&gt;announced&lt;/a&gt; in a previous post an easier way to test with the DFP API. We've iterated quickly and improved on that solution and we are also setting a date for the shutdown of the sandbox.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Test Accounts&lt;/b&gt;&lt;br /&gt;
When we initially launched the new test networks, you had to create a &lt;a href="http://www.google.com/accounts/newaccount"&gt;new Google account&lt;/a&gt; if you had any type of DFP network associated with the account. We've lifted this restriction. Now each Google account is always allowed to create a single test network using &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201203/NetworkService#makeTestNetwork"&gt;NetworkService.makeTestNetwork()&lt;/a&gt;. This means you can use the same google account for production and test networks.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sandbox Shutdown&lt;/b&gt;&lt;br /&gt;
Now that we've given you a bit of time to switch off of the sandbox environment, we're announcing that we are shutting it down on May 24th, 2012. This allows for another month of testing, but we hope you will migrate to the new test networks as soon as possible.&lt;br /&gt;
&lt;br /&gt;
Happy testing and stay tuned for more DFP API blog posts. Don't forget to join us on our next &lt;a href="https://developers.google.com/events/ahNzfmdvb2dsZS1kZXZlbG9wZXJzcg0LEgVFdmVudBj5yC4M/"&gt;Hangout&lt;/a&gt; and, as always, let us know if you want to see any new features or blog posts on our &lt;a href="https://groups.google.com/forum/?fromgroups#!forum/google-doubleclick-for-publishers-api"&gt;forum&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/104679465567407024302/"&gt;&lt;img height="20" src="https://lh5.googleusercontent.com/oQZTvGY1RNICm4p-kpeNseyIOgEfFdRDfMNyaMs0hrBVvzjZQODeEnRRPbHA0SoebObwNhQnL7bEDImdE16tYXjwViv-90GTbywThxtii7XS7MO3RzE?sz=20" style="border: none; vertical-align: middle;" width="20" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://plus.google.com/104679465567407024302/" rel="author"&gt;Paul Rashidi&lt;/a&gt;, DFP API Team&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-3775161742630241976?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/AHneyRWHpCk" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/3775161742630241976?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/3775161742630241976?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/AHneyRWHpCk/dfp-api-test-network-update-and-sandbox.html" title="DFP API Test Network Update and Sandbox Shutdown" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/04/dfp-api-test-network-update-and-sandbox.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0ADQX89eCp7ImA9WhVXGEs.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-6505121736356365237</id><published>2012-04-19T11:56:00.000-07:00</published><updated>2012-04-19T11:56:10.160-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-04-19T11:56:10.160-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mobile" /><category scheme="http://www.blogger.com/atom/ns#" term="admob_sdk" /><title>Build a flexible app business with the latest AdMob SDK</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;

&lt;i&gt;Editor’s note: reposting from &lt;a href="http://googlemobileads.blogspot.com/2012/04/build-flexible-app-business-with-latest.html"&gt;Google Mobile Ads Blog&lt;/a&gt; post by Chrix Finne. -- Stan Grinberg, Ads Developer Relations Team&lt;/i&gt;&lt;br/&gt;&lt;br/&gt;

Mobile applications are now big businesses, but the developers behind them are forced to spend more of their time dealing with increasing complexity. They need to develop for different devices with different screen sizes, choose from a myriad of advertising networks, and manage varying rich media ad creative formats.&lt;br /&gt;&lt;br /&gt;

The new &lt;a href="https://developers.google.com/mobile-ads-sdk/download"&gt;Google AdMob SDK 6.0&lt;/a&gt; release for Android and iOS is designed to reduce the complexity that app devs are managing, freeing them up to focus on continuing to grow their great app into a &lt;a href="http://youtu.be/65fxsGZojtY"&gt;great app business&lt;/a&gt;. With AdMob SDK 6.0, app developers can:&lt;br /&gt;&lt;br /&gt;

&lt;b&gt;Use multiple ad networks&lt;/b&gt;&lt;br /&gt;
We recognize that many app devs work with several ad networks to maximize fill rates, and ultimately, revenue. AdMob SDK 6.0 makes it easier to do this with our free AdMob Ad Network Mediation solution which allows app developers to allocate inventory across many top &lt;a href="https://developers.google.com/mobile-ads-sdk/download#adnetworks"&gt;3rd party ad networks&lt;/a&gt; on a country-by-country basis. App devs will retain full control and choice over the ad networks they use with a single UI that features the best-in-class AdMob reporting. For more information on AdMob Ad Network mediation, visit the &lt;a href="https://support.google.com/admob/bin/answer.py?hl=en&amp;amp;answer=2413211&amp;amp;topic=2403413&amp;amp;parent=1307209&amp;amp;rd=1"&gt;AdMob Help Center&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;

&lt;div style="text-align: center;"&gt;&lt;img height="185px;" src="https://lh3.googleusercontent.com/ANc1wQmKjltPt9KON2MwhTwyoeXMCq1N2Utx-vsJ_EcPQeoYdHDIF1_O6nFgi1Lc8cOUkxlk6p0j87h99yUZ11_CkNB6erdekV_v9gCoZ_LY-Ec8OJg" width="333px;" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;

&lt;b&gt;Get banner ads to be smart, regardless of screen size&lt;/b&gt;&lt;br /&gt;
New mobile device screen sizes pop up every day, but app developers shouldn’t have to worry about how banner ads will appear on different devices. AdMob SDK 6.0 eliminates this issue with the introduction of new banner ad formats that automatically expand to the full width of any smartphone screen, even in landscape mode. To learn how to implement these new banners, visit the &lt;a href="https://developers.google.com/mobile-ads-sdk/docs/smartbanners"&gt;AdMob Developer Site&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;

&lt;div style="text-align: center;"&gt;&lt;img height="140px;" src="https://lh3.googleusercontent.com/qFnqN_Pp-XB0YoBFAiX-_P2BrX-UkbnFeDKtBH83kqNlElsvvVAnVI13Aoe62-WHbXmBSaMVHY7ccbtMpQUUxuk46jrDn1A9pQ9YQ25CeP0GtqoQDV0" width="500px;" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;

&lt;b&gt;Serve more rich media ads&lt;/b&gt;&lt;br /&gt;
The lack of industry standards for mobile rich media ads has been a barrier for advertisers and made it challenging to app devs to run more of these engaging ads in their apps. The new AdMob SDK 6.0 is compliant with &lt;a href="http://www.iab.net/mraid"&gt;Mobile Rich Media Ad Interface Definitions (MRAID)&lt;/a&gt;, a common API for mobile rich media ads running in mobile apps. This is a &lt;a href="http://googlemobileads.blogspot.com/2011/09/industry-standards-coming-to-mobile.html"&gt;big step&lt;/a&gt; forward in reducing complexity as it establishes a standardized set of commands for developers creating rich media ads. It also means that advertisers will be able to build mobile rich media ads that can be served across networks regardless of device platform, application or technology used to display the media.&lt;br /&gt;&lt;br /&gt;

&lt;div style="text-align: center;"&gt;&lt;img height="96px;" src="https://lh3.googleusercontent.com/TkPNxC0hA9ms_py1lZKiY32Vvm_zjEu08WTzdfTM1bawer-5r8czfGNZDnP6itXLQMdaYajTO_x7LrqoBIrZj1Nkhn4Udx_bzJ_LPn--gsDFTkXQpFo" width="123px;" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;

As we announced &lt;a href="http://googlemobileads.blogspot.com/2012/03/announcing-google-admob-ads-sdk-508.html"&gt;several weeks ago&lt;/a&gt;, the iOS version of the Google AdMob SDK no longer uses the universal device identifier (UDID). We are working toward a long-term solution that will benefit users, app developers and advertisers.&lt;br /&gt;&lt;br /&gt;

To learn more about how app devs can work with AdMob to build a great app business through monetization and promotion of their app, visit our new &lt;a href="http://www.google.com/ads/admob?utm_source=madblog&amp;amp;utm_medium=blog&amp;amp;utm_campaign=sdk6"&gt;AdMob website&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;

&lt;span class='post-author'&gt;Posted by: Chrix Finne, Product Manager, Mobile Ads&lt;/span&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-6505121736356365237?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/Dyb4SrcQOEc" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/6505121736356365237?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/6505121736356365237?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/Dyb4SrcQOEc/build-flexible-app-business-with-latest.html" title="Build a flexible app business with the latest AdMob SDK" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/04/build-flexible-app-business-with-latest.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0MFRH07cSp7ImA9WhVXGE4.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-2884144321394953973</id><published>2012-04-19T04:36:00.003-07:00</published><updated>2012-04-19T04:36:55.309-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-04-19T04:36:55.309-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mobile" /><category scheme="http://www.blogger.com/atom/ns#" term="adsense_api" /><category scheme="http://www.blogger.com/atom/ns#" term="ad_exchange" /><category scheme="http://www.blogger.com/atom/ns#" term="dfa_api" /><category scheme="http://www.blogger.com/atom/ns#" term="admob_sdk" /><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api" /><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api" /><title>The Docs are Dead. Long Live the Docs!</title><content type="html">&lt;p&gt;Recent visitors to any of the Ads API documentation pages will have noticed their shiny new appearance and a message to let you know the docs have moved to a new platform:&lt;/p&gt;


&lt;p&gt;&lt;a href="http://1.bp.blogspot.com/-V9ZAR3_Hlgg/T4_1nLsHvrI/AAAAAAAAAJI/w_FK4NBChUw/s1600/image00.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="34" src="http://1.bp.blogspot.com/-V9ZAR3_Hlgg/T4_1nLsHvrI/AAAAAAAAAJI/w_FK4NBChUw/s320/image00.png" width="320" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This move is much more than a skin-deep makeover. As we’ve blogged before, the new Google Developers platform is so named to reflect our focus on you, and not just on the tools we provide.&lt;/p&gt; 

&lt;p&gt;Follow the links below to take a look at the full range of Ads API docs on Google Developers:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href="https://developers.google.com/mobile-ads-sdk/"&gt;Google AdMob Ads SDK&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="https://developers.google.com/adsense/host/overview"&gt;AdSense Host API&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="https://developers.google.com/adsense/management/overview"&gt;AdSense Management API&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="https://developers.google.com/adwords/api"&gt;AdWords API&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="https://developers.google.com/ad-exchange/"&gt;DoubleClick Ad Exchange API&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-advertisers/"&gt;DoubleClick for Advertisers API&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="https://developers.google.com/doubleclick-publishers/"&gt;DoubleClick for Publishers API&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="https://developers.google.com/interactive-media-ads/"&gt;Interactive Media Ads SDK&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
We’ll continue to try to improve the Ads API docs on Google Developers while, over time, &lt;a href="http://code.google.com/"&gt;Google Code&lt;/a&gt; returns to its original purpose as an open source project hosting service. Visits to the old Google Code docs will be redirected to the corresponding Google Developers docs throughout 2012, so be sure to update your bookmarks soon.&lt;/p&gt;
&lt;p&gt;
If you have any questions about these changes please reach out to us through any of the Ads API forums or office hours.&lt;/p&gt;
&lt;p&gt;Lesley Burr, Ads Developer Relations Team&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-2884144321394953973?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/7zu5qBeyvjQ" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/2884144321394953973?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/2884144321394953973?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/7zu5qBeyvjQ/docs-are-dead-long-live-docs.html" title="The Docs are Dead. Long Live the Docs!" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-V9ZAR3_Hlgg/T4_1nLsHvrI/AAAAAAAAAJI/w_FK4NBChUw/s72-c/image00.png" height="72" width="72" /><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/04/docs-are-dead-long-live-docs.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkEFSXszeCp7ImA9WhVXFkw.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-3399524110779003729</id><published>2012-04-16T14:10:00.000-07:00</published><updated>2012-04-16T14:10:18.580-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-04-16T14:10:18.580-07:00</app:edited><title>AdWords API - Updates in Ad Performance Report</title><content type="html">&lt;p&gt;Recently the Ad Performance Report and AdGroupAdService of the AdWords API were returning incomplete data from Dynamic Search Ads. The report and API service were not prepared to support this type of Ad, which resulted in the report returning an undocumented “Website Ad” type, and the service returning AdGroupAd objects with no set &lt;a href="http://code.google.com/apis/adwords/docs/reference/latest/AdGroupAdService.AdGroupAd.html#ad"&gt;ad&lt;/a&gt; property. This issue was fixed as of March 20th. We apologize for any inconvenience this change might have caused.&lt;/p&gt;

&lt;p&gt;Note that even though Dynamic Search Ads are no longer returned in the Ad Performance Report, their performance data (i.e. impressions, clicks, conversions) is rolled up in reports such as the Account, Campaign and Ad Group performance reports.&lt;/p&gt;

&lt;p&gt;If you have any questions about this change please reach out to us in the &lt;a href="http://code.google.com/apis/adwords/community/"&gt;forum&lt;/a&gt; or during one of our &lt;a href="http://code.google.com/apis/adwords/community/officehours.html"&gt;office hours hangouts&lt;/a&gt;.&lt;/p&gt;

&lt;br/&gt;
&lt;p&gt;&lt;span class="post-author"&gt;- The AdWords API Team&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-3399524110779003729?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/yPvRYnOAN7c" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/3399524110779003729?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/3399524110779003729?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/yPvRYnOAN7c/adwords-api-updates-in-ad-performance.html" title="AdWords API - Updates in Ad Performance Report" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/04/adwords-api-updates-in-ad-performance.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0QBRH8_fip7ImA9WhVQGUQ.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-7402027199441527049</id><published>2012-04-09T11:15:00.000-07:00</published><updated>2012-04-09T11:15:55.146-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-04-09T11:15:55.146-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="geotargeting" /><category scheme="http://www.blogger.com/atom/ns#" term="adwords_CampaignService" /><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api" /><title>Changes to advanced location targeting</title><content type="html">&lt;p&gt;Last year we exposed &lt;a href="http://adwordsapi.blogspot.com/2011/04/discover-v201101-advanced-geo-targeting.html"&gt;advanced location targeting settings&lt;/a&gt; in the AdWords API, using the &lt;a href="http://code.google.com/apis/adwords/docs/reference/latest/CampaignService.GeoTargetTypeSetting.html"&gt;GeoTargetTypeSetting&lt;/a&gt; object. Based on customer feedback we are now rolling out a series of changes to improve the power and clarity of this feature. The full details of these changes can be found on the &lt;a href="http://adwords.blogspot.com/2012/04/more-clarity-and-control-with-location.html"&gt;Inside AdWords blog&lt;/a&gt;, but some highlights are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The advanced location targeting settings now apply to Display Network traffic in addition to Google Search and the Search Network traffic.&lt;/li&gt;
&lt;li&gt;The default value of the exclusion setting will be more restrictive for new campaigns, taking into account both the physical location and the area of interest. In API terms, &lt;a href="http://code.google.com/apis/adwords/docs/reference/latest/BulkMutateJobService.GeoTargetTypeSetting.html#negativeGeoTargetType"&gt;GeoTargetTypeSetting.negativeGeoTargetType&lt;/a&gt; will default to &lt;code&gt;DONT_CARE&lt;/code&gt; for new campaigns. The value will not be updated for existing campaigns.&lt;/li&gt;
&lt;li&gt;The AdWords web interface has reworded the language used to describe these settings. If you provide a user interface you may want to update your language as well.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you have any questions about these changes please reach out to us in the &lt;a href="http://code.google.com/apis/adwords/community/"&gt;forum&lt;/a&gt; or during one of our &lt;a href="http://code.google.com/apis/adwords/community/officehours.html"&gt;office hours hangouts&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/u/0/103231502413952116096"&gt;&lt;img width="20" height="20" src="https://lh4.googleusercontent.com/-qbaZRXjidts/AAAAAAAAAAI/AAAAAAAAABo/HfCK2T4S-14/s20-c-k/photo.jpg" style="vertical-align:middle; border:none;"&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://plus.google.com/u/0/103231502413952116096" rel="author"&gt;Eric Koleda&lt;/a&gt;, AdWords API Team&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-7402027199441527049?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/QICXIi3tOCg" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/7402027199441527049?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/7402027199441527049?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/QICXIi3tOCg/changes-to-advanced-location-targeting.html" title="Changes to advanced location targeting" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/04/changes-to-advanced-location-targeting.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkEHSXozeip7ImA9WhVQFUk.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-511042626713932289</id><published>2012-04-04T04:57:00.000-07:00</published><updated>2012-04-04T04:57:18.482-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-04-04T04:57:18.482-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="adwords_MutateJobService" /><category scheme="http://www.blogger.com/atom/ns#" term="adwords_api" /><category scheme="http://www.blogger.com/atom/ns#" term="adwords_v201109" /><title>Processing updates in bulk with MutateJobService</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
The AdWords API is designed to handle a high volume of changes, and many services allow developers to submit a large number of operations in one request. Most of the AdWords API services are synchronous though, so the client sends the request to the server, waits for processing and receives the result back.&lt;br /&gt;&lt;br /&gt;

Unlike other services, the &lt;a href="http://code.google.com/apis/adwords/docs/reference/latest/MutateJobService.html"&gt;MutateJobService&lt;/a&gt; (MJS) is designed for an asynchronous workflow. This has the following benefits:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;No need to manage connections for each job - the job is executed autonomously and the results can be retrieved when ready.&lt;br /&gt;
&lt;li&gt;Multiple jobs can be submitted and executed in parallel. In fact, the service has no limit on the maximum jobs count.&lt;br /&gt;
&lt;li&gt;Transient errors like 'CONCURRENT_MODIFICATION' are automatically retried with no extra requests necessary.&lt;br /&gt;
&lt;li&gt;Workload is automatically balanced so you will never receive a 'RateExceededError' error.&lt;br /&gt;
&lt;/ul&gt;
Also, MutateJobService operations &lt;a href="http://code.google.com/apis/adwords/docs/ratesheet.html"&gt;cost&lt;/a&gt; only 50% of usual operations units cost.&lt;br /&gt;&lt;br /&gt;

&lt;strong&gt;Using MutateJobService in existing applications&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;

Replacing existing calls to synchronous services with calls to MJS is easy. In most cases you can just use the same &lt;a href="http://code.google.com/apis/adwords/docs/reference/latest/MutateJobService.html#mutate"&gt;operations&lt;/a&gt; array to submit a job. Once submitted, the application needs to check the job status periodically to see when it is complete. Once ready, the results can be retrieved with the &lt;a href="http://code.google.com/apis/adwords/docs/reference/latest/MutateJobService.html#getResult"&gt;getResult&lt;/a&gt; method.&lt;br /&gt;&lt;br /&gt;

Please see examples in &lt;a href="http://code.google.com/p/google-api-adwords-java/source/browse/trunk/examples/v201109/PerformMutateJob.java"&gt;Java&lt;/a&gt;, &lt;a href="http://code.google.com/p/google-api-adwords-php/source/browse/trunk/examples/v201109/CampaignManagement/AddKeywordsInBulk.php"&gt;PHP&lt;/a&gt;, &lt;a href="http://code.google.com/p/google-api-adwords-perl/source/browse/tags/current/examples/v201109/campaign_management/add_keywords_in_bulk.pl"&gt;Perl&lt;/a&gt;, &lt;a href="http://code.google.com/p/google-api-adwords-dotnet/source/browse/trunk/examples/adwords/csharp/v201109/CampaignManagement/AddKeywordsInBulk.cs"&gt;DotNet&lt;/a&gt;, &lt;a href="http://code.google.com/p/google-api-ads-ruby/source/browse/adwords_api/examples/v201109/campaign_management/add_keywords_in_bulk.rb"&gt;Ruby&lt;/a&gt; and &lt;a href="http://code.google.com/p/google-api-ads-python/source/browse/trunk/examples/adspygoogle/adwords/v201109/campaign_management/add_keywords_in_bulk.py"&gt;Python&lt;/a&gt; for more details.&lt;br /&gt;&lt;br /&gt;

&lt;strong&gt;Recommendations:&lt;/strong&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Don't poll for job status too often as this can result in RATE_EXCEEDED_ERROR error. We recommend pausing for 5-30 seconds between get requests.&lt;br /&gt;
&lt;li&gt;Although there is no minimum number of operations for a MJS job, it is more effective to send at least 100 operations per job. You can send up to 10,000 operations in one job.&lt;br /&gt;
&lt;li&gt;When submitting a job that operates on multiple AdGroups and Campaigns, try grouping operations in such a way as to minimize the number of different AdGroups in one job.&lt;br /&gt;
&lt;/ul&gt;
&lt;strong&gt;Note&lt;/strong&gt;: while the old BulkMutateJobService is still available we recommend to use the MutateJobService for all future developments.&lt;br /&gt;&lt;br /&gt;

MutateJobService is covered in more details in our video presentation: &lt;a href="http://www.youtube.com/watch?v=CV_kOTW3ldQ"&gt;Efficient API Usage with the MutateJobService&lt;/a&gt;. As always, please feel free to ask any questions regarding the AdWords API on our&lt;a href="http://code.google.com/apis/adwords/community/"&gt; forum&lt;/a&gt; or during scheduled&lt;a href="http://code.google.com/apis/adwords/community/officehours.html"&gt; office hours&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;

&lt;span class='post-author'&gt;&lt;a href="https://plus.google.com/116761214452114671837?rel=author"&gt;&lt;img height="20" src="https://lh5.googleusercontent.com/-Hq6rboNwMwM/AAAAAAAAAAI/AAAAAAAAAB8/h6qaLWk4PzE/photo.jpg?sz=20" width="20"  style="vertical-align:middle; border:none;" /&gt;&lt;/a&gt; - &lt;a href="https://plus.google.com/116761214452114671837?rel=author" rel="author"&gt;Danial Klimkin&lt;/a&gt;, AdWords API Team.&lt;/span&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-511042626713932289?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/xsSOjOtCpE0" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/511042626713932289?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/511042626713932289?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/xsSOjOtCpE0/processing-updates-in-bulk-with.html" title="Processing updates in bulk with MutateJobService" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh5.googleusercontent.com/-Hq6rboNwMwM/AAAAAAAAAAI/AAAAAAAAAB8/h6qaLWk4PzE/s72-c/photo.jpg?sz=20" height="72" width="72" /><georss:featurename>St Petersburg, Russia</georss:featurename><georss:point>60.0762383 30.1213829</georss:point><georss:box>59.5693143 28.8579554 60.5831623 31.3848104</georss:box><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/04/processing-updates-in-bulk-with.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkADRHs4eSp7ImA9WhVQFEQ.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-8619494000224887870</id><published>2012-04-03T16:12:00.001-07:00</published><updated>2012-04-03T16:12:55.531-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-04-03T16:12:55.531-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mobile" /><category scheme="http://www.blogger.com/atom/ns#" term="admob_sdk" /><category scheme="http://www.blogger.com/atom/ns#" term="iOS" /><title>Creating A GADBannerView Singleton in AdMob Applications</title><content type="html">&lt;p&gt;View controllers in iOS such as &lt;a href="https://developer.apple.com/library/ios/#documentation/uikit/reference/UITabBarController_Class/Reference/Reference.html"&gt;UITabBarController&lt;/a&gt; and &lt;a href="https://developer.apple.com/library/ios/#documentation/uikit/reference/UINavigationController_Class/Reference/Reference.html"&gt;UINavigationController&lt;/a&gt; allow users to navigate between screens quickly. Developers using these controllers often hesitate to create new GADBannerViews for each screen because the user may not spend enough time on each screen to see the ad, thus diluting their click-through rate (CTR). A nice alternative here is to use a &lt;a href="http://en.wikipedia.org/wiki/Singleton_pattern"&gt;singleton&lt;/a&gt; GADBannerView across the entire application. This blog post will outline the steps to get this up and running.&lt;/p&gt;

&lt;br/&gt;
&lt;b&gt;Initialization&lt;/b&gt;
&lt;br/&gt;
&lt;p&gt;Create a class that wraps around GADBannerView to add some minimal functionality. We’ll call this class GADMasterViewController in our example. Define your header file to have properties similar to what’s below:&lt;/p&gt;

&lt;pre class="prettyprint"&gt;
@interface GADMasterViewController : UIViewController&lt;GADBannerViewDelegate&gt; {
  GADBannerView *adBanner_;
  BOOL didCloseWebsiteView_;
  BOOL isLoaded_;
  id&lt;GADBannerViewDelegate&gt; currentDelegate_;
}
&lt;/pre&gt;

&lt;p&gt;You need to provide a static accessor method in your GADMasterViewController class:&lt;/p&gt;

&lt;pre class="prettyprint"&gt;
+(GADMasterViewController *)singleton {
  static dispatch_once_t pred;
  static GADMasterViewController *shared;
  // Will only be run once, the first time this is called
  dispatch_once(&amp;pred, ^{
    shared = [[GADMasterViewController alloc] init];
  });
  return shared;
}
&lt;/pre&gt;


&lt;p&gt;You also need an &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;init:&lt;/span&gt; method in GADMasterViewController. You can now initialize the GADBannerView normally. Presume the initialization gets called only once:&lt;/p&gt;

&lt;pre class="prettyprint"&gt;
-(id)init {
  if (self = [super init]) {
   adBanner_ = [[GADBannerView alloc]
                     initWithFrame:CGRectMake(0.0,
                                              0.0,
                                              GAD_SIZE_320x50.width,
                                              GAD_SIZE_320x50.height)];
    // Has an ad request already been made
    isLoaded_ = NO;
  }
  return self;
}
&lt;/pre&gt;


&lt;b&gt;Placing the Ad&lt;/b&gt;
&lt;br/&gt;
&lt;p&gt;Write a method which takes a new view controller and places the GADBannerView into that view controller’s view hierarchy. Again, this code will go into GADMasterViewController. This will be called every time you want to display an ad inside a different view controller:&lt;/p&gt;

&lt;pre class="prettyprint"&gt;
-(void)resetAdView:(UIViewController&lt;GADBannerViewDelegate&gt; *)rootViewController {
  // Always keep track of currentDelegate for notification forwarding
  currentDelegate_ = rootViewController;

  // Ad already requested, simply add it into the view
  if (isLoaded_) {
    [rootViewController.view addSubview:adBanner_];
  } else {

    adBanner_.delegate = self;
    adBanner_.rootViewController = rootViewController;
    adBanner_.adUnitID = kSampleAdUnitID;

    GADRequest *request = [GADRequest request];
    [adBanner_ loadRequest:request];
    [rootViewController.view addSubview:adBanner_];
    isLoaded_ = YES;
  }
}
&lt;/pre&gt;

&lt;p&gt;At this point, putting an ad into a view that’s not the GADMasterViewController becomes extremely easy. The code can go into any view controller’s &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;viewWillAppear:&lt;/span&gt; method (assuming the view conforms to the GADBannerViewDelegate protocol):&lt;/p&gt;

&lt;pre class="prettyprint"&gt;
- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    shared = [GADMasterViewController singleton];
    [shared resetAdView:self];
}
&lt;/pre&gt;

&lt;b&gt;Forwarding Delegate Notifications&lt;/b&gt;
&lt;br/&gt;
&lt;p&gt;An important note is that the AdMob SDK doesn’t let you change delegates after a request has been made. This means that if you switch view controllers after making an ad request, all GADBannerViewDelegate notifications will continue to be sent to the initial delegate (first view controller). A workaround for this is to make GADMasterViewController conform to the GADBannerViewDelegate protocol, then forward any notifications it receives to the correct view controller. This is the reasoning behind always setting &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;currentDelegate_&lt;/span&gt;  in &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;resetAdView:&lt;/span&gt;. Forwarding the notification takes minimal code. Here is an example of forwarding the &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;adViewDidReceiveAd:&lt;/span&gt; notification:&lt;/p&gt;

&lt;pre class="prettyprint"&gt;
- (void)adViewDidReceiveAd:(GADBannerView *)view {
  // Make sure that the delegate actually responds to this notification
  if  ) {
    [currentDelegate_ adViewDidReceiveAd:view];
  }
}
&lt;/pre&gt;

&lt;p&gt;
With these easy steps, your application is set up to use a singleton GADBannerView. If you have any questions about this topic or the SDK in general, feel free to post them in our &lt;a href="https://groups.google.com/forum/#!forum/google-admob-ads-sdk"&gt;forum&lt;/a&gt; or come join us in our upcoming &lt;a href="https://developers.google.com/events/ahNzfmdvb2dsZS1kZXZlbG9wZXJzcg0LEgVFdmVudBix3S8M/"&gt;office hours&lt;/a&gt;.&lt;/p&gt;

&lt;br/&gt;
&lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/102708799507737837368"&gt;&lt;img width="20" height="20" src="https://lh3.googleusercontent.com/-RonljIAjNbg/AAAAAAAAAAI/AAAAAAAAAps/nM93tw3iYSk/s200-c-k/photo.jpg?sz=20" style="vertical-align:middle; border:none;"&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://plus.google.com/102708799507737837368" rel="author"&gt;Raj Parameswaran&lt;/a&gt;, AdMob Team&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-8619494000224887870?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/qMA7pyLYeLo" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/8619494000224887870?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/8619494000224887870?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/qMA7pyLYeLo/creating-gadbannerview-singleton-in.html" title="Creating A GADBannerView Singleton in AdMob Applications" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/04/creating-gadbannerview-singleton-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkUCQ389eyp7ImA9WhVQEU4.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-4080476120662397719</id><published>2012-03-30T13:11:00.000-07:00</published><updated>2012-03-30T13:11:02.163-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-03-30T13:11:02.163-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="admob_sdk" /><category scheme="http://www.blogger.com/atom/ns#" term="iOS" /><title>Announcing Google AdMob Ads SDK 5.0.8</title><content type="html">&lt;i&gt;Editor’s note: We’d like to share this &lt;a href="http://googlemobileads.blogspot.com/2012/03/announcing-google-admob-ads-sdk-508.html"&gt;post&lt;/a&gt; from Mark Schaaf which announces v5.0.8 of the Google AdMob Ads SDK for iOS. -- Eric Leichtenschlag, Ads Developer Relations Team&lt;/i&gt;

&lt;p&gt;For developers who want to run ads in iOS versions of their apps, we are releasing an update to our Google AdMob Ads SDK.  This new version of the SDK is consistent with Apple’s reported decision regarding developer usage of the universal device identifier (UDID).  Our goal is to help all developers and publishers continue to reach users on mobile, grow their businesses and make money, in accordance with the policies of the mobile platforms on which they build.&lt;/p&gt;

&lt;p&gt;Developers and publishers building their businesses on the iOS platform can download the new SDK &lt;a href="https://developers.google.com/mobile-ads-sdk/download"&gt;here&lt;/a&gt;.  Stay tuned for more new SDK features and updates in the coming weeks.&lt;/p&gt;

&lt;p&gt;Posted by: Mark Schaaf, Google Mobile Ads&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-4080476120662397719?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/GZis_YzUODg" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/4080476120662397719?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/4080476120662397719?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/GZis_YzUODg/announcing-google-admob-ads-sdk-508.html" title="Announcing Google AdMob Ads SDK 5.0.8" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/03/announcing-google-admob-ads-sdk-508.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0AFSX44fSp7ImA9WhVQEU4.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-3083429026857088845</id><published>2012-03-30T12:28:00.000-07:00</published><updated>2012-03-30T12:28:38.035-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-03-30T12:28:38.035-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="test_network" /><category scheme="http://www.blogger.com/atom/ns#" term="dfp_api" /><category scheme="http://www.blogger.com/atom/ns#" term="forecast_service" /><title>Brushing up on DFP API Forecasting</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
With the addition of the new &lt;a href="http://googleadsdeveloper.blogspot.com/2012/03/new-way-to-test-dfp-api.html"&gt;test networks&lt;/a&gt; to replace the sandbox environment networks, we’d like to do a review of how to test your &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201203/ForecastService"&gt;forecasting&lt;/a&gt; on test networks.  Since the test networks don’t serve ads, you have no traffic history to provide forecasting data.  Instead, the API returns predictable results in the &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201203/ForecastService.Forecast"&gt;Forecast&lt;/a&gt; object so you can effectively test your application.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Forecast Service with Test Networks&lt;/b&gt;
&lt;br /&gt;
&lt;br /&gt;
The forecast service can be used by calling &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201203/ForecastService#getForecast"&gt;getForecast&lt;/a&gt; with a new line item or &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201203/ForecastService#getForecastById"&gt;getForecastById&lt;/a&gt; with the ID of an existing line item.  In production, these calls will tell you whether you can expect the line item to deliver the booked clicks/impressions based on how your network’s done in the past.  In the test network, the only two parameters that affect the forecast results are the &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201203/ForecastService.LineItem#lineItemType"&gt;lineItemType&lt;/a&gt; and &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201203/ForecastService.LineItem#unitsBought"&gt;unitsBought&lt;/a&gt; fields on the line item.  The expected responses are summarized below and in our &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201203/ForecastService"&gt;documentation&lt;/a&gt;.
&lt;br /&gt;
&lt;br /&gt;
&lt;style&gt;
  table {
    border-collapse: collapse;
    width: 100%
  }
  table td, table th {
    border: 1px solid black;
    padding: 5px;
  }
  table th {
    background-color: #eee;
    font-weight: bold;
  }
&lt;/style&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th colspan=2&gt;Input (Line Item Field)
&lt;/th&gt;
&lt;th colspan=3&gt;Output (Forecast Field)
&lt;/th&gt;
&lt;/th&gt;
&lt;tr&gt;
&lt;th&gt;&lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201203/ForecastService.LineItem.html#lineItemType"&gt;lineItemType&lt;/a&gt;&lt;/th&gt;
&lt;th&gt;&lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201203/ForecastService.LineItem.html#unitsBought"&gt;unitsBought&lt;/a&gt;&lt;/th&gt;
&lt;th&gt;&lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201203/ForecastService.Forecast.html#availableUnits"&gt;availableUnits&lt;/a&gt;&lt;/th&gt;
&lt;th&gt;&lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201203/ForecastService.Forecast.html#forecastUnits"&gt;forecastUnits&lt;br/&gt;(matchedUnits)&lt;/a&gt;&lt;/th&gt;
&lt;th&gt;&lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201203/ForecastService.Forecast.html#deliveredUnits"&gt;deliveredUnits&lt;/a&gt;&lt;/th&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;Sponsorship&lt;/td&gt;
&lt;td&gt;50&lt;/td&gt;
&lt;td&gt;1,200,000&lt;/td&gt;
&lt;td&gt;6,000,000&lt;/td&gt;
&lt;td&gt;600,000&lt;br/&gt;
prospective: 0&lt;/td&gt;
&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;Sponsorship&lt;/td&gt;
&lt;td&gt;!= 20 and
!= 50&lt;/td&gt;
&lt;td&gt;1,200,000&lt;/td&gt;
&lt;td&gt;1,200,000&lt;/td&gt;
&lt;td&gt;600,000&lt;br/&gt;
prospective: 0&lt;/td&gt;
&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;Not Sponsorship&lt;/td&gt;
&lt;td&gt;&lt;= 1,000,000&lt;/td&gt;
&lt;td&gt;unitsBought * 2&lt;/td&gt;
&lt;td&gt;availableUnits * 3&lt;/td&gt;
&lt;td&gt;600,000&lt;br/&gt;
prospective: 0&lt;/td&gt;
&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;Not Sponsorship&lt;/td&gt;
&lt;td&gt;&gt; 1,000,000&lt;/td&gt;
&lt;td&gt;unitsBought * 2&lt;/td&gt;
&lt;td&gt;availableUnits * 3&lt;/td&gt;
&lt;td&gt;600,000&lt;br/&gt;
prospective: 0&lt;/td&gt;
&lt;/td&gt;
&lt;/tr&gt;

&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
It is a good idea to include a test case where the forecasting service throws an exception so your application can handle error conditions correctly.  You can trigger the service to throw a &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201203/ForecastService.ForecastError.Reason.html#SERVER_NOT_AVAILABLE"&gt;SERVER_NOT_AVAILABLE&lt;/a&gt; error by setting the line item type to sponsorship and the units bought to exactly 20.  &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Dealing with Production Quota&lt;/b&gt;
&lt;br /&gt;
&lt;br /&gt;
In addition, please be mindful that in production (as opposed to test networks), forecasting is a resource intensive process on the server and too many back-to-back requests may cause the API to throw an &lt;a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201203/ForecastService#QuotaError"&gt;EXCEEDED_QUOTA&lt;/a&gt; error.  When this occurs, we recommend backing off briefly before retrying to bring the requests per second down.  Recall that the quotas are based on the number of requests per second rather than an absolute number of requests. You are less likely to get rate limited by the API with a steady stream of requests rather than with short bursts of many requests.&lt;br /&gt;
&lt;br /&gt;
We appreciate any feedback from you regarding features you’d like us to highlight or about the API in general.  Please don’t hesitate to leave us a suggestion on our &lt;a href="https://developers.google.com/doubleclick-publishers/community"&gt;forum&lt;/a&gt; or come chat with us at one of our &lt;a href="http://googleadsdeveloper.blogspot.com/search/label/dfp_api"&gt;DFP API Office Hours Hangouts&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;span class="post-author"&gt;&lt;a href="https://plus.google.com/u/0/115474229489284556707"&gt;&lt;img height="20" src="https://lh3.googleusercontent.com/-pDdv2kTjyNw/AAAAAAAAAAI/AAAAAAAAAnE/q_kK4BYy-mM/photo.jpg?sz=20" style="border: none; vertical-align: middle;" width="20"&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://plus.google.com/u/0/115474229489284556707" rel="author"&gt;Jeffrey Sham&lt;/a&gt;, DFP API Team&lt;/span&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-3083429026857088845?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/XAFPFiMVT2w" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/3083429026857088845?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/3083429026857088845?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/XAFPFiMVT2w/brushing-up-on-dfp-api-forecasting.html" title="Brushing up on DFP API Forecasting" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh3.googleusercontent.com/-pDdv2kTjyNw/AAAAAAAAAAI/AAAAAAAAAnE/q_kK4BYy-mM/s72-c/photo.jpg?sz=20" height="72" width="72" /><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/03/brushing-up-on-dfp-api-forecasting.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0MGRHw7eSp7ImA9WhVQEEg.&quot;"><id>tag:blogger.com,1999:blog-7815614485808579332.post-7971314726889545710</id><published>2012-03-29T14:44:00.000-07:00</published><updated>2012-03-29T15:17:05.201-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-03-29T15:17:05.201-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ad_exchange_soap" /><category scheme="http://www.blogger.com/atom/ns#" term="ad_exchange_rtb" /><category scheme="http://www.blogger.com/atom/ns#" term="ad_exchange" /><category scheme="http://www.blogger.com/atom/ns#" term="ad_exchange_rest" /><title>Announcing new Ad Exchange developer resources</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
The Ad Exchange Team is excited to make this set of resources available to our developer community. Below you’ll find new and better ways to work with the Ad Exchange. If you have any questions or feedback, please contact us via the &lt;a href="https://developers.google.com/ad-exchange/discussion"&gt;forum&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;

&lt;b&gt;New &lt;a href="https://developers.google.com/ad-exchange"&gt;website&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;Built on top of Google’s new developers platform &lt;a href="http://developers.google.com"&gt;developers.google.com&lt;/a&gt;, we’ve created a new site for our community. There you’ll find docs for the real-time bidding (RTB) protocol, the REST API and the SOAP API. Plus, we’ve revamped the docs to make them easier to use and understand.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;Access to the Ad Exchange REST API&lt;/b&gt;&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;This API gives you the ability to manage your RTB account configurations, submit creatives and list direct deals. Contact your technical account representative to set up access to the API. Then, try it out before you write a line of code, using the &lt;a href="http://code.google.com/apis/explorer/#_s=adexchangebuyer&amp;amp;_v=v1"&gt;API explorer&lt;/a&gt;.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;Client library support and code examples in major programming languages&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;Trying out the client libraries first might save you a lot of time compared to coding directly against the APIs. Also, check out our code examples in your preferred programming language for both the &lt;a href="https://developers.google.com/ad-exchange/buyer-soap/downloads"&gt;SOAP&lt;/a&gt; and &lt;a href="https://developers.google.com/ad-exchange/buyer-rest/downloads"&gt;REST&lt;/a&gt; APIs.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;Access to the Ad Exchange Buyer API’s Forum&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;The &lt;a href="https://developers.google.com/ad-exchange/discussion"&gt;Ad Exchange Buyer APIs Forum&lt;/a&gt; is a Google-monitored environment for public discussions where you can ask - and, if you like, answer - questions regarding the REST and SOAP APIs.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;span class="post-author"&gt;&lt;a href="https://profiles.google.com/david.t.developer.support"&gt;&lt;img height="20" src="https://lh5.googleusercontent.com/-ahPvNYi7enw/AAAAAAAAAAI/AAAAAAAAAAk/ML8VpQbTG9M/photo.jpg?sz=20" style="border-bottom-style: none; border-color: initial; border-image: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; vertical-align: middle;" width="20" /&gt;&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;a href="https://profiles.google.com/david.t.developer.support" rel="author"&gt;David Torres&lt;/a&gt;, Ad Exchange Team&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7815614485808579332-7971314726889545710?l=googleadsdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleAdsDeveloperBlog/~4/gvT5JmaMKuY" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/7971314726889545710?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7815614485808579332/posts/default/7971314726889545710?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleAdsDeveloperBlog/~3/gvT5JmaMKuY/announcing-new-ad-exchange-developer.html" title="Announcing new Ad Exchange developer resources" /><author><name>Google Ads Developer Advisor</name><uri>http://www.blogger.com/profile/16700526826531306391</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh5.googleusercontent.com/-ahPvNYi7enw/AAAAAAAAAAI/AAAAAAAAAAk/ML8VpQbTG9M/s72-c/photo.jpg?sz=20" height="72" width="72" /><feedburner:origLink>http://googleadsdeveloper.blogspot.com/2012/03/announcing-new-ad-exchange-developer.html</feedburner:origLink></entry></feed>

