PHP Library - Can not set NetwordSearchParameter (Network Search Parameter, Network Setting)

53 views
Skip to first unread message

ry...@digitalbrands.com

unread,
Feb 24, 2016, 12:30:33 PM2/24/16
to AdWords API Forum

Everything is working fine but when I try to set the NetworkSearchParameter to only use Google Search results it doesn't seem to return the correct values.  It returns the number of searches from Google + Search Networks.


My code is:

$networkSearchParameter = new NetworkSearchParameter();
$networkSearchParameter
->networkSetting = 'targetGoogleSearch';
$selector
->searchParameters[] = $networkSearchParameter;

Also tried:

$networkSearchParameter = new NetworkSearchParameter();
$networkSetting
= new NetworkSetting();
$networkSetting
->targetGoogleSearch = true;
$networkSearchParameter
->networkSetting = $networkSetting;
$selector
->searchParameters[] = $networkSearchParameter;

And:

$networkSetting = new NetworkSetting();
$networkSetting
->targetGoogleSearch = true;
$selector
->networkSetting = $networkSetting


Is there something I am missing here? The documentation/examples on this are unclear and this is for the TargetingIdeaService.

Thanks.

= = =

The full code is below in case that is needed:

<?php
// Include the initialization file
require_once dirname( __FILE__ ) . '/../../' . 'adwords-init.php';
require_once UTIL_PATH . '/MapUtils.php';

function getSearches($keywords) {
  // Get AdWordsUser from credentials in "../auth.ini"
  // relative to the AdWordsUser.php file's directory.
  $user = new AdWordsUser();

  // Get the service, which loads the required classes.
  $targetingIdeaService =
      $user->GetService('TargetingIdeaService', ADWORDS_VERSION);

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

  // Create language search parameter (optional).
  // The ID can be found in the documentation:
  //   https://developers.google.com/adwords/api/docs/appendix/languagecodes
  // Note: As of v201302, only a single language parameter is allowed.
  $languageParameter = new LanguageSearchParameter();
  $english = new Language();
  $english->id = 1000;
  $languageParameter->languages = array($english);

  // Create related to query search parameter.
  $relatedToQuerySearchParameter = new RelatedToQuerySearchParameter();
  $relatedToQuerySearchParameter->queries = $keywords;
  $selector->searchParameters[] = $relatedToQuerySearchParameter;
  $selector->searchParameters[] = $languageParameter;

  // Set selector paging (required by this service).
  $selector->paging = new Paging(0, AdWordsConstants::RECOMMENDED_PAGE_SIZE);

  do {
    // Make the get request.
    $page = $targetingIdeaService->get($selector);

    // Display results.
    if (isset($page->entries)) :
			$results_array = array();
      foreach ($page->entries as $targetingIdea) :
        $data = MapUtils::GetMap($targetingIdea->data);
        $keyword = $data['KEYWORD_TEXT']->value;
        $search_volume = isset($data['SEARCH_VOLUME']->value) ? $data['SEARCH_VOLUME']->value : 0;
				$average_cpc = isset($data['AVERAGE_CPC']->value->microAmount) ? $data['AVERAGE_CPC']->value->microAmount : 0;
				$average_cpc = floatval($average_cpc) / 1000000;
				$results_array[] = 
					array( $keyword, $search_volume, $average_cpc );
      endforeach;
    else :
      print "No keywords ideas were found.\n";
			return false;
    endif;

    // Advance the paging index.
    $selector->paging->startIndex += AdWordsConstants::RECOMMENDED_PAGE_SIZE;
  } while ($page->totalNumEntries > $selector->paging->startIndex);
	return json_encode( $results_array );
}

// Don't run the example if the file is being included.
if (__FILE__ != realpath($_SERVER['PHP_SELF'])) {
  return;
}

try {
  // Get AdWordsUser from credentials in "../auth.ini"
  // relative to the AdWordsUser.php file's directory.
  $user = new AdWordsUser();

  // Log every SOAP XML request and response.
  //$user->LogAll();

  // Create seed keyword.
	$keywords = array(
		'Testing'
		, 'Web development'
	);

  $results_array = GetSearchVolume($user, $keywords);
	print_r ( $results_array );
} catch (Exception $e) {
  printf("An error has occurred: %s\n", $e->getMessage());
}

Anthony Madrigal

unread,
Feb 24, 2016, 1:51:27 PM2/24/16
to AdWords API Forum
Hi Ryan,

I am not experienced with PHP but I think you should be able to resolve your issue by setting the targetSearchNetwork to FALSE.

If you are still having issues, please reply privately to author your SOAP request and response.

Regards,
Anthony
AdWords API Team
Reply all
Reply to author
Forward
0 new messages