Hi All,
I am able to download keyword performance report by using the example
in version 201101.
However, when I am trying to download search_query_performance_report
(by changing the selector and report type from the keyword
perfrormance report while creating the report definition ), I got a
report with an empty data.
Is it because the data is not automatically added? Because I use the
same ad group id for keyword performance report and it gives me some
data.
Below is the result that I get.
<?xml version='1.0' encoding='UTF-8' standalone='yes'?><report><report-
name name='Search Query performance report #1303886318'/><date-range
date='Apr 23, 2011-Apr 25, 2011'/><table><columns><column
name='adGroupID' display='Ad group ID'/><column name='campaignID'
display='Campaign ID'/><column name='campaign' display='Campaign'/
><column name='campaignState' display='Campaign state'/><column
name='keywordID' display='Keyword ID'/><column name='searchTerm'
display='Search term'/><column name='totalConvValue' display='Total
conv. value'/><column name='matchType' display='Match type'/><column
name='impressions' display='Impressions'/><column name='clicks'
display='Clicks'/><column name='cost' display='Cost'/></columns></
table></report>
And below is my code. Thanks in advance
error_reporting(E_STRICT | E_ALL);
$path = dirname(__FILE__) . '/../../src';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
require_once 'vendors/google_adwords/src/Google/Api/Ads/AdWords/Lib/
AdWordsUser.php';
require_once 'vendors/google_adwords/src/Google/Api/Ads/AdWords/Util/
ReportUtils.php';
/**
*
* First we want to request for a report
*/
function addKeywordsPerformance($user){
try {
// Get AdWordsUser from credentials in "../auth.ini"
// relative to the AdWordsUser.php file's directory.
$devtoken = $user->GetDeveloperToken();
// Log SOAP XML request and response.
$user->LogDefaults();
// Get the GetReportDefinitionService.
$reportDefinitionService = $user-
>GetReportDefinitionService('v201101');
$startDate = date("Ymd", strtotime("-3 days"));
$endDate = date("Ymd", strtotime("-1 days"));
// Create selector to indicate which fields we want to get
$selector = new Selector();
$selector->fields = array('AdGroupId', 'CampaignId',
'CampaignName',
'CampaignStatus', 'KeywordId', 'Query', 'TotalConvValue',
'MatchType', 'Impressions', 'Clicks', 'Cost');
$selector->dateRange = new DateRange($startDate, $endDate);
// Create predicates.
$adGroupId = 1814788471;
$adGroupPredicate = new Predicate();
$adGroupPredicate->field = 'AdGroupId';
$adGroupPredicate->operator = 'EQUALS';
$adGroupPredicate->values = array($adGroupId);
$selector->predicates = array($adGroupPredicate);
// Create report definition.
$reportDefinition = new ReportDefinition();
$reportDefinition->reportName = 'Search Query performance
report #' . time();
$reportDefinition->dateRangeType = 'CUSTOM_DATE';
$reportDefinition->reportType =
'SEARCH_QUERY_PERFORMANCE_REPORT';
$reportDefinition->downloadFormat = 'XML';
$reportDefinition->selector = $selector;
// Create operations.
$operation = new ReportDefinitionOperation();
$operation->operand = $reportDefinition;
$operation->operator = 'ADD';
$operations = array($operation);
// Add report definition.
$result = $reportDefinitionService->mutate($operations);
// Display report definitions.
if ($result != null) {
var_dump($result);
print_r($result, true);
foreach ($result as $reportDefinition) {
printf("Report definition with name '%s' and id '%s'
was added.\n",
$reportDefinition->reportName, $reportDefinition->id);
return $reportDefinition->id;
}
} else {
print "No report definitions were added.\n";
}
} catch (Exception $e) {
print $e->getMessage();
exit();
}
}
try {
// Get AdWordsUser from credentials in "../auth.ini"
// relative to the AdWordsUser.php file's directory.
$user = new AdWordsUser();
// Log SOAP XML request and response.
$user->LogDefaults();
$reportDefinitionId = addKeywordsPerformance($user);
print("Report definiton id = $reportDefinitionId");
$fileName = 'google_adword_search_performance.xml';
$path = dirname(__FILE__) . '/' . $fileName;
// Download report.
ReportUtils::DownloadReport($reportDefinitionId, $path, $user);
printf("Report with definition id '%s' was downloaded to '%s'.\n",
$reportDefinitionId, $fileName);
} catch (Exception $e) {
print $e->getMessage();
}
--
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and discussion group:
http://adwordsapi.blogspot.com
http://groups.google.com/group/adwords-api
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
You received this message because you are subscribed to the Google
Groups "AdWords API Forum" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en