Keyword Match Type and the KeywordToolService

Tuesday, January 20, 2009


We first blogged about AdWords API v13's new keyword search volume info functionality back in November, and it remains a popular topic among developers. We've heard a number of follow-up questions about how the results from v13's KeywordToolService match up with the results available via the corresponding web application, especially when it comes to issues regarding keyword match type. 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.

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 getKeywordVariations(), you use the type attribute of the SeedKeyword object to do this. So, for example, if you want to generate variations based on a phrase match for "baseball bat", you'd specify "Phrase" for the type attribute and "baseball bat" for the text 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 "Broad" for the type attribute. The important thing here is that the type 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.

The options outlined above directly translate into using the web version 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 "baseball bat" (with quotes) you'd specify a Phrase match type. If you entered baseball bat (without quotes) you'd specify a Broad match type. (An Exact match type is expressed as [baseball bat], i.e. with brackets around the text.)

This distinction only applies to the getKeywordVariations() method of the KeywordToolService. getKeywordsFromSite() 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.

The second scenario in which you might care about match type involves the search volume results for each SiteKeyword or KeywordVariation object that is returned from getKeywordsFromSite() and getKeywordVariations(). 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.

--Jeffrey Posnick, AdWords API Team