I want to use Targeting Ideas like Keyword Planner. I tried this code but got an error. How can i solve this?
Error: [TargetingIdeaError.INSUFFICIENT_SEARCH_PARAMETERS @ selector.searchParameters]
$adWordsServices = new AdWordsServices();
$session = main('XXX-XXX-XXXX');
$targetingIdeaService = $adWordsServices->get($session, TargetingIdeaService::class);
$selector = new TargetingIdeaSelector();
$selector->setRequestType(RequestType::IDEAS);
$selector->setIdeaType(IdeaType::KEYWORD);
$selector->setRequestedAttributeTypes(
[
AttributeType::KEYWORD_TEXT,
AttributeType::SEARCH_VOLUME,
AttributeType::AVERAGE_CPC,
AttributeType::COMPETITION,
AttributeType::CATEGORY_PRODUCTS_AND_SERVICES
]
);
$paging = new Paging();
$paging->setStartIndex(0);
$paging->setNumberResults(10);
$selector->setPaging($paging);
$searchParameters = [];
$relatedToQuerySearchParameter = new RelatedToQuerySearchParameter();
$relatedToQuerySearchParameter->setQueries(
[
'iphone 11 pro max'
]
);
$searchParameters[] = $relatedToQuerySearchParameter;
$page = $targetingIdeaService->get($selector);
$entries = $page->getEntries();
if ($entries !== null) {
foreach ($entries 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;
$averageCpc = $data[AttributeType::AVERAGE_CPC]->getValue();
$competition = $data[AttributeType::COMPETITION]->getValue();
$categoryIds = ($data[AttributeType::CATEGORY_PRODUCTS_AND_SERVICES]->getValue() === null)
? $categoryIds = ''
: implode(
', ',
$data[AttributeType::CATEGORY_PRODUCTS_AND_SERVICES]->getValue()
);
printf(
"Keyword with text '%s', average monthly search volume %d, "
. "average CPC %d, and competition %.2f was found with categories: %s\n",
$keyword,
$searchVolume,
($averageCpc === null) ? 0 : $averageCpc->getMicroAmount(),
$competition,
$categoryIds
);
}
}