<?php
error_reporting(-1);
ini_set('display_errors',1);
$path = dirname(__FILE__) . '/../../src';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
require_once '/Google/Api/Ads/AdWords/Lib/AdWordsUser.php';
$user = new AdWordsUser();
// Log SOAP XML request and response.
$user->LogDefaults();
$user->LoadService('ReportDefinitionService', 'v201409');
$LoadService = $user->LoadService('ReportDefinitionService', 'v201409');
// Create selector.
$selector = new Selector();
$selector->fields = array('CampaignId', 'AdGroupId', 'Id', 'Criteria', 'CriteriaType', 'Impressions', 'Clicks', 'Conversions', 'Cost', 'CustomerDescriptiveName', 'Ctr', 'AveragePosition');
// Filter out deleted criteria.
//$selector->predicates[] = new Predicate('Status', 'NOT_IN', array('DELETED'));
// Create report definition.
$reportDefinition = new ReportDefinition();
$reportDefinition->selector = $selector;
$reportDefinition->reportName = 'Criteria performance report #' . uniqid();
$reportDefinition->dateRangeType = 'ALL_TIME';
$reportDefinition->reportType = 'CRITERIA_PERFORMANCE_REPORT';
$reportDefinition->downloadFormat = 'XML'; //CSVFOREXCEL
// Salva o arquivo no caminho indicado abaixo
$filePath = dirname(__FILE__) . '/report.xml';
// Exclude criteria that haven't recieved any impressions over the date range.
$reportDefinition->includeZeroImpressions = FALSE;
// Set additional options.
$options = array('version' => 'v201409', 'returnMoneyInMicros' => TRUE);
// Download report.
ReportUtils::DownloadReport($reportDefinition, $filePath, $user, $options);
printf("Report with name '%s' was downloaded to '%s'.\n", $reportDefinition->reportName, $filePath);
$doc = new DOMDocument();
$doc->loadXML(file_get_contents($filePath));
$xp = new DOMXPath($doc);
$q = $xp->query("/report/table/row/@cost");
$cost = 0;
foreach($q as $el) {
$v = $el->textContent;
$cost += $v / 1000000;
}
echo "Custo: ".$cost;
?>