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

Reply via email to