<?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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;A0UBQ3ozfip7ImA9WxJVGUQ.&quot;"><id>tag:blogger.com,1999:blog-10373715</id><updated>2009-07-07T13:40:52.486-07:00</updated><title type="text">AdWords API Blog</title><subtitle type="html">The official source of information about the AdWords API.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://adwordsapi.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://adwordsapi.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>AdWords API Team</name><uri>http://www.blogger.com/profile/04123046695062808103</uri><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>243</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><link rel="self" href="http://feeds.feedburner.com/blogspot/Xqnd" type="application/atom+xml" /><feedburner:emailServiceId>blogspot/Xqnd</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry gd:etag="W/&quot;A0UBQ3oycCp7ImA9WxJVGUQ.&quot;"><id>tag:blogger.com,1999:blog-10373715.post-3881993157254693863</id><published>2009-07-07T13:40:00.001-07:00</published><updated>2009-07-07T13:40:52.498-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-07T13:40:52.498-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="downtime" /><title>AdWords Downtime: July 11, 10am-2pm PDT</title><content type="html">&lt;div&gt;We'll be performing routine system maintenance on Saturday, July 11 from approximately 10:00am to 2:00pm PDT. You won't be able to access AdWords or the API during this time frame, but your ads will continue to run as normal.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Cheers,&lt;/div&gt;&lt;div&gt;-Jeffrey Posnick, AdWords API Team&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10373715-3881993157254693863?l=adwordsapi.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Xqnd?a=oM7dKmiISQY:iBKZH4LnACQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Xqnd?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Xqnd?a=oM7dKmiISQY:iBKZH4LnACQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Xqnd?i=oM7dKmiISQY:iBKZH4LnACQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Xqnd/~4/oM7dKmiISQY" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/3881993157254693863?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/3881993157254693863?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Xqnd/~3/oM7dKmiISQY/adwords-downtime-july-11-10am-2pm-pdt.html" title="AdWords Downtime: July 11, 10am-2pm PDT" /><author><name>AdWords API Team</name><uri>http://www.blogger.com/profile/04123046695062808103</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="14820665645454774099" /></author><feedburner:origLink>http://adwordsapi.blogspot.com/2009/07/adwords-downtime-july-11-10am-2pm-pdt.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkEERX85fip7ImA9WxJVE0s.&quot;"><id>tag:blogger.com,1999:blog-10373715.post-6223410161244194371</id><published>2009-06-30T06:30:00.000-07:00</published><updated>2009-06-30T06:30:04.126-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-30T06:30:04.126-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="v2009 launch" /><title>AdWords API v2009 Launch</title><content type="html">&lt;span class="Apple-style-span"   style="  ;font-family:Verdana;font-size:13px;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;p  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;  font-family:Verdana;"&gt;&lt;span class="Apple-style-span"  style="font-family:Verdana;"&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:13px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span class="Apple-style-span"  style="font-family:Verdana;"&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana;font-size:100%;"&gt;&lt;p  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; direction: inherit;  font-family:Verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:13px;"&gt;&lt;span class="Apple-style-span"  style=" color: rgb(51, 51, 51); font-family:Verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;p style="margin-top: 0px; padding-top: 0px; "&gt;&lt;span class="Apple-style-span"  style=" ;font-size:13px;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; direction: inherit;  font-family:Verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(0, 0, 0); "&gt;Hello all,&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; direction: inherit;  font-family:Verdana;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; direction: inherit;  font-family:Verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(0, 0, 0); "&gt;The AdWords API team is &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); "&gt;pleased to announce the launch of AdWords API v2009 in production!  v2009 offers more speed, scale, and flexibility to developers, at a lower cost.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p face="Verdana" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; direction: inherit;  "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; direction: inherit;  font-family:Verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(0, 0, 0); "&gt;Back in April, we released a sandbox for our newest version of the AdWords API so you could begin experimenting.  &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;As mentioned in that &lt;a href="http://adwordsapi.blogspot.com/2009/04/hello-all-as-we-mentioned-in-our.html" id="wtk:" title="blog post"&gt;blog post&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;, we're using a new version naming convention to highlight the significant differences between this version, called AdWords API v2009, and v13.&lt;span style="color: rgb(0, 0, 0); "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; direction: inherit;  font-family:Verdana;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; direction: inherit;  font-family:Verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(0, 0, 0); "&gt;This launch is a &lt;span style="background-color: rgb(255, 255, 255); "&gt;production &lt;/span&gt;beta, and we're asking developers to sign up for access &lt;a href="http://code.google.com/apis/adwords/v2009/docs/signup.html" id="h644" title="here"&gt;here&lt;/a&gt;.  We'll add you to our whitelist on a rolling basis,and send each of you a confirmation email once you've been added.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p face="Verdana" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; direction: inherit;  "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p face="Verdana" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; direction: inherit;  "&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(0, 0, 0); "&gt;We've made a few policy changes in the API v2009 as well: &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; direction: inherit; font-family: Verdana; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;ul  style="margin-top: 0px; margin-bottom: 0px;  font-family:Verdana;"&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;Revised  Terms and Conditions&lt;/b&gt; - We've updated our &lt;a href="http://code.google.com/apis/adwords/docs/terms.html" id="ayos" title="Terms and Conditions"&gt;Terms and Conditions&lt;/a&gt; to improve clarity.  This change includes a more comprehensive explanation of our policy regarding the commingling of data, and also redefines the &lt;b&gt;required minimum AdWords functionality&lt;/b&gt; for third party developers.  You can see the list of required and optional features &lt;a href="http://code.google.com/apis/adwords/docs/requirements.html" id="gbk3" title="here"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;Lower costs &lt;/b&gt;- v2009 comes with a new &lt;a href="http://code.google.com/apis/adwords/docs/developer/adwords_api_ratesheet.html" id="qc7n" title="Rate Sheet"&gt;Rate Sheet&lt;/a&gt; that reflects the improved efficiency of the new system.  We've lowered the cost of v2009 for the average developer by approximately 20% through reducing the unit cost of our most commonly called operations -- add criteria, add add, and set adgroup.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div  style="margin-top: 0px; margin-bottom: 0px; direction: inherit;  font-family:Verdana;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div  style="margin-top: 0px; margin-bottom: 0px; direction: inherit;  font-family:Verdana;"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:85%;"&gt;Getting started with v2009:&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div face="Verdana" style="margin-top: 0px; margin-bottom: 0px; direction: inherit;  "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; direction: inherit; "&gt;&lt;span style="font-size:85%;"&gt;Once you'v&lt;span style="background-color: rgb(255, 255, 255); "&gt;e &lt;/span&gt;&lt;a href="http://code.google.com/apis/adwords/v2009/docs/signup.html" id="h9.:" title="applied for access"&gt;applied for access&lt;/a&gt;, you can find comprehensive developer documentation on our &lt;a href="http://code.google.com/apis/adwords/v2009/" id="kued" title="v2009 homepage"&gt;v2009 homepage&lt;/a&gt;.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; direction: inherit; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; direction: inherit; "&gt;&lt;span style="font-size:85%;"&gt;While you're waiting for access to the v2009 beta, we encourage you to begin experimenting immediately with the v2009 sandbox. The sandbox doesn't charge for quota, and all you need to access it is your current Google account username and password.  Please remember that the sandbox is a testing and development environment, so changes made there won't affect your live AdWords account. You can read more about sandbox best practices &lt;a href="http://adwordsapi.blogspot.com/2009/03/adwords-api-sandbox-best-practices.html" id="t7g0" title="here"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; direction: inherit; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; direction: inherit; "&gt;&lt;/p&gt;&lt;span class="Apple-style-span"  style="font-size:13px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:85%;"&gt;What to expect next:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; direction: inherit; color: rgb(0, 0, 0); "&gt;&lt;span style="font-size:85%;"&gt;Over the next few months, we'll continue to introduce new features and additional AdWord&lt;span style="background-color: rgb(255, 255, 255); "&gt;s functionality&lt;/span&gt;.  Prior to moving added features to production, they'll be released to the v2009 sandbox so that you can try them out in advance.  As they become available, we'll announce them on &lt;a href="http://adwordsapi.blogspot.com/" id="xoa9" title="our blog"&gt;our blog&lt;/a&gt;.  Some of the most notable are:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; direction: inherit; color: rgb(0, 0, 0); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; direction: inherit; "&gt;&lt;ul style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;Partial failure acceptance&lt;/b&gt; - We plan to support partial failures, which means that large posts won't be completely rolled back due to a few small errors. This allows you to keep moving forward with development without halting to re-do posts.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;Asynchronous calls&lt;/b&gt; - We’ll offer asynchronous calls, which will allow you to work with large sets of data faster and more easily. Instead of having to wait for our system to fully complete your request before you can make another one, you’ll be able to make another call as soon as the API service confirms that it’s received your previous call. No more waiting for large requests to be finished. (Synchronous methods will still be supported as well.)&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;ul style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;Keyword Tools&lt;/b&gt; - With new keyword management tools, you'll be able to directly access new&lt;span style="background-color: rgb(255, 255, 255); "&gt; URL-specific&lt;/span&gt; keyword suggestions from the AdWords Keyword Tool and the &lt;a href="http://www.google.com/sktool" id="lfq9" title="Search-based Keyword Tool" style="color: rgb(85, 26, 139); "&gt;Search-based Keyword Tool&lt;/a&gt; through the API.&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;MCC &lt;/b&gt;and &lt;b&gt;Reporting&lt;/b&gt; functionality.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; direction: inherit; color: rgb(0, 0, 0); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; direction: inherit; color: rgb(0, 0, 0); "&gt;&lt;span style="font-size:85%;"&gt;While we continue to roll out these offerings, both AdWords API v13 and v2009 will be fully supported. We'll begin the sunset countdown for v13 once we remove the v2009 whitelist and all developer have acquired access. Because we're introducing more changes than usual with this version, we'll extend the normal sunset period for v13, so it won't sunset until early 2010.  By signing up for the v2009 whitelist now, you have the opportunity to get a head start on development.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; direction: inherit; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; direction: inherit; "&gt;&lt;span style="font-size:85%;"&gt;Best,&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; direction: inherit; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; direction: inherit; "&gt;&lt;span style="font-size:85%;"&gt;Doug Raymond&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; direction: inherit; "&gt;&lt;span style="font-size:85%;"&gt;Product Manager, AdWords API&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10373715-6223410161244194371?l=adwordsapi.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Xqnd?a=VH3-KacE7l0:CqYaqNXRXWU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Xqnd?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Xqnd?a=VH3-KacE7l0:CqYaqNXRXWU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Xqnd?i=VH3-KacE7l0:CqYaqNXRXWU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Xqnd/~4/VH3-KacE7l0" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/6223410161244194371?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/6223410161244194371?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Xqnd/~3/VH3-KacE7l0/adwords-api-v2009-launch.html" title="AdWords API v2009 Launch" /><author><name>AdWords API Team</name><uri>http://www.blogger.com/profile/04123046695062808103</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="14820665645454774099" /></author><feedburner:origLink>http://adwordsapi.blogspot.com/2009/06/adwords-api-v2009-launch.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUMHQXk5cCp7ImA9WxJWF0U.&quot;"><id>tag:blogger.com,1999:blog-10373715.post-9035309853338697670</id><published>2009-06-23T11:56:00.000-07:00</published><updated>2009-06-23T11:57:10.728-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-23T11:57:10.728-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="v2009" /><category scheme="http://www.blogger.com/atom/ns#" term="sandbox" /><title>AdWords API v2009 Sandbox Update</title><content type="html">&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: 13px; "&gt;&lt;span style="font-family: arial, sans-serif; "&gt;We are making major updates to the v2009 Sandbox environment starting today and continuing throughout the week. Because of these changes, the v200902 Sandbox environment will be unavailable. We will post more information about what's new in the v2009 Sandbox environment once the work is complete--please stay tuned, and apologies for the downtime.&lt;/span&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-family: arial, sans-serif; "&gt;The v13 Sandbox environment should remain functional throughout this process.&lt;/span&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span"  style="font-family:arial, sans-serif;"&gt;&lt;i&gt;-The AdWords API Team&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10373715-9035309853338697670?l=adwordsapi.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Xqnd?a=6oIYmLYMXv4:o_yoL6EJ2Qk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Xqnd?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Xqnd?a=6oIYmLYMXv4:o_yoL6EJ2Qk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Xqnd?i=6oIYmLYMXv4:o_yoL6EJ2Qk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Xqnd/~4/6oIYmLYMXv4" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/9035309853338697670?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/9035309853338697670?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Xqnd/~3/6oIYmLYMXv4/adwords-api-v2009-sandbox-update.html" title="AdWords API v2009 Sandbox Update" /><author><name>AdWords API Team</name><uri>http://www.blogger.com/profile/04123046695062808103</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="14820665645454774099" /></author><feedburner:origLink>http://adwordsapi.blogspot.com/2009/06/adwords-api-v2009-sandbox-update.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QGSXk_fCp7ImA9WxJXFkg.&quot;"><id>tag:blogger.com,1999:blog-10373715.post-7930984840022250095</id><published>2009-06-10T09:28:00.001-07:00</published><updated>2009-06-10T09:28:48.744-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-10T09:28:48.744-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="downtime" /><title>AdWords Downtime: June 13, 10am-2pm PDT</title><content type="html">&lt;div&gt;We'll be performing routine system maintenance on Saturday, June 13 from approximately 10:00am to 2:00pm PDT. You won't be able to access AdWords or the API during this time frame, but your ads will continue to run as normal.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Cheers,&lt;/div&gt;&lt;div&gt;-Jeffrey Posnick, AdWords API Team&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10373715-7930984840022250095?l=adwordsapi.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Xqnd?a=85-xZ1P4e40:dG3OGwEaHYw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Xqnd?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Xqnd?a=85-xZ1P4e40:dG3OGwEaHYw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Xqnd?i=85-xZ1P4e40:dG3OGwEaHYw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Xqnd/~4/85-xZ1P4e40" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/7930984840022250095?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/7930984840022250095?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Xqnd/~3/85-xZ1P4e40/adwords-downtime-june-13-10am-2pm-pdt.html" title="AdWords Downtime: June 13, 10am-2pm PDT" /><author><name>AdWords API Team</name><uri>http://www.blogger.com/profile/04123046695062808103</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="14820665645454774099" /></author><feedburner:origLink>http://adwordsapi.blogspot.com/2009/06/adwords-downtime-june-13-10am-2pm-pdt.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D04HRns8eip7ImA9WxJXFkk.&quot;"><id>tag:blogger.com,1999:blog-10373715.post-6107839796756344958</id><published>2009-06-10T07:55:00.000-07:00</published><updated>2009-06-10T07:58:57.572-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-10T07:58:57.572-07:00</app:edited><title>Client Library Updates: Part 2</title><content type="html">Last month we announced an update of our client libraries to improve their feature sets and make them more consistent across the various programming languages we support. This coincided with the release of the v2009 Sandbox, and a lot of those changes were meant to ensure that the client libraries were still just as easy to use, but also supported the newly-released v200902 API version.&lt;br /&gt;&lt;br /&gt;We've continued our work on the client libraries and are now making more features available:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Utility methods that make use of the API to retrieve a breakdown of API usage per method or per client.&lt;/li&gt;&lt;li&gt;The ability to retrieve report data in CSV format.&lt;/li&gt;&lt;li&gt;Utility methods for retrieving several types of codes used with the API (cities, metros, timezones, etc.).&lt;/li&gt;&lt;li&gt;Full NDoc/JavaDoc/RDoc/Epydoc/perldoc documentation for the client library code.&lt;/li&gt;&lt;li&gt;Unit tests for the core library functionality and utility modules.&lt;/li&gt;&lt;li&gt;Finer-grained handling of API exceptions.&lt;/li&gt;&lt;li&gt;Improved runtime validation on the client side.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Some of these features are already present in a few client libraries, but we're now making them all available across Java, .NET, Python, Ruby and, where applicable, our newly released Perl libraries (which only support v200902).&lt;br /&gt;&lt;br /&gt;You can find all the client libraries at the usual place: &lt;a title="http://code.google.com/apis/adwords/docs/clients.html" href="http://code.google.com/apis/adwords/docs/clients.html" id="tls9"&gt;http://code.google.com/apis/adwords/docs/clients.html&lt;/a&gt;. Don't miss out on all the cool new stuff!&lt;br /&gt;&lt;br /&gt;&lt;i&gt;-- Sérgio Gomes, AdWords API Team&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10373715-6107839796756344958?l=adwordsapi.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Xqnd?a=ywoTHmAreY4:7guO5BdSNlc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Xqnd?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Xqnd?a=ywoTHmAreY4:7guO5BdSNlc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Xqnd?i=ywoTHmAreY4:7guO5BdSNlc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Xqnd/~4/ywoTHmAreY4" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/6107839796756344958?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/6107839796756344958?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Xqnd/~3/ywoTHmAreY4/client-library-updates-part-2.html" title="Client Library Updates: Part 2" /><author><name>AdWords API Team</name><uri>http://www.blogger.com/profile/04123046695062808103</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="14820665645454774099" /></author><feedburner:origLink>http://adwordsapi.blogspot.com/2009/06/client-library-updates-part-2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cNQHc4eCp7ImA9WxJRGU4.&quot;"><id>tag:blogger.com,1999:blog-10373715.post-1282604891587102319</id><published>2009-05-21T13:51:00.000-07:00</published><updated>2009-05-21T13:51:31.930-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-21T13:51:31.930-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="twitter" /><title>We Tweet</title><content type="html">For those who consider &lt;a href="http://adwordsapi.blogspot.com/" id="f.bu" title="blogs"&gt;blogs&lt;/a&gt; or &lt;a href="http://groups.google.com/group/adwords-api/" id="xdab" title="discussion groups"&gt;discussion groups&lt;/a&gt; passé, we wanted to let you know that you can now stay up to date on the latest AdWords API announcements by following &lt;a href="http://twitter.com/adwordsapi" id="j6mm" title="@adwordsapi"&gt;@adwordsapi&lt;/a&gt; on Twitter.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10373715-1282604891587102319?l=adwordsapi.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Xqnd?a=54-2hEwM1QY:1FleVIPtQkE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Xqnd?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Xqnd?a=54-2hEwM1QY:1FleVIPtQkE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Xqnd?i=54-2hEwM1QY:1FleVIPtQkE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Xqnd/~4/54-2hEwM1QY" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/1282604891587102319?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/1282604891587102319?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Xqnd/~3/54-2hEwM1QY/we-tweet.html" title="We Tweet" /><author><name>AdWords API Team</name><uri>http://www.blogger.com/profile/04123046695062808103</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="14820665645454774099" /></author><feedburner:origLink>http://adwordsapi.blogspot.com/2009/05/we-tweet.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkAMSXg-cCp7ImA9WxJRF0o.&quot;"><id>tag:blogger.com,1999:blog-10373715.post-8288182810990164105</id><published>2009-05-19T15:06:00.000-07:00</published><updated>2009-05-19T15:06:28.658-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-19T15:06:28.658-07:00</app:edited><title>AdWords API on App Engine (Python)</title><content type="html">Most of you have probably heard about &lt;a href="http://code.google.com/appengine/"&gt;Google App Engine&lt;/a&gt;, which lets you write web applications that run on Google's infrastructure.  But did you know that the code which you develop using the AdWords API can be easily hosted on App Engine, thus making it many times easier to build, maintain, and scale your application as your traffic grows?&lt;br /&gt;
&lt;br /&gt;
Today, we'd like to release a &lt;a href="http://google-api-adwords-python-lib.googlecode.com/files/awapi_python_appengine_demo_1.0.0.tar.gz"&gt;demo application&lt;/a&gt; that can be hosted on App Engine and is uses the AdWords API to communicate with the Sandbox environment (it is just as easy to access production AdWords accounts).  In this demo, we access a given Sandbox account using the AdWords API and illustrate the following operations and features:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Retrieve existing campaigns.&lt;/li&gt;
&lt;li&gt;Retrieve stats for each campaign.&lt;/li&gt;
&lt;li&gt;Add new campaigns.&lt;/li&gt;
&lt;li&gt;Update a campaign's budget.&lt;/li&gt;
&lt;li&gt;Retrieve existing ad groups.&lt;/li&gt;
&lt;li&gt;Add new ad groups.&lt;/li&gt;
&lt;li&gt;Keep track of API usage for each user in a datastore. &lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
We hope this demo will start you off in creating innovative and cool applications that take advantage of the AdWords API's ease of use and Google's infrastructure.&lt;br /&gt;
&lt;br /&gt;
-- Stan Grinberg, AdWords API Team&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10373715-8288182810990164105?l=adwordsapi.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Xqnd?a=hFWyIhEcfkQ:unUy6OshZTo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Xqnd?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Xqnd?a=hFWyIhEcfkQ:unUy6OshZTo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Xqnd?i=hFWyIhEcfkQ:unUy6OshZTo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Xqnd/~4/hFWyIhEcfkQ" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/8288182810990164105?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/8288182810990164105?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Xqnd/~3/hFWyIhEcfkQ/adwords-api-on-app-engine-python.html" title="AdWords API on App Engine (Python)" /><author><name>AdWords API Team</name><uri>http://www.blogger.com/profile/04123046695062808103</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="14820665645454774099" /></author><feedburner:origLink>http://adwordsapi.blogspot.com/2009/05/adwords-api-on-app-engine-python.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkUGQng5fyp7ImA9WxJRE04.&quot;"><id>tag:blogger.com,1999:blog-10373715.post-5135951160396903726</id><published>2009-05-14T12:43:00.000-07:00</published><updated>2009-05-14T12:43:43.627-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-14T12:43:43.627-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="client libraries" /><title>Client Library Updates: Part 1</title><content type="html">&lt;span class="Apple-style-span"   style="  ;font-family:Verdana;font-size:13px;"&gt;&lt;div id="r.z5" style="margin-top: 0px; margin-bottom: 0px; direction: inherit; "&gt;There are a lot &lt;span id="u6_r" style="background-color: rgb(255, 255, 255); "&gt;of&lt;/span&gt; changes going on with the AdWords API lately and &lt;span id="h2q-" style="background-color: rgb(255, 255, 255); "&gt;we'd like to take a minute to talk about what else we have in store&lt;/span&gt;. In recent news, we released the &lt;span id="qa.c" style="font-weight: normal; "&gt;API v2009 Sandbox and we appreciate all the great feedback we are getting (keep it coming!). With the release the v200902 API, we also have begun updating the client libraries for each of the supported languages. The client libraries have always made it simple for both first time developers and experts to use our API and we are now adding even more features to improve your API experience.&lt;/span&gt;&lt;/div&gt;&lt;div id="ldp1" style="text-align: left; margin-top: 0px; margin-bottom: 0px; direction: inherit; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div id="g8_8" style="text-align: left; margin-top: 0px; margin-bottom: 0px; direction: inherit; "&gt;Above all, we want to allow you to experiment with the API v2009 Sandbox while still being able to make production calls to the v13 version. To that extent, each client library now has cross-version compatibility so that v200902 code and v13 code can be run together. It still stands, though, that v200902 can only operate within the Sandbox. Included in each client library are some examples showing you how to use the v13 code along with v200902 to supplement your learning.&lt;/div&gt;&lt;div id="u-ah" style="text-align: left; margin-top: 0px; margin-bottom: 0px; direction: inherit; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div id="r.z5" style="margin-top: 0px; margin-bottom: 0px; direction: inherit; "&gt;In addition to our existing list of supported client libraries, a new Perl client library, found here &lt;a id="a.80" href="http://code.google.com/p/google-api-adwords-perl/" title="http://code.google.com/p/google-api-adwords-perl/"&gt;http://code.google.com/p/google-api-adwords-perl/&lt;/a&gt;, has been developed specifically for use with v200902. This library does not include support for the v13 services, but it does offer most of the functionality that our other client libraries offer.&lt;/div&gt;&lt;div id="ky68" style="text-align: left; margin-top: 0px; margin-bottom: 0px; direction: inherit; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div id="oe3x" style="text-align: left; margin-top: 0px; margin-bottom: 0px; direction: inherit; "&gt;&lt;span id="senh" tyle="text-align: left; margin-top: 0px; margin-bottom: 0px; direction: inherit; "&gt;The support for v200902 in the APIlity (PHP) client library is in the works as well.&lt;/span&gt;&lt;/div&gt;&lt;div id="cmnh" style="text-align: left; margin-top: 0px; margin-bottom: 0px; direction: inherit; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div id="oe35" style="text-align: left; margin-top: 0px; margin-bottom: 0px; direction: inherit; "&gt;Here's some other features that you'll find in the new refresh of each client library:&lt;/div&gt;&lt;div id="nfxi" style="text-align: left; margin-top: 0px; margin-bottom: 0px; direction: inherit; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div id="g91:" style="text-align: left; margin-top: 0px; margin-bottom: 0px; direction: inherit; "&gt;&lt;ul style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px; "&gt;Improved logging support.&lt;br /&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px; "&gt;Reports can now be downloaded through the client library.&lt;br /&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px; "&gt;Full support for UTF-8 encoding.&lt;br /&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px; "&gt;Thread-safe architecture.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div id="lfqz" style="text-align: left; margin-top: 0px; margin-bottom: 0px; direction: inherit; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div id="i9e-" style="text-align: left; margin-top: 0px; margin-bottom: 0px; direction: inherit; "&gt;&lt;div id="kk:e" style="margin-top: 0px; margin-bottom: 0px; direction: inherit; "&gt;As always, you can find a list of supported client libraries here: &lt;a href="http://code.google.com/apis/adwords/docs/clients.html" id="n0ps"&gt;http://code.google.com/apis/adwords/docs/clients.html&lt;/a&gt;&lt;/div&gt;&lt;div id="f39u" style="margin-top: 0px; margin-bottom: 0px; direction: inherit; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div id="he58" style="margin-top: 0px; margin-bottom: 0px; direction: inherit; "&gt;We'll be releasing more features as the client library update continues, so stay tuned!&lt;br /&gt;&lt;/div&gt;&lt;div id="p5-l" style="margin-top: 0px; margin-bottom: 0px; direction: inherit; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div id="y2fx" style="margin-top: 0px; margin-bottom: 0px; direction: inherit; "&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;-- Adam Rogal, AdWords API Team&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10373715-5135951160396903726?l=adwordsapi.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Xqnd?a=Yt7ruxvQF40:O30kc6zTC9k:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Xqnd?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Xqnd?a=Yt7ruxvQF40:O30kc6zTC9k:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Xqnd?i=Yt7ruxvQF40:O30kc6zTC9k:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Xqnd/~4/Yt7ruxvQF40" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/5135951160396903726?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/5135951160396903726?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Xqnd/~3/Yt7ruxvQF40/client-library-updates-part-1.html" title="Client Library Updates: Part 1" /><author><name>AdWords API Team</name><uri>http://www.blogger.com/profile/04123046695062808103</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="14820665645454774099" /></author><feedburner:origLink>http://adwordsapi.blogspot.com/2009/05/client-library-updates-part-1.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEMBQ346fip7ImA9WxJREk4.&quot;"><id>tag:blogger.com,1999:blog-10373715.post-2789432536426733330</id><published>2009-05-13T10:40:00.001-07:00</published><updated>2009-05-13T10:40:52.016-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-13T10:40:52.016-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="downtime" /><title>AdWords Downtime: May 16, 10am-2pm PDT</title><content type="html">We'll be performing routine system maintenance on Saturday, May 16 from approximately 10:00am to 2:00pm PDT. You won't be able to access AdWords or the API during this time frame, but your ads will continue to run as normal.&lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;-Jeffrey Posnick, AdWords API Team&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10373715-2789432536426733330?l=adwordsapi.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Xqnd?a=Hq9BoCVd0Bs:iY2TSiFTmco:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Xqnd?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Xqnd?a=Hq9BoCVd0Bs:iY2TSiFTmco:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Xqnd?i=Hq9BoCVd0Bs:iY2TSiFTmco:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Xqnd/~4/Hq9BoCVd0Bs" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/2789432536426733330?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/2789432536426733330?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Xqnd/~3/Hq9BoCVd0Bs/adwords-downtime-may-16-10am-2pm-pdt.html" title="AdWords Downtime: May 16, 10am-2pm PDT" /><author><name>AdWords API Team</name><uri>http://www.blogger.com/profile/04123046695062808103</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="14820665645454774099" /></author><feedburner:origLink>http://adwordsapi.blogspot.com/2009/05/adwords-downtime-may-16-10am-2pm-pdt.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEcFSXY8fyp7ImA9WxJSF08.&quot;"><id>tag:blogger.com,1999:blog-10373715.post-5277486649552087980</id><published>2009-05-07T12:53:00.000-07:00</published><updated>2009-05-07T12:53:38.877-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-07T12:53:38.877-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="budget optimizer" /><category scheme="http://www.blogger.com/atom/ns#" term="changes" /><title>Upcoming Budget Optimizer Changes</title><content type="html">We want to take a minute to notify all AdWords API developers about an upcoming change in the way bids are handled in campaigns that make use of the &lt;a href="http://adwords.google.com/support/bin/answer.py?answer=16271" id="rffu" title="Budget Optimizer"&gt;Budget Optimizer&lt;/a&gt;. If none of your campaigns use the Budget Optimizer, or if you never plan on turning the Budget Optimizer off, then feel free to stop reading (and get back to trying out the new &lt;a href="http://adwordsapi.blogspot.com/2009/04/hello-all-as-we-mentioned-in-our.html" id="dh0u" title="v2009 Sandbox"&gt;v2009 Sandbox&lt;/a&gt;!).&lt;br /&gt;&lt;br /&gt;Each &lt;span style="font-family:Courier New;"&gt;&lt;a href="http://code.google.com/apis/adwords/docs/developer/Campaign.html" id="g3gp" title="Campaign"&gt;Campaign&lt;/a&gt;&lt;/span&gt; object has a &lt;span style="font-family:Courier New;"&gt;&lt;a href="http://code.google.com/apis/adwords/docs/developer/BudgetOptimizerSettings.html" id="pwkp" title="budgetOptimizerSettings"&gt;budgetOptimizerSettings&lt;/a&gt;&lt;/span&gt; property, which in turn has a &lt;span style="font-family:Courier New;"&gt;&lt;a href="http://code.google.com/apis/adwords/docs/developer/BudgetOptimizerSettings.html#takeOnOptimizedBids" id="hcux" title="takeOnOptimizedBids"&gt;takeOnOptimizedBids&lt;/a&gt;&lt;/span&gt; setting. Currently, if &lt;span style="font-family:Courier New;"&gt;takeOnOptimizedBids&lt;/span&gt; is set to &lt;span style="font-family:Courier New;"&gt;false&lt;/span&gt; and you turn off the Budget Optimizer in a campaign, the original bids that were manually set for the ad groups and criteria contained in the campaign will be restored. In other words, the AdWords API will save your old bids from before the Budget Optimizer was turned on, and restore them when it is turned off. If &lt;span style="font-family:Courier New;"&gt;takeOnOptimizedBids &lt;/span&gt;is set to &lt;span style="font-family:Courier New;"&gt;true&lt;/span&gt;, however, the old bids will not be restored when the Budget Optimizer is turned off. Instead, the last bids that were automatically set by the Budget Optimizer will persist for the ad groups and criteria in your campaign.&lt;br /&gt;&lt;br /&gt;You can, if you wish, use the AdWords API to manually update the bids for ad groups and criteria once the Budget Optimizer is turned off in either scenario.&lt;br /&gt;&lt;br /&gt;The upcoming change will effectively treat &lt;span style="font-family:Courier New;"&gt;takeOnOptimizedBids &lt;/span&gt;as if it were set to &lt;span style="font-family:Courier New;"&gt;true&lt;/span&gt; (regardless of what it is actually set to) for all campaigns using the Budget Optimizer. Once the Budget Optimizer is turned off, all bids will be set to the last bid used by the Budget Optimizer. This change will match the behavior currently in place when the Budget Optimizer is turned off via the AdWords web interface.&lt;br /&gt;&lt;br /&gt;We're planning on making this change to AdWords API behavior on May 19. It is not likely that you will have to make any substantial changes to your code in advance of this change, but please take the new behavior into account when you write code that turns the Budget Optimizer off.&lt;br /&gt;&lt;i&gt;&lt;br /&gt;-Jeffrey Posnick, AdWords API Team&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10373715-5277486649552087980?l=adwordsapi.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Xqnd?a=0ntE3Y14Nxc:2RqiXzoBIDA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Xqnd?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Xqnd?a=0ntE3Y14Nxc:2RqiXzoBIDA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Xqnd?i=0ntE3Y14Nxc:2RqiXzoBIDA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Xqnd/~4/0ntE3Y14Nxc" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/5277486649552087980?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/5277486649552087980?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Xqnd/~3/0ntE3Y14Nxc/upcoming-budget-optimizer-changes.html" title="Upcoming Budget Optimizer Changes" /><author><name>AdWords API Team</name><uri>http://www.blogger.com/profile/04123046695062808103</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="14820665645454774099" /></author><feedburner:origLink>http://adwordsapi.blogspot.com/2009/05/upcoming-budget-optimizer-changes.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0AHSHYyeCp7ImA9WxJTGUs.&quot;"><id>tag:blogger.com,1999:blog-10373715.post-7562778958003868160</id><published>2009-04-28T16:25:00.000-07:00</published><updated>2009-04-28T16:35:39.890-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-28T16:35:39.890-07:00</app:edited><title>AdWords API v2009 Sandbox Launch</title><content type="html">&lt;span style="color: rgb(0, 0, 0);font-family:georgia;font-size:100%;"  &gt;Hello all,&lt;br /&gt;&lt;br /&gt;As we mentioned in our December blog post "A preview of 2009 API changes," we've been hard at work on re-building the AdWords API to offer our developers improved speed, functionality, and flexibility.&lt;br /&gt;&lt;/span&gt;&lt;p  style="color: rgb(0, 0, 0);font-family:georgia;"&gt;&lt;span style="font-size:100%;"&gt;Today, we're announcing the launch of the API 2009 sandbox, so you can begin experimenting with the latest version of the AdWords API.  We're using a new version naming convention to highlight the significant differences between this version, called AdWords API v2009, and v13.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="color: rgb(0, 0, 0);font-family:georgia;"&gt;&lt;span style="font-size:100%;"&gt;There are several key differences in how API v2009 works:&lt;br /&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul  style="color: rgb(0, 0, 0);font-family:georgia;"&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;More operations in a single call: We're changing the way services&lt;br /&gt;are constructed so that you'll be able to accomplish more work per&lt;br /&gt;call. Specifically, operations will accept a variety of modifiers&lt;br /&gt;acting on elements across ad groups. For example, you'll be able to&lt;br /&gt;add, update, and delete keywords across ad groups, all within a single&lt;br /&gt;call.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Lower costs: We will reduce API units consumed for the new&lt;br /&gt;asynchronous methods, and are exploring other ways to improve the&lt;br /&gt;value you get from the AdWords API by lowering costs and increasing&lt;br /&gt;efficiency of quota use.  The v2009 sandbox is free to use, and once&lt;br /&gt;these services are in production, they will be tied to a new rate&lt;br /&gt;sheet that lowers the average cost of an operation. The new rate sheet&lt;br /&gt;will apply only to API v2009, and will be launched when v2009 goes&lt;br /&gt;into production.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p  style="color: rgb(0, 0, 0);font-family:georgia;"&gt;&lt;span style="font-size:100%;"&gt;Most AdWords functionality is available in the core services we&lt;br /&gt;exposed today:&lt;br /&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul  style="color: rgb(0, 0, 0);font-family:georgia;"&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;AdGroupAdService &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;AdGroupCriterionService &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt; AdGroupService &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt; CampaignCriterionService &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;CampaignService &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;CampaignTargetService &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p  style="color: rgb(0, 0, 0);font-family:georgia;"&gt;&lt;span style="font-size:100%;"&gt;Forthcoming features include:&lt;br /&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul  style="color: rgb(0, 0, 0);font-family:georgia;"&gt;&lt;li&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;Asynchronous calls:&lt;/span&gt;&lt;span style="font-size:100%;"&gt; We'll offer asynchronous calls, which will allow&lt;br /&gt;you to work with large sets of data faster and more easily. Instead of&lt;br /&gt;having to wait for our system to fully complete your request before&lt;br /&gt;you can make another one, you'll be able to make another call as soon&lt;br /&gt;as the API service confirms that it's received your previous call. No&lt;br /&gt;more waiting for large requests to be finished. (Synchronous methods&lt;br /&gt;will still be supported as well).&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;Partial failure acceptance:&lt;/span&gt;&lt;span style="font-size:100%;"&gt; We plan to support partial failure, so&lt;br /&gt;large posts aren't rolled back due to a few errors. This allows you to&lt;br /&gt;keep moving forward with development and not have to re-do the same&lt;br /&gt;posts.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p  style="color: rgb(0, 0, 0);font-family:georgia;"&gt;&lt;span style="font-size:100%;"&gt;We'll release the remaining features needed for full AdWords parity in the coming months. Forthcoming features include: Reporting, Keyword tools, MCC functionality, and change history.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="color: rgb(0, 0, 0);font-family:georgia;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;How to access the API v2009 Sandbox:&lt;/span&gt;&lt;br /&gt;The API v2009 Sandbox does not charge for quota, and will accept your current Google account login.  In addition, the backend database for the v2009 Sandbox is shared with the v13 Sandbox environment. This means that any existing campaigns, ad groups, ads, and keywords that&lt;br /&gt;you created under your login email using the v13 Sandbox will exist in the v2009 Sandbox.  Please remember that the sandbox is a testing and development environment. The changes made here will not impact your live AdWords account.  You can read more about Sandbox best practices here: &lt;a target="_blank" rel="nofollow" href="http://adwordsapi.blogspot.com/2009/03/adwords-api-sandbox-best-practices.html"&gt;http://adwordsapi.blogspot.com/2009/03/adwords-api-sandbox-best-pract...&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="color: rgb(0, 0, 0);font-family:georgia;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;What comes next:&lt;/span&gt;&lt;br /&gt;We plan to launch the core functionality of API v2009 on our production servers in about 2 months, with the remaining functionality needed for AdWords parity released over the following 3 months.  During that time, both AdWords API v13 and v2009 will be fully supported.  We'll begin the sunset period for v13 once we've reached feature parity in API v2009.  Since we're introducing more changes than usual, we'll extend the normal 4-month sunset period for v13, so it won't sunset until sometime in early 2010.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="color: rgb(0, 0, 0);font-family:georgia;"&gt;&lt;span style="font-size:100%;"&gt;Documentation for the API v2009 sandbox is available on our codesite at: &lt;a target="_blank" rel="nofollow" href="http://code.google.com/apis/adwords/v2009/docs/"&gt;http://code.google.com/apis/adwords/v2009/docs/&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="color: rgb(0, 0, 0);font-family:georgia;"&gt;&lt;span style="font-size:100%;"&gt;We hope you'll kick the tires of our new API and give us plenty of feedback. We've established a special email address for you to share your thoughts: adwordsapi-relaunch@google.com&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;.  We look forward to your comments, suggestions and questions.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="color: rgb(0, 0, 0);font-family:georgia;"&gt;&lt;span style="font-size:100%;"&gt;Thank you,&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="color: rgb(0, 0, 0);font-family:georgia;font-size:100%;"  &gt; Doug Raymond&lt;br /&gt;Product Manager, AdWords API &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10373715-7562778958003868160?l=adwordsapi.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Xqnd?a=r61DCu7FJSU:bfKQVmwGubI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Xqnd?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Xqnd?a=r61DCu7FJSU:bfKQVmwGubI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Xqnd?i=r61DCu7FJSU:bfKQVmwGubI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Xqnd/~4/r61DCu7FJSU" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/7562778958003868160?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/7562778958003868160?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Xqnd/~3/r61DCu7FJSU/hello-all-as-we-mentioned-in-our.html" title="AdWords API v2009 Sandbox Launch" /><author><name>AdWords API Team</name><uri>http://www.blogger.com/profile/04123046695062808103</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="14820665645454774099" /></author><feedburner:origLink>http://adwordsapi.blogspot.com/2009/04/hello-all-as-we-mentioned-in-our.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkENQHc5fip7ImA9WxVaGE0.&quot;"><id>tag:blogger.com,1999:blog-10373715.post-6486285033757618976</id><published>2009-04-15T08:12:00.000-07:00</published><updated>2009-04-15T08:18:11.926-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-15T08:18:11.926-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="downtime" /><title>AdWords Downtime: April 18, 10am-2pm PDT</title><content type="html">The system maintenance we had intended for last Saturday, April 11, did not take place. As a result, we have rescheduled it for this Saturday, April 18, from approximately 10:00am to 2:00pm PDT. You won't be able to access AdWords or the API during this time frame, but your ads will continue to run as normal.&lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;-Jeffrey Posnick, AdWords API Team&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10373715-6486285033757618976?l=adwordsapi.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Xqnd?a=asGCYlnUvMY:wCcLSR9nHDQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Xqnd?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Xqnd?a=asGCYlnUvMY:wCcLSR9nHDQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Xqnd?i=asGCYlnUvMY:wCcLSR9nHDQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Xqnd/~4/asGCYlnUvMY" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/6486285033757618976?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/6486285033757618976?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Xqnd/~3/asGCYlnUvMY/adwords-downtime-april-18-10am-2pm-pdt.html" title="AdWords Downtime: April 18, 10am-2pm PDT" /><author><name>AdWords API Team</name><uri>http://www.blogger.com/profile/04123046695062808103</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="14820665645454774099" /></author><feedburner:origLink>http://adwordsapi.blogspot.com/2009/04/adwords-downtime-april-18-10am-2pm-pdt.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMARno7fip7ImA9WxVaF0k.&quot;"><id>tag:blogger.com,1999:blog-10373715.post-566429441269394213</id><published>2009-04-13T15:02:00.000-07:00</published><updated>2009-04-14T15:34:07.406-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-14T15:34:07.406-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="spanish" /><category scheme="http://www.blogger.com/atom/ns#" term="japanese" /><category scheme="http://www.blogger.com/atom/ns#" term="portuguese" /><category scheme="http://www.blogger.com/atom/ns#" term="documentation" /><category scheme="http://www.blogger.com/atom/ns#" term="chinese" /><category scheme="http://www.blogger.com/atom/ns#" term="korean" /><category scheme="http://www.blogger.com/atom/ns#" term="translation" /><title>Developer Docs: v13 in Chinese, Japanese, and now Korean (updated)</title><content type="html">When we &lt;a href="http://adwordsapi.blogspot.com/2009/02/adwords-api-developer-docs-now-in.html"&gt;first announced&lt;/a&gt; non-English translations of our AdWords API Developer's Guide, we provided Japanese and Chinese versions of the v12 documentation. Our team has been hard at work since then, and we're happy to announce that the existing &lt;a href="http://code.google.com/intl/zh-CN/apis/adwords/docs/developer/"&gt;Chinese&lt;/a&gt; and &lt;a href="http://code.google.com/intl/ja/apis/adwords/docs/developer/"&gt;Japanese&lt;/a&gt; translations have been updated to cover v13 of the AdWords API. In addition, a &lt;a href="http://code.google.com/intl/ko/apis/adwords/docs/developer/"&gt;Korean&lt;/a&gt; translation of the v13 documentation is now available.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Update&lt;/span&gt;: Developers who speak &lt;a href="http://code.google.com/intl/es/apis/adwords/docs/developer/"&gt;Spanish&lt;/a&gt; and &lt;a href="http://code.google.com/intl/pt-BR/apis/adwords/docs/developer/"&gt;Portuguese&lt;/a&gt; will be happy to know that we've released the v13 documentation in their languages as well.&lt;br /&gt;&lt;br /&gt;We'll continue to release translations for additional languages in the future, so stay tuned for more updates!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;--The AdWords API Team&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10373715-566429441269394213?l=adwordsapi.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Xqnd?a=LrjCu2dXOqs:1VV10XtpKKg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Xqnd?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Xqnd?a=LrjCu2dXOqs:1VV10XtpKKg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Xqnd?i=LrjCu2dXOqs:1VV10XtpKKg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Xqnd/~4/LrjCu2dXOqs" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/566429441269394213?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/566429441269394213?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Xqnd/~3/LrjCu2dXOqs/developer-docs-v13-in-chinese-japanese.html" title="Developer Docs: v13 in Chinese, Japanese, and now Korean (updated)" /><author><name>AdWords API Team</name><uri>http://www.blogger.com/profile/04123046695062808103</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="14820665645454774099" /></author><feedburner:origLink>http://adwordsapi.blogspot.com/2009/04/developer-docs-v13-in-chinese-japanese.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QERnk7fCp7ImA9WxVaEkw.&quot;"><id>tag:blogger.com,1999:blog-10373715.post-6771134406288579922</id><published>2009-04-08T10:19:00.000-07:00</published><updated>2009-04-08T10:21:47.704-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-08T10:21:47.704-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="downtime" /><title>AdWords Downtime: April 11, 10am-2pm PDT</title><content type="html">&lt;span class="Apple-style-span" style="font-family: Arial; color: rgb(51, 51, 51); font-size: 13px; "&gt;We'll be performing routine system maintenance on Saturday, April 11 from approximately 10:00am to 2:00pm PDT. You won't be able to access AdWords or the API during this time frame, but your ads will continue to run as normal.&lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;-Jeffrey Posnick, AdWords API Team&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10373715-6771134406288579922?l=adwordsapi.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Xqnd?a=difmUIdqptQ:jPqNRDi6JwI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Xqnd?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Xqnd?a=difmUIdqptQ:jPqNRDi6JwI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Xqnd?i=difmUIdqptQ:jPqNRDi6JwI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Xqnd/~4/difmUIdqptQ" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/6771134406288579922?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/6771134406288579922?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Xqnd/~3/difmUIdqptQ/adwords-downtime-april-11-10am-2pm-pdt.html" title="AdWords Downtime: April 11, 10am-2pm PDT" /><author><name>AdWords API Team</name><uri>http://www.blogger.com/profile/04123046695062808103</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="14820665645454774099" /></author><feedburner:origLink>http://adwordsapi.blogspot.com/2009/04/adwords-downtime-april-11-10am-2pm-pdt.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEUDQnYzfip7ImA9WxVbFkU.&quot;"><id>tag:blogger.com,1999:blog-10373715.post-4643973480596557844</id><published>2009-04-02T07:49:00.000-07:00</published><updated>2009-04-02T08:31:13.886-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-02T08:31:13.886-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ad scheduling" /><title>Ad Scheduling: it's all about timing</title><content type="html">&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;"There's a time for everything." This is something I've been hearing since I was a kid, but today I'm not here to tell you that you shouldn't have your dessert before your meal or play with noisy toys after dark; rather, I'd like to talk to you about whether it's really a good idea to advertise your lunch menu or your toy shop discount when your customers are sleeping.&lt;br /&gt;&lt;br /&gt;Advertising, as is the case with most things in life, is all about timing. A lot of businesses have special advertising needs during certain times of day, and they'd like their customers to know about them at the right time.&lt;br /&gt;&lt;br /&gt;Let's take the example of a newly opened downtown coffee shop that's looking to let people know about its great selection by advertising with AdWords. What happens when their ad runs at night? Well, people will learn about the menu, but at the wrong time. Since it's now after hours, and the place is closed, they might forget about it overnight and not visit the coffee shop the next day; all of this simply because that was the wrong time to be seeing that ad. Another example would be a toy shop running a special "lunchtime craze" deal to try to increase sales during that time of day; advertising after the event is not very useful and may even be counter-productive, as it's disappointing for people to realize that the promotion hours are over.&lt;br /&gt;&lt;br /&gt;Fortunately, there are mechanisms built into AdWords and the AdWords API to allow you to decide when to run your ads, automatically, without requiring you to manually enable and disable them; this is called "Ad Scheduling".&lt;br /&gt;&lt;br /&gt;Scheduling works at the campaign level, so it applies to all active ad groups and ads inside it. The &lt;span style="font-family:Courier New;"&gt;AdSchedule&lt;/span&gt; object contains two items:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;  an "intervals" list, containing any number of &lt;span style="font-family:Courier New;"&gt;SchedulingInterval&lt;/span&gt; objects&lt;br /&gt;&lt;/li&gt;&lt;li&gt;  a "status" field, that enables or disables the &lt;span style="font-family:Courier New;"&gt;AdSchedule&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Each &lt;span style="font-family:Courier New;"&gt;SchedulingInterval&lt;/span&gt; not only allows you to define a number of properties, such as day and starting/ending times, but also, notably, a multiplier. This multiplier is a very useful tool, as it provides a way to enable and disable displaying of the ad (by setting to a non-zero and zero value, respectively), as well as a way to increase or decrease your bids at certain times.&lt;br /&gt;&lt;br /&gt;In our coffee shop example, to make sure the ads run mostly during opening hours, we would set displaying of ads to start a bit before opening and to end a little bit before closing:&lt;br /&gt;&lt;br /&gt;&lt;pre style="background: rgb(255, 255, 255) none repeat scroll 0% 0%; color: rgb(0, 0, 0); -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;"&gt;&lt;blockquote&gt;&lt;pre style="background: rgb(255, 255, 255) none repeat scroll 0% 0%; color: rgb(0, 0, 0); -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;"&gt;SchedulingInterval[] days = new SchedulingInterval[6];&lt;br /&gt;&lt;br /&gt;days[0].setDay(DayOfWeek.Monday);&lt;br /&gt;days[1].setDay(DayOfWeek.Tuesday);&lt;br /&gt;days[2].setDay(DayOfWeek.Wednesday);&lt;br /&gt;days[3].setDay(DayOfWeek.Thursday);&lt;br /&gt;days[4].setDay(DayOfWeek.Friday);&lt;br /&gt;days[5].setDay(DayOfWeek.Saturday);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(63, 127, 89);"&gt;// Set weekday and Saturday schedule&lt;/span&gt;&lt;br /&gt;for (int i = 0; i &lt; 6; i++) {&lt;br /&gt;&lt;span style="color: rgb(63, 127, 89);"&gt;// Start at 8:45 am...&lt;/span&gt;&lt;br /&gt;days[i].setStartHour(8);&lt;br /&gt;days[i].setStartMinute(45);&lt;br /&gt;&lt;span style="color: rgb(63, 127, 89);"&gt;// ... and end at 7:45 pm&lt;/span&gt;&lt;br /&gt;days[i].setEndHour(19);&lt;br /&gt;days[i].setEndMinute(45);&lt;br /&gt;&lt;span style="color: rgb(63, 127, 89);"&gt;// Run at normal bid rates&lt;/span&gt;&lt;br /&gt;days[i].setMultiplier(1.0);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(63, 127, 89);"&gt;// Closed on Sunday, so we're omitting it from the array&lt;/span&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/pre&gt;&lt;br /&gt;As for our toy shop, in order to give customers fair warning about the special lunchtime deal, advertising would start early in the morning and increase significantly during the promotion hours:&lt;br /&gt;&lt;br /&gt;&lt;pre style="background: rgb(255, 255, 255) none repeat scroll 0% 0%; color: rgb(0, 0, 0); -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;"&gt;&lt;blockquote&gt;SchedulingInterval early = new SchedulingInterval();&lt;br /&gt;SchedulingInterval peak = new SchedulingInterval();&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(63, 127, 89);"&gt;// Sample schedule for Monday&lt;/span&gt;&lt;br /&gt;early.setDay(DayOfWeek.Monday);&lt;br /&gt;peak.setDay(DayOfWeek.Monday);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(63, 127, 89);"&gt;// Start at 8:00 am...&lt;/span&gt;&lt;br /&gt;early.setStartHour(8);&lt;br /&gt;early.setStartMinute(0);&lt;br /&gt;&lt;span style="color: rgb(63, 127, 89);"&gt;// ... and run until promotion starts&lt;/span&gt;&lt;br /&gt;early.setEndHour(12);&lt;br /&gt;early.setEndMinute(0);&lt;br /&gt;&lt;span style="color: rgb(63, 127, 89);"&gt;// Run at normal bid rates&lt;/span&gt;&lt;br /&gt;early.setMultiplier(1.0);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(63, 127, 89);"&gt;// Start higher bidding at noon...&lt;/span&gt;&lt;br /&gt;peak.setStartHour(12);&lt;br /&gt;peak.setStartMinute(0);&lt;br /&gt;&lt;span style="color: rgb(63, 127, 89);"&gt;// ... and run until promotion ends...&lt;/span&gt;&lt;br /&gt;peak.setEndHour(14);&lt;br /&gt;peak.setEndMinute(0);&lt;br /&gt;&lt;span style="color: rgb(63, 127, 89);"&gt;// ... at double the bid!&lt;/span&gt;&lt;br /&gt;peak.setMultiplier(2.0);&lt;/blockquote&gt;&lt;br /&gt;&lt;/pre&gt;(And &lt;a title="Here's how you can add a campaign with scheduling" href="http://code.google.com/apis/adwords/docs/developer/CampaignService.html#addCampaign" id="j2ry"&gt;here's how you can add a campaign with scheduling&lt;/a&gt; in your language of choice)&lt;br /&gt;&lt;br /&gt;With these small changes to your campaigns, you should be able to make the most out of your ads by having them show at the right time. That likely means better, more focused targeting, with higher returns, all for just a little bit of setup work; that's like eating your cake and keeping it too! Just make sure you don't do it before lunch, otherwise it'll spoil your appetite.&lt;br /&gt;&lt;br /&gt;--Sérgio Gomes, AdWords API Team&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10373715-4643973480596557844?l=adwordsapi.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Xqnd?a=2y615cHfWs0:OmWtru0hjbw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Xqnd?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Xqnd?a=2y615cHfWs0:OmWtru0hjbw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Xqnd?i=2y615cHfWs0:OmWtru0hjbw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Xqnd/~4/2y615cHfWs0" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/4643973480596557844?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/4643973480596557844?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Xqnd/~3/2y615cHfWs0/ad-scheduling-its-all-about-timing.html" title="Ad Scheduling: it's all about timing" /><author><name>AdWords API Team</name><uri>http://www.blogger.com/profile/04123046695062808103</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="14820665645454774099" /></author><feedburner:origLink>http://adwordsapi.blogspot.com/2009/04/ad-scheduling-its-all-about-timing.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0AGRng7eSp7ImA9WxJRGEg.&quot;"><id>tag:blogger.com,1999:blog-10373715.post-7107209436516942951</id><published>2009-03-27T14:40:00.000-07:00</published><updated>2009-05-20T15:48:47.601-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-20T15:48:47.601-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="infoservice" /><title>Better know a service: InfoService</title><content type="html">We, at the AdWords API Team, are often asked questions such as "&lt;i&gt;Where have all my units gone?" &lt;/i&gt;and &lt;i&gt;&lt;i&gt;"&lt;/i&gt;&lt;i&gt;How many API units has a particular account used in the last month?"&lt;/i&gt; &lt;/i&gt;Luckily, we have supplied you with a great set of tools with &lt;a href="http://code.google.com/apis/adwords/docs/developer/InfoService.html" id="h9mw" style="color: rgb(85, 26, 139);" target="_blank" title="InfoService"&gt;InfoService&lt;/a&gt; to answer these questions. In this blog post, we'll talk about some basic uses of this service, as well as some caveats that can be solved using some more advanced techniques. All code examples have been coded using the &lt;a href="http://code.google.com/p/google-api-adwords-java/" id="oj-a" target="_blank" title="AdWords Java Client Library"&gt;AdWords Java Client Library&lt;/a&gt;&lt;i&gt;.&lt;/i&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;Update: &lt;span class="Apple-style-span" style="font-weight: normal;"&gt;both of these examples have now been included as utility methods in the file &lt;/span&gt;&lt;a href="http://code.google.com/p/google-api-adwords-java/source/browse/trunk/src/com/google/api/adwords/lib/utils/UnitsUtils.java"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;UnitsUtils.java&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;. The example links below have been updated as well.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Where have all my units gone?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-style: normal; font-weight: normal;"&gt;&lt;span style="font-style: italic;"&gt;"&lt;/span&gt;&lt;i&gt;Where have all my units gone?" &lt;/i&gt;is o&lt;span style="font-style: normal; font-weight: normal;"&gt;&lt;span style="font-style: normal; font-weight: normal;"&gt;ne of the most frequent questions asked by our developers seeking to trim down their API usage. Although InfoService provides the method &lt;a href="http://code.google.com/apis/adwords/docs/developer/InfoService.html#getUnitCountForMethod" id="dhlt" target="_blank" title="getUnitCountForMethod"&gt;getUnitCountForMethod&lt;/a&gt;, it is not inherently obvious how to generate a full mapping of usage. The heart of the problem is that, to call getUnitCountForMethod, you must pass it a service name and method. To get a full mapping of method to usage, getUnitCountForMethod must be called for each service and method pair. In the method &lt;a href="http://code.google.com/p/google-api-adwords-java/source/browse/trunk/src/com/google/api/adwords/lib/utils/UnitsUtils.java#63" id="rte8" target="_blank" title="UnitUtils.getMethodUsage"&gt;UnitUtils.getMethodUsage&lt;/a&gt;, I have shown how you might do this.&lt;br /&gt;&lt;br /&gt;The method is broken into two parts: populating a full mapping of service name to list of method names, and calling getUnitCountForMethod for each mapping. The result of each call is then put into a new map, referred to as &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Courier New;"&gt;methodUsage&lt;/span&gt; in the method. When the method has finished running, which may take a few seconds, &lt;span style="font-family:Courier New;"&gt;methodUsage&lt;/span&gt; will have a mapping of &lt;span style="font-family:Courier New;"&gt;serviceName.methodName&lt;/span&gt; to &lt;span style="font-family:Courier New;"&gt;quotaUsage&lt;/span&gt; and the output will resemble:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote class="webkit-indent-blockquote" style="border: medium none ; margin: 0pt 0pt 0pt 40px;"&gt;AccountService.getAccountInfo = 3&lt;br /&gt;AccountService.getClientAccountInfos = 257&lt;br /&gt;AccountService.getClientAccounts = 0&lt;br /&gt;AccountService.getMccAlerts = 0&lt;br /&gt;AccountService.updateAccountInfo = 0&lt;br /&gt;...&lt;br /&gt;&lt;div&gt;AdService.addAds = 5005&lt;/div&gt;&lt;div&gt;AdService.checkAds = 0&lt;/div&gt;&lt;div&gt;AdService.findBusinesses = 0&lt;/div&gt;&lt;div&gt;AdService.getActiveAds = 0&lt;/div&gt;&lt;div&gt;AdService.getAd = 0&lt;/div&gt;&lt;div&gt;AdService.getAdStats = 0&lt;/div&gt;&lt;div&gt;AdService.getAllAds = 0&lt;/div&gt;&lt;div&gt;AdService.getMyBusinesses = 0&lt;/div&gt;&lt;div&gt;AdService.getMyVideos = 0&lt;/div&gt;&lt;div&gt;AdService.updateAds = 0&lt;/div&gt;&lt;div&gt;...&lt;/div&gt;TrafficEstimatorService.checkKeywordTraffic = 0&lt;br /&gt;TrafficEstimatorService.estimateAdGroupList = 0&lt;br /&gt;TrafficEstimatorService.estimateCampaignList = 0&lt;br /&gt;TrafficEstimatorService.estimateKeywordList = 0&lt;/blockquote&gt;&lt;br /&gt;&lt;div&gt;As you can see, many of my units went towards adding Ads. Using this data, I could enter my monthly values into a spreadsheet and plot my usage over several months. Not only could I easily spot where all of my units have gone, but I would also be able to spot any out of the ordinary behavior as well.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;As a side note, regardless of the credentials supplied to the service, this method will only gather data against the developer token. Meaning that, supplying a clientEmail or clientCustomerId will not give a finer grained set of results.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;How many API units has a particular child account used in the last month?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Another great feature of InfoService is that it allows you to determine how many units a particular child account has used over a period of time. This information can be used to invoice clients, if you are developing for an Agency, or to perform cost/ctr analysis, if you wished to optimize your accounts per API spend.&lt;br /&gt;&lt;br /&gt;There is one caveat, however. Let's say that we have an account structure that resembles the one below:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://3.bp.blogspot.com/_9nPzN1kh_V0/Sc0pWkXF-lI/AAAAAAAAANs/Px4Kj07hpGY/s400/bfd65_87.png" style="cursor: move;" border="0" /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;We have a top most MCC, Top-MCC, which is the root of our tree. Since our goal is to generate a mapping of child account to the amount of quota used, a first approach may be to run &lt;a href="http://code.google.com/apis/adwords/docs/developer/InfoService.html#getUnitCountForClients" id="obtf" target="_blank" title="getUnitCountForClients"&gt;getUnitCountForClients&lt;/a&gt; for each client, as shown below:&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-left: 40px;"&gt;&lt;span style="font-family:Courier New;"&gt;InfoService.getUnitCountForClients(["Sub-MCC-1",&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-left: 80px;"&gt;&lt;span style="font-family:Courier New;"&gt;"Sub-MCC-2", "Client-1", "Client-2",&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-left: 80px;"&gt;&lt;span style="font-family:Courier New;"&gt;"Client-3", "Client-4"],&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-left: 80px;"&gt;&lt;span style="font-family:Courier New;"&gt;"3/1/2009", "3/31/2009");&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;From the results, you can create a mapping that resembles:&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-left: 40px;"&gt;Sub-MCC-1 = 55&lt;br /&gt;Sub-MCC-2 = 70&lt;br /&gt;Client-1 = 500&lt;br /&gt;Client-2 = 650&lt;br /&gt;Client-3 = 600&lt;br /&gt;Client-4 = 400&lt;/div&gt;&lt;br /&gt;You'll notice that while this data gives you some idea of client usage, there's no aggregation of client usage up to the MCC; Sub-MCC-1 returns just the number of units called directly on that account, such as from a command with headers:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="margin-left: 40px;"&gt;&amp;lt;email&amp;gt;Top-MCC&amp;lt;/email&amp;gt;&lt;br /&gt;&amp;lt;password&amp;gt;passwordForTop-MCC&amp;lt;/password&amp;gt;&lt;br /&gt;&amp;lt;developerToken&amp;gt;...&amp;lt;/developerToken&amp;gt;&lt;br /&gt;&amp;lt;applicationToken&amp;gt;...&amp;lt;/applicationToken&amp;gt;&lt;br /&gt;&amp;lt;userAgent&amp;gt;...&amp;lt;/userAgent&amp;gt;&lt;br /&gt;&amp;lt;clientEmail&amp;gt;Sub-MCC-1&amp;lt;/clientEmail&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-left: 40px;"&gt;&lt;/div&gt;What you may actually want is an aggregation of unit usage such as:&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-left: 40px;"&gt;Top-MCC = 2275&lt;br /&gt;Sub-MCC-1 = 1305&lt;br /&gt;Sub-MCC-2 = 470&lt;br /&gt;Client-1 = 500&lt;br /&gt;Client-2 = 650&lt;br /&gt;Client-3 = 600&lt;br /&gt;Client-4 = 400&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;span style="font-style: normal; font-weight: normal;"&gt;&lt;span style="font-style: normal; font-weight: normal;"&gt;&lt;span style="font-style: normal; font-weight: normal;"&gt;In the method &lt;a href="http://code.google.com/p/google-api-adwords-java/source/browse/trunk/src/com/google/api/adwords/lib/utils/UnitsUtils.java#100" id="rte8" target="_blank" title="UnitUtils.getClientUnitsUsage"&gt;UnitUtils.getClientUnitsUsage&lt;/a&gt;, I show how to traverse the full account tree below the top most MCC and sum the units for each client to produce a mapping like the one above.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; However, if by some chance, a client has two parent accounts, linked through UI/API and API, and those parents are both distant children of the same parent, that client will be doubly counted. We've also shown how to keep track of these doubly counted clients in the demo.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;We hope that these new utility methods will help you keep track of your API usage and stay tuned for more great demos like these!&lt;br /&gt;&lt;i&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;--Adam Rogal, AdWords API Team&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;/i&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/10373715-7107209436516942951?l=adwordsapi.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Xqnd?a=tPT5Gx8dlM0:xWeatGgresU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Xqnd?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Xqnd?a=tPT5Gx8dlM0:xWeatGgresU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Xqnd?i=tPT5Gx8dlM0:xWeatGgresU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Xqnd/~4/tPT5Gx8dlM0" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/7107209436516942951?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/7107209436516942951?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Xqnd/~3/tPT5Gx8dlM0/better-know-service-infoservice.html" title="Better know a service: InfoService" /><author><name>AdWords API Team</name><uri>http://www.blogger.com/profile/04123046695062808103</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="14820665645454774099" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_9nPzN1kh_V0/Sc0pWkXF-lI/AAAAAAAAANs/Px4Kj07hpGY/s72-c/bfd65_87.png" height="72" width="72" /><feedburner:origLink>http://adwordsapi.blogspot.com/2009/03/better-know-service-infoservice.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck4ASX89eyp7ImA9WxVUFUo.&quot;"><id>tag:blogger.com,1999:blog-10373715.post-903471369897749449</id><published>2009-03-20T10:42:00.000-07:00</published><updated>2009-03-20T10:42:28.163-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-20T10:42:28.163-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="best practices" /><category scheme="http://www.blogger.com/atom/ns#" term="sandbox" /><title>AdWords API sandbox - Best practices</title><content type="html">&lt;span style="color: black;"&gt;The &lt;/span&gt;&lt;a href="http://code.google.com/apis/adwords/docs/developer/adwords_api_sandbox.html" id="dsps" title="API sandbox"&gt;API sandbox&lt;/a&gt;&amp;nbsp;is open to anyone who wants to test code during development, and it's completely free. We recommend using the sandbox as much as possible to catch your bugs during development so they won't hit your production account later. Here are some tips on using the sandbox effectively:&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;b&gt;Initialize your sandbox account&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Make sure that the first call to the sandbox is a get() call from &lt;span style="font-family: Courier New;"&gt;AccountService&lt;/span&gt;, preferably &lt;span style="font-family: Courier New;"&gt;AccountService&lt;/span&gt;'s &lt;span style="font-family: Courier New;"&gt;&lt;a href="http://code.google.com/apis/adwords/docs/developer/AccountService.html#getClientAccounts" id="py_2" title="getClientAccounts"&gt;getClientAccounts&lt;/a&gt;(). &lt;/span&gt;Assuming you use &lt;i&gt;user@domain.com&lt;/i&gt; as the login email, this call will initialize the sandbox and create 5 test client accounts, namely &lt;i&gt;client_1+user@domain.com&lt;/i&gt; to &lt;i&gt;client_5+user@domain.com&lt;/i&gt; for your sandbox account. While making this call you should not provide the &lt;span style="font-family: Courier New;"&gt;clientEmail &lt;/span&gt;or &lt;span style="font-family: Courier New;"&gt;clientCustomerId &lt;/span&gt;headers, since this call expects an MCC account to succeed.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;While making a &lt;span style="font-family: Courier New;"&gt;&lt;a href="http://code.google.com/apis/adwords/docs/developer/AccountService.html#getClientAccounts" id="py_2" title="getClientAccounts"&gt;getClientAccounts&lt;/a&gt;()&lt;/span&gt; call to the sandbox, set the SOAP headers as follows:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New;"&gt;email&lt;/span&gt;: address of any google account, such as a Gmail account &lt;br /&gt;
&lt;span style="font-family: Courier New;"&gt;password&lt;/span&gt;: password of the account&lt;br /&gt;
&lt;span style="font-family: Courier New;"&gt;useragent&lt;/span&gt;: set to any identifying string&lt;br /&gt;
&lt;span style="font-family: Courier New;"&gt;developerToken&lt;/span&gt;: set to the value for email, with the string '++USD' (or the currency code of your choice) appended&lt;br /&gt;
&lt;span style="font-family: Courier New;"&gt;applicationToken&lt;/span&gt;: ignored, and could be set to anything or left out&lt;br /&gt;
&lt;span style="font-family: Courier New;"&gt;clientEmail&lt;/span&gt;: should be either set to the empty string or left out&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Courier New;"&gt;clientCustomerId&lt;/span&gt;: should be either set to the empty string or left out&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
The sandbox database is usually refreshed once every month, wiping out all client accounts. Making &lt;span style="font-family: Courier New;"&gt;&lt;a href="http://code.google.com/apis/adwords/docs/developer/AccountService.html#getClientAccounts" id="py_2" title="getClientAccounts"&gt;getClientAccounts&lt;/a&gt;()&lt;/span&gt; as your application's first API call ensures that all your calls happen against a properly initialized sandbox account.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;b&gt;Simulate error responses&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
Because a good application needs to gracefully handle errors thrown by the AdWords API, the sandbox provides a mechanism for simulating error messages. If you use &lt;i&gt;user@domain.com&lt;/i&gt;++errorCode as the email for a call to the sandbox, the sandbox will return an error response with error code set as the desired errorCode, and a text message indicating that an error response has been forced by the sandbox.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;The error code should be set to one of the valid &lt;a href="http://code.google.com/apis/adwords/docs/developer/adwords_api_error_codes.html"&gt;error codes&lt;/a&gt;. For instance, by providing login email as user@domain.com++17, I can simulate error code 17 (account exceeded maximum number of allowed campaigns).&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;The SOAP response looks as follows: &lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New;"&gt;&amp;lt;soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;&lt;span style="font-family: Courier New;"&gt;&amp;nbsp; &amp;lt;soapenv:Body&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;&lt;span style="font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;soapenv:Fault&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;&lt;span style="font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;faultcode&amp;gt;soapenv:Server.userException&amp;lt;/faultcode&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;&lt;span style="font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;faultstring&amp;gt;Error forced by the request (Sandbox)&amp;lt;/faultstring&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;&lt;span style="font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;detail&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;&lt;span style="font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ns1:fault xmlns:ns1="https://adwords.google.com/api/adwords/v13"&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;&lt;span style="font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ns1:code&amp;gt;17&amp;lt;/ns1:code&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;&lt;span style="font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ns1:message&amp;gt;Error forced by the request (Sandbox)&amp;lt;/ns1:message&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;&lt;span style="font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ns1:trigger&amp;gt;user@domain.com++17&amp;lt;/ns1:trigger&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;&lt;span style="font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ns1:fault&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;&lt;span style="font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/detail&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;&lt;span style="font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/soapenv:Fault&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;&lt;span style="font-family: Courier New;"&gt;&amp;nbsp; &amp;lt;/soapenv:Body&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;&lt;span style="font-family: Courier New;"&gt;&amp;lt;/soapenv:Envelope&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Similarly, you can also test for some policy violations in ads and keywords. For instance, providing repeated punctuation in the ad or keyword text, such as "Hello World!!" as the ad title, should trigger a policy violation error. However, the sandbox doesn't have all of the policy checks in place, so you can't test your application against every possible policy violation, e.g. trademark-related violations.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;b&gt;Generate reports&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Since generating reports is one of the most common calls in the AdWords API, the sandbox provides features to test each stage of your report generation logic. In the sandbox, you can create&amp;nbsp;&lt;span style="font-family: inherit; font-size: small;"&gt;either&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: inherit; font-size: small;"&gt;a report whose status does not change, or a report whose status changes from pending to deleted. If you include any one of the following strings in the report name field while creating it, it will create a report with the specified status.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;ul class="code"&gt;&lt;li&gt;fixstatus=Pending&lt;/li&gt;
&lt;li&gt;fixstatus=InProgress&lt;/li&gt;
&lt;li&gt;fixstatus=Completed&lt;/li&gt;
&lt;li&gt;fixstatus=Failed&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
If the name doesn't contain any of the above codes, the sandbox will create a report whose status changes as follows:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;During the first minute since the report job was scheduled, the status is &lt;span style="font-family: Courier New;"&gt;Pending.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;During the second minute, the status is &lt;span style="font-family: Courier New;"&gt;InProgress&lt;/span&gt;.&lt;/li&gt;
&lt;li&gt;During the third minute, the status is &lt;span style="font-family: Courier New;"&gt;Completed&lt;/span&gt;.&lt;/li&gt;
&lt;li&gt;After the third minute, the report is deleted.&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
Also, a call to &lt;span style="font-family: Courier New;"&gt;&lt;a href="http://code.google.com/apis/adwords/docs/developer/ReportService.html#getAllJobs" id="zekr" title="getAllJobs"&gt;getAllJobs&lt;/a&gt; &lt;/span&gt;will return four reports, one for each value of &lt;span class="v12-up"&gt;&lt;a href="http://code.google.com/apis/adwords/docs/developer/ReportService.html#getReportJobStatus" id="z8na" title="ReportJobStatus"&gt;ReportJobStatus&lt;/a&gt;&lt;/span&gt;. Sandbox reports do not return any data related to any live accounts. So if you want to test your report parsing logic against some live data, you can generate a report of the desired type in the Reports Center of your production account, download it in xml format, and use it to develop and test your code. &amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;b&gt;Handling account limits&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
As with a live account, an AdWords sandbox account can hold a maximum of 25 active campaigns, with up to 100 active ad groups per campaign. If your program runs into these &lt;a href="http://adwords.google.com/support/bin/answer.py?hl=en&amp;amp;answer=40907" id="a_mk" title="limits"&gt;limits&lt;/a&gt;, then you can change the status of some campaigns or ad groups to "deleted."&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;b&gt;TrafficEstimatorService and KeywordToolService behavior&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
Both TrafficEstimatorService and KeywordToolService are available for use in AdWords API sandbox. However, both these services return fake data. TrafficEstimatorService will give you fake data for &lt;a href="http://code.google.com/apis/adwords/docs/developer/KeywordEstimate.html"&gt;Position, CPC, and Clicks per day&lt;/a&gt;. KeywordToolService can give you fake Seed-based keyword suggestions when using &lt;a href="http://code.google.com/apis/adwords/docs/developer/KeywordToolService.html#getKeywordVariations" id="gx9q" title="getKeywordVariations"&gt;getKeywordVariations&lt;/a&gt;. It can also give you content-based keyword suggestions and SiteKeyword statistics when using &lt;a href="http://code.google.com/apis/adwords/docs/developer/KeywordToolService.html#getKeywordsFromSite" id="dm11" title="getKeywordsFromSite"&gt;getKeywordsFromSite&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
The AdWords API sandbox can greatly help you with your development by preventing bugs from hitting production account during early stages of development. You can find more information on AdWords API sandbox at &lt;a href="http://code.google.com/apis/adwords/docs/developer/adwords_api_sandbox.html" id="zam-" title="http://code.google.com/apis/adwords/docs/developer/adwords_api_sandbox.html"&gt;http://code.google.com/apis/adwords/docs/developer/adwords_api_sandbox.html&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
-Anash P. Oommen, AdWords API Team&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10373715-903471369897749449?l=adwordsapi.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Xqnd?a=6hsJUUQuywA:xBAM9guh0Eg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Xqnd?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Xqnd?a=6hsJUUQuywA:xBAM9guh0Eg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Xqnd?i=6hsJUUQuywA:xBAM9guh0Eg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Xqnd/~4/6hsJUUQuywA" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/903471369897749449?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/903471369897749449?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Xqnd/~3/6hsJUUQuywA/adwords-api-sandbox-best-practices.html" title="AdWords API sandbox - Best practices" /><author><name>AdWords API Team</name><uri>http://www.blogger.com/profile/04123046695062808103</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="14820665645454774099" /></author><feedburner:origLink>http://adwordsapi.blogspot.com/2009/03/adwords-api-sandbox-best-practices.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0YCSHw_fSp7ImA9WxVVF08.&quot;"><id>tag:blogger.com,1999:blog-10373715.post-4914686814666034098</id><published>2009-03-10T14:39:00.000-07:00</published><updated>2009-03-10T14:39:29.245-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-10T14:39:29.245-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="downtime" /><title>AdWords Downtime: March 14, 10am-2pm PDT</title><content type="html">We'll be performing routine system maintenance on Saturday, March 14 from approximately 10:00am to 2:00pm PDT. You won't be able to access AdWords or the API during this time frame, but your ads will continue to run as normal.&lt;br /&gt;
&lt;br /&gt;
Cheers,&lt;br /&gt;
-Jeffrey Posnick, AdWords API Team&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10373715-4914686814666034098?l=adwordsapi.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Xqnd?a=9S4zXHkyTWc:3wIkJWm0BzI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Xqnd?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/Xqnd?a=9S4zXHkyTWc:3wIkJWm0BzI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Xqnd?i=9S4zXHkyTWc:3wIkJWm0BzI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Xqnd/~4/9S4zXHkyTWc" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/4914686814666034098?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/4914686814666034098?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Xqnd/~3/9S4zXHkyTWc/adwords-downtime-march-14-10am-2pm-pdt.html" title="AdWords Downtime: March 14, 10am-2pm PDT" /><author><name>AdWords API Team</name><uri>http://www.blogger.com/profile/04123046695062808103</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="14820665645454774099" /></author><feedburner:origLink>http://adwordsapi.blogspot.com/2009/03/adwords-downtime-march-14-10am-2pm-pdt.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkINRn4yfyp7ImA9WxVXGEQ.&quot;"><id>tag:blogger.com,1999:blog-10373715.post-1407434969671771364</id><published>2009-02-17T11:23:00.000-08:00</published><updated>2009-02-17T11:23:17.097-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-17T11:23:17.097-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="documentation chinese japanese" /><title>AdWords API Developer Docs: Now in Chinese and Japanese!</title><content type="html">It's easy to write code using the AdWords API in the &lt;i&gt;programming&lt;/i&gt; language of your choice, thanks to all of our &lt;a href="http://code.google.com/apis/adwords/docs/clients.html" id="a2yw" title="client libraries"&gt;client libraries&lt;/a&gt;. But when it comes to &lt;i&gt;written&lt;/i&gt; language, you're more constrained--our recent developer documentation has only been maintained in English.&lt;br /&gt;
&lt;br /&gt;
We're happy to announce that this is no longer the case, and our &lt;a href="http://code.google.com/apis/adwords/docs/developer/" id="mgsj" title="Developer's Guide"&gt;Developer's Guide&lt;/a&gt; now features a &lt;a href="http://code.google.com/intl/zh-CN/apis/adwords/docs/developer/" id="r31m" title="Chinese"&gt;Chinese&lt;/a&gt; and &lt;a href="http://code.google.com/intl/ja/apis/adwords/docs/developer/" id="xtu6" title="Japanese"&gt;Japanese&lt;/a&gt; translation. If you're not automatically redirected to the appropriate language when you visit that page, use the popup menu in the upper right hand corner of the web page to switch to one of the supported languages.&lt;br /&gt;
&lt;br /&gt;
Please note that only the v12 version of the Developer's Guide has been translated. We're working hard to get v13 translated as well, and hope that the v12 documentation proves useful for v13 developers--the majority of the documentation is the same between the two versions. We will be leaving the v12 documentation up on the site for an extended period of time.&lt;br /&gt;
&lt;br /&gt;
We'll be releasing translations for additional languages in the future, so stay tuned for more updates!&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;--The AdWords API Team&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10373715-1407434969671771364?l=adwordsapi.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/blogspot/Xqnd?a=vkrF9O7q"&gt;&lt;img src="http://feeds.feedburner.com/~f/blogspot/Xqnd?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/blogspot/Xqnd?a=TdK29IpI"&gt;&lt;img src="http://feeds.feedburner.com/~f/blogspot/Xqnd?i=TdK29IpI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Xqnd/~4/sV701mncMws" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/1407434969671771364?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/1407434969671771364?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Xqnd/~3/sV701mncMws/adwords-api-developer-docs-now-in.html" title="AdWords API Developer Docs: Now in Chinese and Japanese!" /><author><name>AdWords API Team</name><uri>http://www.blogger.com/profile/04123046695062808103</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="14820665645454774099" /></author><feedburner:origLink>http://adwordsapi.blogspot.com/2009/02/adwords-api-developer-docs-now-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkUDRn4_eip7ImA9WxVXGEQ.&quot;"><id>tag:blogger.com,1999:blog-10373715.post-5285771828392163690</id><published>2009-02-17T11:17:00.001-08:00</published><updated>2009-02-17T11:17:57.042-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-17T11:17:57.042-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="downtime" /><title>AdWords Downtime: February 21, 10am-2pm PST</title><content type="html">We'll be performing routine system maintenance on Saturday, February 21 from approximately 10:00am to 2:00pm PST. You won't be able to access AdWords or the API during this time frame, but your ads will continue to run as normal.&lt;br /&gt;
&lt;br /&gt;
Cheers,&lt;br /&gt;
-Jeffrey Posnick, AdWords API Team&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10373715-5285771828392163690?l=adwordsapi.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/blogspot/Xqnd?a=hmZevQNg"&gt;&lt;img src="http://feeds.feedburner.com/~f/blogspot/Xqnd?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/blogspot/Xqnd?a=DM1gF9pq"&gt;&lt;img src="http://feeds.feedburner.com/~f/blogspot/Xqnd?i=DM1gF9pq" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Xqnd/~4/k3JergBRmME" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/5285771828392163690?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/5285771828392163690?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Xqnd/~3/k3JergBRmME/adwords-downtime-february-21-10am-2pm.html" title="AdWords Downtime: February 21, 10am-2pm PST" /><author><name>AdWords API Team</name><uri>http://www.blogger.com/profile/04123046695062808103</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="14820665645454774099" /></author><feedburner:origLink>http://adwordsapi.blogspot.com/2009/02/adwords-downtime-february-21-10am-2pm.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0YFRH4-fyp7ImA9WxVQF0o.&quot;"><id>tag:blogger.com,1999:blog-10373715.post-6632421695644234506</id><published>2009-02-04T10:10:00.001-08:00</published><updated>2009-02-04T10:11:55.057-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-04T10:11:55.057-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="sunset poliicy" /><title>Sunsetting v12 on February 23, 2009</title><content type="html">In accordance with our &lt;a href="http://www.google.com/support/adwordsapi/bin/answer.py?answer=33152" id="z3_8" title="policy"&gt;policy&lt;/a&gt; of sunsetting older versions of the AdWords API, we will turn off access to version 12 of the API on &lt;b id="n-mm"&gt;Monday, February 23&lt;/b&gt;&lt;b id="l2v7"&gt;, 2009&lt;/b&gt;. Version 13 of the API has been available for over four months now, and s&lt;span id="ijr." style="background-color: white;"&gt;up&lt;/span&gt;ports a number of &lt;a href="http://www.google.com/apis/adwords/developer/releasenotes.html" id="rwtp" title="new features"&gt;new features&lt;/a&gt;. We hope that you've already taken the opportunity to upgrade your code.&lt;br /&gt;
&lt;br /&gt;
The latest versions of the publicly available official Google &lt;a href="http://www.google.com/apis/adwords/clients.html" id="vi2j" title="client libraries"&gt;client libraries&lt;/a&gt; all support version 13 of the API, so if you're using one of those, please check the relevant &lt;span id="hb7t" style="font-family: Courier New;"&gt;README&lt;/span&gt; file for information on how to switch from version 12 to 13.&lt;br /&gt;
&lt;br /&gt;
As always, if you have any questions about the AdWords API or upgrading to our latest versions, you can check out our &lt;a href="http://www.google.com/support/adwordsapi/" id="xkhk" title="Frequently Asked Questions"&gt;Frequently Asked Questions&lt;/a&gt; or ask them in our &lt;a href="http://groups.google.com/group/adwords-api" id="x_8p" title="developer's forum"&gt;developer forum&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
-- &lt;i&gt;AdWords API Team&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10373715-6632421695644234506?l=adwordsapi.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/blogspot/Xqnd?a=dj4i0fHC"&gt;&lt;img src="http://feeds.feedburner.com/~f/blogspot/Xqnd?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/blogspot/Xqnd?a=S9uRJ20b"&gt;&lt;img src="http://feeds.feedburner.com/~f/blogspot/Xqnd?i=S9uRJ20b" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Xqnd/~4/otBFjZ78ktM" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/6632421695644234506?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/6632421695644234506?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Xqnd/~3/otBFjZ78ktM/sunsetting-v12-on-february-23-2009.html" title="Sunsetting v12 on February 23, 2009" /><author><name>AdWords API Team</name><uri>http://www.blogger.com/profile/04123046695062808103</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="14820665645454774099" /></author><feedburner:origLink>http://adwordsapi.blogspot.com/2009/02/sunsetting-v12-on-february-23-2009.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkYGQXs-fCp7ImA9WxVRFEQ.&quot;"><id>tag:blogger.com,1999:blog-10373715.post-3997891435419319162</id><published>2009-01-20T14:20:00.000-08:00</published><updated>2009-01-20T14:22:00.554-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-20T14:22:00.554-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="keywordtoolservice search volume match type" /><title>Keyword Match Type and the KeywordToolService</title><content type="html">We &lt;a href="http://adwordsapi.blogspot.com/2008/11/v13s-new-keyword-search-volume-info.html"&gt;first blogged&lt;/a&gt; about AdWords API v13's new keyword search volume info functionality &lt;a href="" id="brvt" title="back in November"&gt;back in November&lt;/a&gt;, and it remains a popular topic among developers. We've heard a number of follow-up questions about how the results from v13's &lt;a href="http://code.google.com/intl/en/apis/adwords/docs/developer/KeywordToolService.html" id="szai" title="KeywordToolService"&gt;KeywordToolService&lt;/a&gt; match up with the results available via the &lt;a href="http://adwords.google.com/support/bin/answer.py?answer=25918" id="hzyc" title="corresponding web application"&gt;corresponding web application&lt;/a&gt;, especially when it comes to issues regarding &lt;a href="http://adwords.google.com/support/bin/answer.py?answer=6100" id="f:89" title="keyword match type"&gt;keyword match type&lt;/a&gt;. There are two different scenarios in which you might want to specify match type when retrieving keyword variations, and hopefully the information in this blog post will clear up some confusion as to how the KeywordToolService supports that functionality.&lt;br /&gt;
&lt;br /&gt;
One scenario involves giving a hint to the keyword variation service as to what kind of query you want to use as the seed. If you're calling &lt;a href="http://code.google.com/intl/en/apis/adwords/docs/developer/KeywordToolService.html#getKeywordVariations" id="tlf2" style="font-family: Courier New;" title="getKeywordVariations()"&gt;getKeywordVariations()&lt;/a&gt;, you use the &lt;span style="font-family: Courier New;"&gt;&lt;a href="http://code.google.com/intl/en/apis/adwords/docs/developer/SeedKeyword.html#type" id="q9l8" title="type"&gt;type&lt;/a&gt;&lt;/span&gt; attribute of the &lt;span style="font-family: Courier New;"&gt;&lt;a href="http://code.google.com/intl/en/apis/adwords/docs/developer/SeedKeyword.html" id="m:e4" title="SeedKeyword"&gt;SeedKeyword&lt;/a&gt;&lt;/span&gt; object to do this. So, for example, if you want to generate variations based on a phrase match for "baseball bat", you'd specify &lt;span style="font-family: Courier New;"&gt;"Phrase"&lt;/span&gt; for the &lt;span style="font-family: Courier New;"&gt;type&lt;/span&gt; attribute and &lt;span style="font-family: Courier New;"&gt;"baseball bat"&lt;/span&gt; for the &lt;span style="font-family: Courier New;"&gt;text&lt;/span&gt; attribute of the SeedKeyword. If instead of a phrase match you were interested in generating keyword variations based on a broad match, you'd instead specify &lt;span style="font-family: Courier New;"&gt;"Broad"&lt;/span&gt; for the &lt;span style="font-family: Courier New;"&gt;type&lt;/span&gt; attribute. The important thing here is that the &lt;span style="font-family: Courier New;"&gt;type&lt;/span&gt; attribute can affect the specific variations that are returned. In the "baseball bat" example, most of the variation keywords that are returned are the same for the two match types, but there are some differences. For example, the variation "baseball training bat" is only returned when you specify a Broad match type.&lt;br /&gt;
&lt;br /&gt;
The options outlined above directly translate into using the &lt;a href="https://adwords.google.com/select/KeywordToolExternal" id="uypv" title="web version"&gt;web version&lt;/a&gt; of the tool and specifying two different match types for the source keyword. In the section in which you're instructed to "Enter one keyword or phrase per line", if you were to enter the literal text &lt;span style="font-family: Courier New;"&gt;"baseball bat"&lt;/span&gt; (with quotes) you'd specify a Phrase match type. If you entered &lt;span style="font-family: Courier New;"&gt;baseball bat&lt;/span&gt; (without quotes) you'd specify a Broad match type. (An Exact match type is expressed as &lt;span style="font-family: Courier New;"&gt;[baseball bat]&lt;/span&gt;, i.e. with brackets around the text.)&lt;br /&gt;
&lt;br /&gt;
This distinction only applies to the &lt;span style="font-family: Courier New;"&gt;getKeywordVariations()&lt;/span&gt; method of the KeywordToolService. &lt;span style="font-family: Courier New;"&gt;&lt;a href="http://code.google.com/intl/en/apis/adwords/docs/developer/KeywordToolService.html#getKeywordsFromSite" id="yh:b" title="getKeywordsFromSite()"&gt;getKeywordsFromSite()&lt;/a&gt;&lt;/span&gt; doesn't allow you to specify a match type for the source keyword because there is no source keyword; instead, you're passing in a specific URL to use as the source, and a match type would not make sense in that context.&lt;br /&gt;
&lt;br /&gt;
The second scenario in which you might care about match type involves the search volume results for each &lt;span style="font-family: Courier New;"&gt;&lt;a href="http://code.google.com/intl/en/apis/adwords/docs/developer/SiteKeyword.html" id="n.qo" title="SiteKeyword"&gt;SiteKeyword&lt;/a&gt;&lt;/span&gt; or &lt;span style="font-family: Courier New;"&gt;&lt;a href="http://code.google.com/intl/en/apis/adwords/docs/developer/KeywordVariation.html" id="ey36" title="KeywordVariation"&gt;KeywordVariation&lt;/a&gt;&lt;/span&gt; object that is returned from&lt;span style="font-family: Courier New;"&gt; getKeywordsFromSite()&lt;/span&gt; and &lt;span style="font-family: Courier New;"&gt;getKeywordVariations()&lt;/span&gt;. The web version of the tool provides a popup menu in the results area allowing you to select the match type you're interested in. When you choose a match type, it will update the search volume information of each suggested keyword accordingly. Unfortunately, there is currently no way to retrieve search volumes for different match types using the API's KeywordToolService methods. The search volumes in the results returned from the API should roughly correspond to what you'd see with the Broad setting for match type in the web tool, but retrieving search volumes for Phrase or Exact match types is not possible.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;--Jeffrey Posnick, AdWords API Team&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10373715-3997891435419319162?l=adwordsapi.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/blogspot/Xqnd?a=WiQxOWIM"&gt;&lt;img src="http://feeds.feedburner.com/~f/blogspot/Xqnd?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/blogspot/Xqnd?a=Naspn9HW"&gt;&lt;img src="http://feeds.feedburner.com/~f/blogspot/Xqnd?i=Naspn9HW" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Xqnd/~4/WhlZ6Of6zlg" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/3997891435419319162?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/3997891435419319162?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Xqnd/~3/WhlZ6Of6zlg/keyword-match-type-and.html" title="Keyword Match Type and the KeywordToolService" /><author><name>AdWords API Team</name><uri>http://www.blogger.com/profile/04123046695062808103</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="14820665645454774099" /></author><feedburner:origLink>http://adwordsapi.blogspot.com/2009/01/keyword-match-type-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkAARX0zeip7ImA9WxVSEks.&quot;"><id>tag:blogger.com,1999:blog-10373715.post-580539732883677872</id><published>2009-01-06T11:04:00.000-08:00</published><updated>2009-01-06T11:05:44.382-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-06T11:05:44.382-08:00</app:edited><title>AdWords Downtime: January 10, 10am-2pm PST</title><content type="html">We'll be performing routine system maintenance on Saturday, January 10 from approximately 10:00am to 2:00pm PST. You won't be able to access AdWords or the API during this time frame, but your ads will continue to run as normal.&lt;br /&gt;
&lt;br /&gt;
Cheers,&lt;br /&gt;
-Jeffrey Posnick, AdWords API Team&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10373715-580539732883677872?l=adwordsapi.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/blogspot/Xqnd?a=eynzOk1W"&gt;&lt;img src="http://feeds.feedburner.com/~f/blogspot/Xqnd?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/blogspot/Xqnd?a=kx07ZnGO"&gt;&lt;img src="http://feeds.feedburner.com/~f/blogspot/Xqnd?i=kx07ZnGO" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Xqnd/~4/52AAZfJjdlU" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/580539732883677872?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/580539732883677872?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Xqnd/~3/52AAZfJjdlU/adwords-downtime-january-10-10am-2pm.html" title="AdWords Downtime: January 10, 10am-2pm PST" /><author><name>AdWords API Team</name><uri>http://www.blogger.com/profile/04123046695062808103</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="14820665645454774099" /></author><feedburner:origLink>http://adwordsapi.blogspot.com/2009/01/adwords-downtime-january-10-10am-2pm.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkAAQH45cSp7ImA9WxRaEE4.&quot;"><id>tag:blogger.com,1999:blog-10373715.post-4363086394882770078</id><published>2008-12-11T15:18:00.000-08:00</published><updated>2008-12-11T15:39:01.029-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-11T15:39:01.029-08:00</app:edited><title>A preview of 2009 AdWords API changes</title><content type="html">The AdWords API team has been hard at work on some big improvements for 2009 that we're very excited to bring you. Although we're still working on the details, we wanted to give you a preview so you can plan your programming resources accordingly.&lt;br /&gt;&lt;br /&gt;These fundamental changes will offer you some major advantages, as well as improve our API infrastructure:&lt;ul style="margin-bottom: 0px; margin-top: 0px;" type="disc"&gt;&lt;li style="margin-bottom: 0px; margin-top: 0px; color: black;"&gt;&lt;b&gt;New calls features&lt;/b&gt;&lt;br /&gt;&lt;/li&gt;&lt;ul style="margin-bottom: 0px; margin-top: 0px;" type="circle"&gt;&lt;li style="margin-bottom: 0px; margin-top: 0px; color: black;"&gt;&lt;b&gt;More operations in a single call: &lt;/b&gt;We're changing the way services are constructed so that you'll be able to accomplish more work per call. Specifically, operations will accept a variety of modifiers acting on elements across ad groups. For example, you'll be able to add, update, and delete keywords across ad groups, all within a single call.&lt;/li&gt;&lt;li style="margin-bottom: 0px; margin-top: 0px; color: black;"&gt;&lt;b&gt;Asynchronous calls: &lt;/b&gt;We'll offer asynchronous calls, which will allow you to work with large sets of data faster and more easily. Instead of having to wait for our system to fully complete your request before you can make another one, you'll be able to make another call as soon as the API service confirms that it's received your previous call. No more waiting for large requests to be finished. (Synchronous methods will still be supported as well.)&lt;/li&gt;&lt;li style="margin-bottom: 0px; margin-top: 0px; color: black;"&gt;&lt;b&gt;Partial failure acceptance: &lt;/b&gt;We plan to support partial failure, so large posts aren't rolled back due to a few errors. This allows you to keep moving forward with development and not have to re-do the same posts.&lt;/li&gt;&lt;/ul&gt;&lt;li style="margin-bottom: 0px; margin-top: 0px; color: black;"&gt;&lt;b&gt;Lower costs: &lt;/b&gt;We plan to directly reduce API units consumed for the new asynchronous methods, and are exploring other ways to improve the value you get from the AdWords API by lowering costs and/or quota use.&lt;/li&gt;&lt;li style="margin-bottom: 0px; margin-top: 0px; color: black;"&gt;&lt;b&gt;Faster development: &lt;/b&gt;Our new codebase will allow us to expose new AdWords features faster, keeping the API more closely in line with the AdWords web interface. This will make it easier for you to keep your applications current and to take advantage of the latest AdWords advancements.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;We expect to launch this new API version in the first half of 2009. Since we're introducing more changes than usual, we'll extend the normal sunset period for v13 to at least 6 months after the new version's launch. These new features, and others, are still in development, but we'll be giving you more details as soon as we have them in the new year.&lt;br /&gt;&lt;br /&gt;Sincerely,&lt;br /&gt;&lt;br /&gt;Doug Raymond&lt;br /&gt;Product Manager, AdWords API&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10373715-4363086394882770078?l=adwordsapi.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/blogspot/Xqnd?a=BErhisCg"&gt;&lt;img src="http://feeds.feedburner.com/~f/blogspot/Xqnd?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/blogspot/Xqnd?a=1WJx8Hw2"&gt;&lt;img src="http://feeds.feedburner.com/~f/blogspot/Xqnd?i=1WJx8Hw2" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Xqnd/~4/bRGB4hTexBE" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/4363086394882770078?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/4363086394882770078?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Xqnd/~3/bRGB4hTexBE/preview-of-2009-adwords-api-changes.html" title="A preview of 2009 AdWords API changes" /><author><name>AdWords API Team</name><uri>http://www.blogger.com/profile/04123046695062808103</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="14820665645454774099" /></author><feedburner:origLink>http://adwordsapi.blogspot.com/2008/12/preview-of-2009-adwords-api-changes.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU8FRnc_eip7ImA9WxRbGUk.&quot;"><id>tag:blogger.com,1999:blog-10373715.post-7214015882935147806</id><published>2008-12-10T14:22:00.000-08:00</published><updated>2008-12-10T14:23:37.942-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-10T14:23:37.942-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="hostname" /><title>AdWords API Hostnames</title><content type="html">&lt;div style="text-align: left;"&gt;Just a friendly heads-up to developers out there: when you send SOAP requests to the Production AdWords API service, you should be connecting to the &lt;span style="font-family: Courier New;"&gt;adwords.google.com&lt;/span&gt; hostname. (Requests to the AdWords API Sandbox should be sent to &lt;span style="font-family: Courier New;"&gt;sandbox.google.com&lt;/span&gt;.)&lt;br /&gt;
&lt;br /&gt;
If you're using one of our &lt;a href="http://code.google.com/intl/en/apis/adwords/docs/clients.html" id="wpu6" title="client libraries"&gt;client libraries&lt;/a&gt; or generate your own client code using the standard WSDL definitions then you should already be doing the right thing. Your requests will automatically be sent to a URL starting with &lt;span style="font-family: Courier New;"&gt;https://adwords.google.com/api/adwords/&lt;/span&gt;. Our logs show that the overwhelming majority of incoming traffic falls into this category.&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
However, if you've gone out of your way to specifically send your traffic to a hostname other than &lt;span style="font-family: Courier New;"&gt;adwords.google.com&lt;/span&gt;, or directly to a specific IP address, please note that they'll stop accepting AdWords API traffic in the near future. If you think that you might be sending to a non-standard hostname, then please take the time to remediate your code.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10373715-7214015882935147806?l=adwordsapi.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/blogspot/Xqnd?a=CqbHx5Rk"&gt;&lt;img src="http://feeds.feedburner.com/~f/blogspot/Xqnd?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/blogspot/Xqnd?a=ZokxajSq"&gt;&lt;img src="http://feeds.feedburner.com/~f/blogspot/Xqnd?i=ZokxajSq" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Xqnd/~4/fV-vIWTJ0tw" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/7214015882935147806?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/10373715/posts/default/7214015882935147806?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Xqnd/~3/fV-vIWTJ0tw/adwords-api-hostnames.html" title="AdWords API Hostnames" /><author><name>AdWords API Team</name><uri>http://www.blogger.com/profile/04123046695062808103</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="14820665645454774099" /></author><feedburner:origLink>http://adwordsapi.blogspot.com/2008/12/adwords-api-hostnames.html</feedburner:origLink></entry></feed>
