AdWords API: Ten Best Practices

Wednesday, July 09, 2008

by Matt Matyas, Google Sales Engineer

Recently the API team got together to think about ways you can get the most out the AdWords API. If you're new to the AdWords API, or even a longtime user, we hope you’ll find these tips useful.

1) Stay in touch

Want to know about the newest releases, options, and features in the AdWords API? Check out the following resources, where you can hear from us and interact with other developers:

  • Website: Find all AdWords API documentation and related resources.
  • Blog: Stay up-to-date with latest developments and best practices.
  • Mailing List: Receive important service announcements and updates by signing up at our website.
  • Forum: Interact with an active community of AdWords API developers and users, whether you're finding answers and solutions or providing them.

2) Keep current with versioning

Through our versioning, we're continually offering added functionality to the AdWords API, as well as making changes to its existing functionality. Migrate your code to newer versions, and you can take advantage of the latest features. In addition, staying up-to-date with the versioning via our website or mailing list is a great way to make sure your functionality won't unexpectedly go dark as we sunset old versions. When sunsetting any version of the AdWords API, we give months of advance notice so you have plenty of time to upgrade.

3) Manage your API Units

The AdWords API uses an API Units System to distribute our resources fairly among our many users and ensure reliability for all. Understanding your AdWords API Units usage over time via the following resources will allow you to budget according to your needs:

  • AdWords API Center: Sign in to your AdWords MCC account and visit the AdWords API Center to view your current usage and, if available, allocations.
  • AdWords API's Info Service: Using this service through the AdWords API allows you to programmatically keep watch over your API Unit levels. This can be a great way to monitor your usage automatically, and even take action based on your data. For example, you could write a program to email your team if remaining units fall below a certain threshold.

Another best practice in API Unit management is to analyze your expected AdWords API usage and forecast expected unit implications. Our rate sheet tells how many API Units are consumed per operation. By inspecting historical usage patterns and estimating API Unit implications for future AdWords API projects you may employ, you can accomplish your goals while working within your API Unit allocations.

4) Test in the sandbox

Want a place to test without consuming API units? Use the AdWords API Sandbox environment to test out your applications without consuming API Units. The sandbox replicates the API of the live site so you can test and debug new code, allowing you to develop solid applications without any risk of harming live data.

5) Use reports

How do you gauge how your campaigns are doing? Reporting can give you all of the essential statistics you need, with minimal API Unit costs. Reporting can help you conveniently analyze many aspects of your campaigns, from structure to performance. Some examples:

  • Many advertisers find value in using reports to understand performance of their keywords; values such as clicks and costs can be retrieved and ultimately used to help an advertiser understand their overall ROI.
  • Advertisers using the Google content network often run Placement Performance reports to gain insight into how their ads are performing on specific sites.

By using the AdWords API to retrieve reports, you can easily save results to your own computers and not be limited by the maximum of fifteen reports you can store in AdWords MCC accounts at a time.

6) Insert ads before keywords

Optimize your campaigns by always inserting ads into an ad group before placing keywords in it. Unlike creating ad groups through or AdWords Editor, if you insert keywords first when you create an ad group via AdWords API, AdWords' Quality Based Bidding will temporarily assign relatively high minimum cost-per-click values. This is a very common mistake, and one that can very easily be avoided. Take extra care to follow this tip to ensure optimal performance.

7) Create a local store of AdWords data

Enjoy the power of having AdWords data on a server in your office. Many users boost the efficiency of their AdWords API response times by mirroring important parts of their campaigns in a local database. Having a copy of the data allows you to rapidly query against it and retrieve information on your campaigns, ad groups, keywords, and more without having to wait for a SOAP request to travel across the internet and be processed and returned. This setup can also eliminate waste if you need to make redundant AdWords API requests.

One word of caution: it's crucial to keep your local data updated, otherwise it can quickly become stale. This is especially true since it's possible to update AdWords data via multiple channels (i.e.,, the AdWords Editor, the AdWords API, and even other systems), meaning you could fall out of sync if you’re not diligent.

8) Use the AdWords API libraries

Why reinvent the AdWords API wheel? We’ve created two resources to help jump-start your development.

9) Optimize your account

Use the AdWords API to streamline the performance of your campaigns and eliminate waste.

  • Use zero-impression reports to eliminate low-performing keywords, which will save API Units, and time spent managing inefficient keywords.
  • Use the Keyword Estimator when deciding to add new keywords or delete non-performing ones.
  • Add negative keywords to filter out unwanted traffic. To identify potential negatives, use the Report Service to find search queries that resulted in unwanted clicks on your ads. Then use the KeywordToolService to build up a set of related keywords.

10) Handle disapproved ads

Sometimes ads submitted to AdWords don't comply with our editorial or content guidelines, which are designed to create as user-friendly experience as possible. To handle any disapprovals smoothly and reduce overall ad downtime, design a process for handling disapproved ads.

  • File ExemptionRequests when you anticipate a perceived ad policy violation.
  • Use reports to determine which ads have been disapproved.
  • If errors occur due to ad policy violations, keep an eye on the error response that comes back, in particular on the isExemptable field; this will tell you if it's possible to file an exemption request for that ad.