Incorrect search volume

41 views
Skip to first unread message

vaibhav Yadav

unread,
Jun 27, 2017, 10:33:34 AM6/27/17
to AdWords API Forum

<?php

namespace Google\AdsApi\Examples\AdWords\v201705\Optimization;

require '../../../../../../../vendor/autoload.php';

use Google\AdsApi\AdWords\AdWordsServices;
use Google\AdsApi\AdWords\AdWordsSession;
use Google\AdsApi\AdWords\AdWordsSessionBuilder;
use Google\AdsApi\AdWords\v201702\cm\Keyword;
use Google\AdsApi\AdWords\v201702\cm\Language;
use Google\AdsApi\AdWords\v201702\cm\Location;
use Google\AdsApi\AdWords\v201702\cm\NetworkSetting;
use Google\AdsApi\AdWords\v201702\cm\Paging;
use Google\AdsApi\AdWords\v201702\o\AttributeType;
use Google\AdsApi\AdWords\v201702\o\IdeaType;
use Google\AdsApi\AdWords\v201702\o\LanguageSearchParameter;
use Google\AdsApi\AdWords\v201702\o\LocationSearchParameter;
use Google\AdsApi\AdWords\v201702\o\NetworkSearchParameter;
use Google\AdsApi\AdWords\v201702\o\RelatedToQuerySearchParameter;
use Google\AdsApi\AdWords\v201702\o\RequestType;
use Google\AdsApi\AdWords\v201702\o\TargetingIdeaSelector;
use Google\AdsApi\AdWords\v201702\o\TargetingIdeaService;
use Google\AdsApi\Common\OAuth2TokenBuilder;
use Google\AdsApi\Common\Util\MapEntries;



/**
 * This example gets keyword ideas related to a seed keyword.
 */
class GetKeywordIdeas {

  const PAGE_LIMIT = 500;

  public static function runExample(AdWordsServices $adWordsServices,
      AdWordsSession $session) {
    $targetingIdeaService =
        $adWordsServices->get($session, TargetingIdeaService::class);

    $selector = new TargetingIdeaSelector();
    $selector->setRequestType(RequestType::STATS);
    $selector->setIdeaType(IdeaType::KEYWORD);
    $selector->setRequestedAttributeTypes([
        AttributeType::KEYWORD_TEXT,
        AttributeType::SEARCH_VOLUME
    ]);

    $searchParameters = [];
  
    $keyword = 'Yoga';

    $relatedToQuerySearchParameter = new RelatedToQuerySearchParameter();
    $relatedToQuerySearchParameter->setQueries([$keyword]);
    $searchParameters[] = $relatedToQuerySearchParameter;

 
    $languageParameter = new LanguageSearchParameter();
    $english = new Language();
    $english->setId(1000);
    $languageParameter->setLanguages([$english]);
    $searchParameters[] = $languageParameter;
     
     
    $locationData = new LocationSearchParameter();
    $india = new Location();
    $india->setId(2356);
    $locationData->setLocations([$india]);
    $searchParameters[] = $locationData;
     
     


    $networkSetting = new NetworkSetting();
    $networkSetting->setTargetGoogleSearch(true);
    $networkSetting->setTargetSearchNetwork(false);
    $networkSetting->setTargetContentNetwork(false);
    $networkSetting->setTargetPartnerSearchNetwork(false);

    $networkSearchParameter = new NetworkSearchParameter();
    $networkSearchParameter->setNetworkSetting($networkSetting);
    $searchParameters[] = $networkSearchParameter;

    $selector->setSearchParameters($searchParameters);
    $selector->setPaging(new Paging(0, self::PAGE_LIMIT));

    $totalNumEntries = 0;
    do {
     
      $page = $targetingIdeaService->get($selector);

   
      if ($page->getEntries() !== null) {
         
        $totalNumEntries = $page->getTotalNumEntries();
        foreach ($page->getEntries() as $targetingIdea) {
          $data = MapEntries::toAssociativeArray($targetingIdea->getData());
          $keyword = $data[AttributeType::KEYWORD_TEXT]->getValue();
           
          $searchVolume =
              ($data[AttributeType::SEARCH_VOLUME]->getValue() !== null)
              ? $data[AttributeType::SEARCH_VOLUME]->getValue() : 0;
        
          printf(
              "Keyword idea with text '%s',  and average "
                  . "monthly search volume %d was found.\n",
              $keyword,
              $searchVolume
          );
        }
         
      }

      $selector->getPaging()->setStartIndex(
          $selector->getPaging()->getStartIndex() + self::PAGE_LIMIT);
    } while ($selector->getPaging()->getStartIndex() < $totalNumEntries);

    printf("Number of results found: %d\n", $totalNumEntries);
  }
   

      public static function main() {
         
       
        $oAuth2Credential = (new OAuth2TokenBuilder())
            ->fromFile()
            ->build();

       
        $session = (new AdWordsSessionBuilder())
            ->fromFile()
            ->withOAuth2Credential($oAuth2Credential)
            ->build();
        self::runExample(new AdWordsServices(), $session);
      }
}

GetKeywordIdeas::main();



I am getting ridculous search volumes for even keywords such as 'svvqwegwqqg' which should not have a search volume in millions.
If i use TARGETED_MONTHLY_SEARCHES, the answer is always 1. Please help

Shwetha Vastrad (AdWords API Team)

unread,
Jun 27, 2017, 1:37:48 PM6/27/17
to AdWords API Forum
Hi Vaibhav, 

Could you check if the clientCustomerId specified in the request header belongs to a Test AdWords account? TargetingIdeaService and TrafficEstimatorService return dummy data when used with test accounts. You'll need to make a request against a production account to get actual data. If the clientCustomerId is that of a production AdWords account, please provide a sample request and response log which returned incorrect search volume and I'll take a look. Please use Reply privately to author when responding.

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