|
@@ -718,7 +718,100 @@ class GA{
|
|
|
return $result;
|
|
|
|
|
|
}
|
|
|
+ public function trafficsource_overview($dp,$start_at,$end_at){
|
|
|
+ $analytics=self::getInstance($dp);
|
|
|
+ $dimensionArr=[
|
|
|
+ 'channelGrouping'=>'ga:channelGrouping',
|
|
|
+ ];
|
|
|
+ $metricArr=[
|
|
|
+ 'users'=>"ga:users",
|
|
|
+ 'newUsers'=>"ga:newUsers",
|
|
|
+ 'sessions'=>"ga:sessions",
|
|
|
+ 'bounceRate'=>"ga:bounceRate",
|
|
|
+ 'transactionsPerSession'=>"ga:transactionsPerSession",
|
|
|
+ 'transactionRevenue'=>"ga:transactionRevenue",
|
|
|
+ 'transactions'=>"ga:transactions",
|
|
|
+ ];
|
|
|
+ $VIEW_ID = $this->getViewId($dp);//
|
|
|
+ $dateRange = new \Google_Service_AnalyticsReporting_DateRange();
|
|
|
+ $dateRange->setStartDate($start_at);
|
|
|
+ $dateRange->setEndDate($end_at);
|
|
|
+ $metrics=[];
|
|
|
+ $dimensions=[];
|
|
|
+ foreach($metricArr as $k=>$v){
|
|
|
+ $Metric = new \Google_Service_AnalyticsReporting_Metric();
|
|
|
+ $Metric->setExpression($v);
|
|
|
+ $Metric->setAlias($k);
|
|
|
+ array_push($metrics,$Metric);
|
|
|
+ }
|
|
|
+ foreach($dimensionArr as $k=>$v){
|
|
|
+ $Dimension = new \Google_Service_AnalyticsReporting_Dimension();
|
|
|
+ $Dimension->setName($v);
|
|
|
+ array_push($dimensions,$Dimension);
|
|
|
+ }
|
|
|
+ $request = new \Google_Service_AnalyticsReporting_ReportRequest();
|
|
|
+ $request->setViewId($VIEW_ID);
|
|
|
+ $request->setDateRanges($dateRange);
|
|
|
+ $request->setMetrics($metrics);
|
|
|
+ $request->setDimensions($dimensions);
|
|
|
+ // $request->setOrderBys($orderBy);
|
|
|
+
|
|
|
+ $body = new \Google_Service_AnalyticsReporting_GetReportsRequest();
|
|
|
+ $body->setReportRequests( array( $request) );
|
|
|
+ $reports= $analytics->reports->batchGet( $body );
|
|
|
+
|
|
|
+ $result=$this->getResults($reports);
|
|
|
+ return $result;
|
|
|
+ }
|
|
|
+ public function googleAds(){
|
|
|
+ $analytics=self::getInstance($dp);
|
|
|
+ $dimensionArr=[
|
|
|
+ 'adwordsCampaignID'=>'ga:adwordsCampaignID',
|
|
|
+ ];
|
|
|
+ $metricArr=[
|
|
|
+ 'adClicks'=>"ga:adClicks",
|
|
|
+ 'adCost'=>"ga:adCost",
|
|
|
+ 'CPC'=>"ga:CPC",
|
|
|
+ 'users'=>"ga:users",
|
|
|
+ 'sessions'=>"ga:sessions",
|
|
|
+ 'bounceRate'=>"ga:bounceRate",
|
|
|
+ 'transactionsPerSession'=>"ga:transactionsPerSession",
|
|
|
+ 'transactionRevenue'=>"ga:transactionRevenue",
|
|
|
+ 'transactions'=>"ga:transactions",
|
|
|
+ ];
|
|
|
+ $VIEW_ID = $this->getViewId($dp);//
|
|
|
+ $dateRange = new \Google_Service_AnalyticsReporting_DateRange();
|
|
|
+ $dateRange->setStartDate($start_at);
|
|
|
+ $dateRange->setEndDate($end_at);
|
|
|
+ $metrics=[];
|
|
|
+ $dimensions=[];
|
|
|
+ foreach($metricArr as $k=>$v){
|
|
|
+ $Metric = new \Google_Service_AnalyticsReporting_Metric();
|
|
|
+ $Metric->setExpression($v);
|
|
|
+ $Metric->setAlias($k);
|
|
|
+ array_push($metrics,$Metric);
|
|
|
+ }
|
|
|
+ foreach($dimensionArr as $k=>$v){
|
|
|
+ $Dimension = new \Google_Service_AnalyticsReporting_Dimension();
|
|
|
+ $Dimension->setName($v);
|
|
|
+ array_push($dimensions,$Dimension);
|
|
|
+ }
|
|
|
+ $request = new \Google_Service_AnalyticsReporting_ReportRequest();
|
|
|
+ $request->setViewId($VIEW_ID);
|
|
|
+ $request->setDateRanges($dateRange);
|
|
|
+ $request->setMetrics($metrics);
|
|
|
+ $request->setDimensions($dimensions);
|
|
|
+ // $request->setOrderBys($orderBy);
|
|
|
+
|
|
|
+ $body = new \Google_Service_AnalyticsReporting_GetReportsRequest();
|
|
|
+ $body->setReportRequests( array( $request) );
|
|
|
+ $reports= $analytics->reports->batchGet( $body );
|
|
|
+
|
|
|
+ $result=$this->getResults($reports);
|
|
|
+ return $result;
|
|
|
+
|
|
|
|
|
|
+ }
|
|
|
|
|
|
function getResults($reports) {
|
|
|
$data=[];
|