为了获取关键字估算流量使用下面做一些修改到AdWords API的例子
Please refer this link for Google Adwords Example.
注意我写的功能:你必须将您的信用卡(ClientId,RefreshToken,ClientSecret,DeveloperToken)设置为以下文件:\ lib \ Google \ Api \ Ads \ AdWords \ auth.ini
通过包含的init.php文件加载你的API库..你可以得到这个文件到您的谷歌的AdWords库
require_once dirname(dirname(__FILE__)) . '/init.php';
$location = 2840;//Location unitedStates
$language = 1000;//for english language
$max_cpc = 1;
$keywords = array("Keywords1","Keywords2");
$user = new AdWordsUser();
$estimateData = estimateTraffic($user,$keywords,$location,$language,$max_cpc);
function estimateTraffic(AdWordsUser $user,$kws,$country,$lang,$max_cpc) {
$trafficEstimatorService = $user->GetService('TrafficEstimatorService', ADWORDS_VERSION);
if(!is_numeric($max_cpc) || empty($max_cpc)){
$max_cpc = 1;
}
$keywords = array();
foreach($kws as $v){
$keywords[] = new Keyword($v, 'BROAD');
}
// Create a keyword estimate request for each keyword.
$keywordEstimateRequests = array();
foreach ($keywords as $keyword) {
$keywordEstimateRequest = new KeywordEstimateRequest();
$keywordEstimateRequest->keyword = $keyword;
$keywordEstimateRequests[] = $keywordEstimateRequest;
}
// Create ad group estimate requests.
$adGroupEstimateRequest = new AdGroupEstimateRequest();
$adGroupEstimateRequest->keywordEstimateRequests = $keywordEstimateRequests;
$adGroupEstimateRequest->maxCpc = new Money(1000000*$max_cpc);
// Create campaign estimate requests.
$campaignEstimateRequest = new CampaignEstimateRequest();
$campaignEstimateRequest->adGroupEstimateRequests[] = $adGroupEstimateRequest;
// Set targeting criteria. Only locations and languages are supported.
$unitedStates = new Location();
$unitedStates->id = $country;
$campaignEstimateRequest->criteria[] = $unitedStates;
$english = new Language();
$english->id = $lang;
$campaignEstimateRequest->criteria[] = $english;
// Create selector.
$selector = new TrafficEstimatorSelector();
$selector->campaignEstimateRequests[] = $campaignEstimateRequest;
// Make the get request.
$result = $trafficEstimatorService->get($selector);
// Display results.
$keywordEstimates = $result->campaignEstimates[0]->adGroupEstimates[0]->keywordEstimates;
$keywordStats = array();
$decimals = 3;
for ($i = 0; $i < sizeof($keywordEstimates); $i++) {
$keywordStats[$i]['keyword'] = $kws[$i];
$keywordEstimateRequest = $keywordEstimateRequests[$i];
if (!$keywordEstimateRequest->isNegative) {
$keyword = $keywordEstimateRequest->keyword;
$keywordEstimate = $keywordEstimates[$i];
if (isset($keywordEstimate->min->averageCpc->microAmount) &&
isset($keywordEstimate->max->averageCpc->microAmount)) {
$meanAverageCpc = ($keywordEstimate->min->averageCpc->microAmount + $keywordEstimate->max->averageCpc->microAmount)/2;
//printf(" Estimated average CPC in micros: %.0f\n", $meanAverageCpc);
$keywordStats[$i]['cpc'] = number_format ($meanAverageCpc/1000000, $decimals);
}
if (isset($keywordEstimate->min->averagePosition) &&
isset($keywordEstimate->max->averagePosition)) {
$meanAveragePosition = ($keywordEstimate->min->averagePosition + $keywordEstimate->max->averagePosition)/2;
//printf(" Estimated ad position: %.2f \n", $meanAveragePosition);
$keywordStats[$i]['position'] = round($meanAveragePosition);
}
if (isset($keywordEstimate->min->clickThroughRate) &&
isset($keywordEstimate->max->clickThroughRate)) {
$meanClickThroughRate = ($keywordEstimate->min->clickThroughRate + $keywordEstimate->max->clickThroughRate)/2;
//printf(" Estimated ad position: %.2f \n", $meanAveragePosition);
$keywordStats[$i]['ctr'] = number_format($meanClickThroughRate,$decimals);
}
if (isset($keywordEstimate->min->impressionsPerDay) &&
isset($keywordEstimate->max->impressionsPerDay)) {
$meanImpression = ($keywordEstimate->min->impressionsPerDay + $keywordEstimate->max->impressionsPerDay)/2;
//printf(" Estimated ad position: %.2f \n", $meanAveragePosition);
$keywordStats[$i]['impression'] = round($meanImpression);
}
if (isset($keywordEstimate->min->clicksPerDay) &&
isset($keywordEstimate->max->clicksPerDay)) {
$meanClicks = ($keywordEstimate->min->clicksPerDay + $keywordEstimate->max->clicksPerDay)/2;
//printf(" Estimated daily clicks: %d\n", $meanClicks);
$keywordStats[$i]['clicks'] = round($meanClicks);
}
if (isset($keywordEstimate->min->totalCost->microAmount) &&
isset($keywordEstimate->max->totalCost->microAmount)) {
$meanTotalCost = ($keywordEstimate->min->totalCost->microAmount + $keywordEstimate->max->totalCost->microAmount)/2;
//printf(" Estimated daily cost in micros: %.0f\n\n", $meanTotalCost);
$keywordStats[$i]['cost'] = number_format (round($meanTotalCost)/1000000, $decimals);
}
}
}
return $keywordStats;
}