<?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('AdNetworkType1', 'CampaignId', 'Impressions', 'Clicks', 'Conversions', 'Ctr', 'AveragePosition');
// Filter out deleted criteria.
//$selector->predicates[] = new Predicate('AdvertisingChannelType', 'IN', array('SEARCH'));
// Create report definition.
$reportDefinition = new ReportDefinition();
$reportDefinition->selector = $selector;
$reportDefinition->reportName = ' ';
$reportDefinition->reportName = 'Campaign performance report #' . uniqid();
$reportDefinition->dateRangeType = 'ALL_TIME';
$reportDefinition->reportType = 'CAMPAIGN_PERFORMANCE_REPORT';
$reportDefinition->downloadFormat = 'CSV'; //CSVFOREXCEL
// Exclude criteria that haven't recieved any impressions over the date range.
$reportDefinition->includeZeroImpressions = FALSE;
// Set additional options.
$options = array('version' => 'v201409', 'returnMoneyInMicros' => TRUE);
$filePath = NULL;
$report = ReportUtils::DownloadReport($reportDefinition, $filePath, $user, $options = NULL);
printf("Report contents are \n %s", $report);
?>