How to get bulk keywords stats using PHP Client

225 views
Skip to first unread message

Veer

unread,
May 27, 2010, 4:09:52 AM5/27/10
to AdWords API Forum
Hi

I am trying to fetch the keyword search volume, For a single keyword I
am able to get the AVERAGE_TARGETED_MONTHLY_SEARCHES,
GLOBAL_MONTHLY_SEARCHES etc. But is there any way to get stats for
multiple keywords in one api call.

I had tried like this:
------------------------------------------------------------------------------------------------------------------------------------------------------------
$targetingIdeaService = $user->GetTargetingIdeaService('v200909');

// Create seed keyword.
$keyword1 = new Keyword();
$keyword1->text = 'WEb Blog';
$keyword1->matchType = 'EXACT';

$keyword2 = new Keyword();
$keyword2->text = 'Maths Calculator';
$keyword2->matchType = 'EXACT';

$keyword3 = new Keyword();
$keyword3->text = 'Friction Power';
$keyword3->matchType = 'EXACT';

$keyword4 = new Keyword();
$keyword4->text = 'Friction Physics';
$keyword4->matchType = 'EXACT';

$languageTarget = new LanguageTarget();
$languageTarget->languageCode="en";

$countryTarget = new CountryTarget();
$countryTarget->countryCode="US";
// Create selector.
$selector = new TargetingIdeaSelector();
$selector->requestType = 'STATS';
$selector->ideaType = 'KEYWORD';
$selector->localeCode="en_US";

$selector->requestedAttributeTypes =
array('KEYWORD','AVERAGE_TARGETED_MONTHLY_SEARCHES','GLOBAL_MONTHLY_SEARCHES');

// Set selector paging (required for targeting idea service).
$paging = new Paging();
$paging->startIndex = 0;
$paging->numberResults = 1;
$selector->paging = $paging;

// Create related to keyword search parameter.
$relatedToKeywordSearchParameter = new
RelatedToKeywordSearchParameter();
$relatedToKeywordSearchParameter->keywords =
array($keyword1,$keyword2,$keyword3,$keyword4);

$languageTargetSearchParameter = new
LanguageTargetSearchParameter();
$languageTargetSearchParameter->languageTargets=$languageTarget;

$countryTargetSearchParameter= new CountryTargetSearchParameter();
$countryTargetSearchParameter->countryTargets= $countryTarget;

$selector->searchParameters = array($relatedToKeywordSearchParameter,
$languageTargetSearchParameter,$countryTargetSearchParameter);

// Get related keywords.
$page = $targetingIdeaService->get($selector);

--------------------------------------------------------------------------------------------------------------------------------------------------------------

But still I am getting the result for first keyword only. Please help
me out. Thanks in advance.

calford

unread,
May 27, 2010, 11:04:26 AM5/27/10
to AdWords API Forum
hi,
try this

$keyword_array = array($keyword1, $keyword2, $keyword3, $keyword4);
$relatedToKeywordSearchParameter = new
RelatedToKeywordSearchParameter($keyword_array);

instead of

Androidman

unread,
Mar 8, 2011, 10:31:58 PM3/8/11
to adwor...@googlegroups.com
Hi, can you help me? I have same project and problem with Veer. I try your solution and got this error.

[RequiredError.REQUIRED @ selector.searchParameters[1].keywords[0].text, RequiredError.REQUIRED @ selector.searchParameters[1].keywords[0].matchType, RequiredError.REQUIRED @ selector.searchParameters[1].keywords[1].text, RequiredError.REQUIRED @ selector.searchParameters[1].keywords[1].matchType, DistinctError.DUPLICATE_ELEMENT @ selector.searchParameters[1].keywords[1]]

and this is my script :
  $targetingIdeaService = $user->GetTargetingIdeaService('v201008');
  $keyword_array = array('star','kerajaan');

  // Create seed keyword.
  //$keyword = new Keyword();
 // $keyword->text = $isi;
  //$keyword->matchType = 'BROAD';


  // Create selector.
  $selector = new TargetingIdeaSelector();
  $selector->requestType = 'STATS';
  $selector->ideaType = 'KEYWORD';
  $selector->requestedAttributeTypes =
      array('KEYWORD', 'AVERAGE_TARGETED_MONTHLY_SEARCHES');


  // Set selector paging (required for targeting idea service).
  $paging = new Paging();
  $paging->startIndex = 0;
  $paging->numberResults = 5;

  $selector->paging = $paging;

  // Create related to keyword search parameter.
 $relatedToKeywordSearchParameter = new RelatedToKeywordSearchParameter($keyword_array);

  // Create keyword match type search parameter to ensure unique results.
  $keywordMatchTypeSearchParameter = new KeywordMatchTypeSearchParameter();
  $keywordMatchTypeSearchParameter->keywordMatchTypes = array('BROAD');

  $selector->searchParameters = array($relatedToKeywordSearchParameter, $keywordMatchTypeSearchParameter);

Androidman

unread,
Mar 8, 2011, 11:28:37 PM3/8/11
to AdWords API Forum

Hi Veer,
If use your original script, You can get all the results by changing
$paging->numberResults = 1;
to
$paging->numberResults = 4; //where 4 is number of your keywords.

Androidman

unread,
Mar 9, 2011, 3:02:59 AM3/9/11
to AdWords API Forum
I fix its all.. thank you.
No need reply.
Reply all
Reply to author
Forward
0 new messages