Hi, The problem with the KeywordMatchTypeSearchParameter has been resolved and you should now see the correct behavior when using this parameter. Starting in v201003 the NgramGroupsSearchParameter was replaced by the IdeaTextMatchesSearchParameter:
http://code.google.com/apis/adwords/docs/reference/latest/TargetingIdeaService.IdeaTextMatchesSearchParameter.html In regards to the other behavior, can you post the sanitized SOAP XML request and response that demonstrates the problem? Best, - Eric Koleda, AdWords API Team On Oct 6, 7:09 am, Serge_Lapin <[email protected]> wrote: > Hello, > > I have recently completed the development of an internal tool > (using version 8.0.0 of the .NET client library and the v200909 > classes). The tool takes in keyword(s), language, country and match > type (broad, exact or phrase), and displays the results to the user. > Initially (about a month ago), the search volumes returned were vastly > inflated from those given by the new Google Keyword Tool, but, after > scratching my head and ultimately making ZERO changes to my code, all > of a sudden the numbers started matching (= happy customer). Then, > about a week ago, it was noticed that NO results were being returned. > I confirmed that my code had not changed at all. A couple of days > later, results started to be returned again, but:- > > a) The match type is being ignored, i.e if "Exact" is specified, > "Broad" and "Phrase" are also returned. > > b) If, for example the phrase supplied is "diet coke", now only 1 > result is returned (actually 3 because of the problem described in (a) > above), which is "diet coke". Previously I'm sure that it was > returning multiple results of keywords e.g. "calories in diet coke", > "diet coke with lime" etc. I had achieved this behaviour by using the > NgramGroupsSearchParameter in order to ignore synonyms. Again the > behaviour seems to have changed. > > So now I'm a little confused as to what is happening. I decided to try > version 10.0.0 of the client library, but v201008 doesn't appear to > have the NgramGroupsSearchParameter, in which case how does one > specify to the API that synonyms should be ignored? > > As I previously stated, my code has not changed throughout these > behaviour changes, but here is the relevant code anyway. Please let me > know if you require any further information. > > _currentKeyword = _seedKeywords[0]; > > //Set the Google Match Type > v200909.KeywordMatchType googleMatchType; > switch (_matchType) > { > case KeywordsMatchTypes.Broad: > googleMatchType = > v200909.KeywordMatchType.BROAD; > break; > case KeywordsMatchTypes.Exact: > googleMatchType = > v200909.KeywordMatchType.EXACT; > break; > case KeywordsMatchTypes.Phrase: > googleMatchType = > v200909.KeywordMatchType.PHRASE; > break; > default: > googleMatchType = > v200909.KeywordMatchType.EXACT; > break; > } > > // Create KeywordRequests. > string[] keywords = > Regex.Split(_currentKeyword.Keywords, "\r\n"); > v200909.Keyword[] adwordsKeywords = new > v200909.Keyword[keywords.GetUpperBound(0)+1]; > int kwIndex = -1; > foreach (string keyword in keywords) > { > kwIndex++; > adwordsKeywords[kwIndex] = new > v200909.Keyword(); > adwordsKeywords[kwIndex].text = keyword; > adwordsKeywords[kwIndex].matchType = > googleMatchType; > adwordsKeywords[kwIndex].matchTypeSpecified = > true; > } > > // Create selector. > v200909.TargetingIdeaSelector selector = new > v200909.TargetingIdeaSelector(); > selector.requestType = v200909.RequestType.IDEAS; > selector.requestTypeSpecified = true; > selector.ideaType = v200909.IdeaType.KEYWORD; > selector.ideaTypeSpecified = true; > selector.requestedAttributeTypes = new > v200909.AttributeType[] { v200909.AttributeType.KEYWORD, > > v200909.AttributeType.AVERAGE_TARGETED_MONTHLY_SEARCHES, > > v200909.AttributeType.TARGETED_MONTHLY_SEARCHES}; > > // Set selector paging (required for targeting > idea service). > v200909.Paging paging = new v200909.Paging(); > paging.startIndex = 0; > paging.startIndexSpecified = true; > paging.numberResults = > targetingIdeaPage_numberResultsPerPage; > paging.numberResultsSpecified = true; > selector.paging = paging; > > // Create related to keyword search parameter. > v200909.RelatedToKeywordSearchParameter > relatedToKeywordSearchParameter = new > v200909.RelatedToKeywordSearchParameter(); > relatedToKeywordSearchParameter.keywords = > adwordsKeywords; > > // Create keyword match type search parameter to > ensure unique results. > v200909.KeywordMatchTypeSearchParameter > keywordMatchTypeSearchParameter = new > v200909.KeywordMatchTypeSearchParameter(); > keywordMatchTypeSearchParameter.keywordMatchTypes > = new v200909.KeywordMatchType[] { googleMatchType }; > > v200909.CountryTargetSearchParameter > countryTargetSearchParameter = new > v200909.CountryTargetSearchParameter(); > v200909.CountryTarget ctarget = new > v200909.CountryTarget(); > ctarget.countryCode = _country; > countryTargetSearchParameter.countryTargets = new > v200909.CountryTarget[] { ctarget }; > > v200909.LanguageTargetSearchParameter > languageTargetSearchParameter = new > v200909.LanguageTargetSearchParameter(); > v200909.LanguageTarget ltarget = new > v200909.LanguageTarget(); > ltarget.languageCode = _language; > languageTargetSearchParameter.languageTargets = > new v200909.LanguageTarget[] { ltarget }; > > v200909.NgramGroupsSearchParameter > ngramGroupsSearchParameter = new v200909.NgramGroupsSearchParameter(); > if (!_getSynonyms) > { > ngramGroupsSearchParameter.ngramGroups = > keywords; > selector.searchParameters = new > v200909.SearchParameter[] { relatedToKeywordSearchParameter, > keywordMatchTypeSearchParameter, countryTargetSearchParameter, > languageTargetSearchParameter, ngramGroupsSearchParameter }; > } > else > { > selector.searchParameters = new > v200909.SearchParameter[] { relatedToKeywordSearchParameter, > keywordMatchTypeSearchParameter, countryTargetSearchParameter, > languageTargetSearchParameter }; > } > > // Get related keywords. > for (int iX = 0; iX < > targetingIdeaPage_numberResultsMax; iX += > targetingIdeaPage_numberResultsPerPage) > { > paging.startIndex = iX; > paging.startIndexSpecified = true; > > _targetingIdeaPage = > _targetingIdeaService.get(selector); -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups "AdWords API Forum" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/adwords-api?hl=en
