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

Reply via email to