September 1st system maintenance

Wednesday, August 31, 2005

We'll be performing system maintenance on the AdWords reporting infrastructure on Thurs., Sept. 1, from 12 p.m. to 6:30 p.m. (PDT). During this time, any reports pulled from the Report Service will not be up-to-date. Shortly after the system maintenance, all reports will return to normal and will include data from the maintenance period. We apologize for this inconvenience.

--Patrick Chanezon, AdWords API evangelist

August 19th system maintenance

Wednesday, August 17, 2005

We are performing routine AdWords system maintenance from 9pm to 11pm PDT on August 19, 2005 (Friday). While all ads will continue to run as normal, you will not be able to perform any API operations during this time. We apologize for the inconvenience.

--Patrick Chanezon, AdWords API evangelist

Changes to the AdWords keyword evaluation system live

Wednesday, August 17, 2005

As we explained last month, the Google AdWords keyword evaluation system will be changing to give advertisers more control over the keywords they find important. This change is now live, and you can read about the impact on API users here.

--Patrick Chanezon, AdWords API evangelist

Save bandwidth by getting your reports compressed on the wire

Friday, August 12, 2005

Want to save bandwidth downloading reports? Here's how!

rfc2616 defines a HTTP/1.1 header called Accept-Encoding. This lets HTTP clients ask for a compressed response using a header such as:

Accept-Encoding: gzip
Google servers support gzip encoding, but only for certain HTTP User-Agents. The easiest way to tell Google you really understand gzip encoding is to have the String "gzip" as part of the User-Agent, in addition to using the "Accept-Encoding: gzip" header. If you do that, reports will be transparently compressed and you'll save a lot of download time and bandwidth.

The HTTP User-Agent is different from the useragent SOAP header you use the AdWords API calls: one is used at the transport layer, the other at the application layer. We suggest that you just append the String "gzip" to the default HTTP user agent provided by your toolkit.

This is a PHP 4 sample showing how it's done (it uses libcurl):

  // open connection to the Google server via cURL
$curlConnection = curl_init();
curl_setopt($curlConnection, CURLOPT_URL, $reportURL['getReportDownloadUrlReturn']);
curl_setopt($curlConnection, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curlConnection, CURLOPT_ENCODING, "gzip");
curl_setopt ($curlConnection, CURLOPT_USERAGENT, curl_version() . " gzip");
// buffer for downloading report xml
// buffer report
$reportXml = ob_get_contents();
// end buffering
if (curl_errno($curlConnection)) {
echo "Sorry, there was a problem while downloading your report. The cURL error message is:".curl_error($curlConnection);

(Thanks to Thomas Steiner for the sample.)

Setting HTTP headers can be done easily with any toolkits you use; keep an eye on the AdWords API Forum where other developers may post samples showing how to set these headers using other languages/libraries.

I hope this tip will help you save bandwidth when getting your API reports.

--Patrick Chanezon, AdWords API evangelist

Reminder: new quota structure in effect

Tuesday, August 02, 2005

As we explained a few weeks ago, the new quota structure for the AdWords API went into effect yesterday (August 1st). The Quota & Usage page gives you all the details about the new system. This change has been accompanied by a significant quota increase for most users, so fire up your favorite clients and check out what getUsageQuotaThisMonth returns. We're still working on updating the AdWords online interface, so please use the InfoService calls to retrieve quota allocation and usage information in the meantime. We'll post another note when that update is complete.

--Patrick Chanezon, AdWords API evangelist