|
@@ -488,6 +488,59 @@ class GA{
|
|
|
$result=$this->getResults($reports);
|
|
|
return $result;
|
|
|
|
|
|
+ }
|
|
|
+ public function goals($dp,$start_at,$end_at){
|
|
|
+ $analytics=self::getInstance($dp);
|
|
|
+ $dimensionArr=[
|
|
|
+ 'date'=>'ga:date',
|
|
|
+ ];
|
|
|
+ $metricArr=[
|
|
|
+ 'pageviews'=>"ga:pageviews",
|
|
|
+ 'sessionCount'=>"ga:sessionCount",
|
|
|
+ 'users'=>"ga:users",
|
|
|
+ 'newUsers'=>"ga:newUsers",
|
|
|
+ 'bounceRate'=>"ga:bounceRate",
|
|
|
+ 'goal3Completions'=>"ga:goal3Completions",
|
|
|
+ 'goal3ConversionRate'=>"ga:goal3ConversionRate",
|
|
|
+ 'goal7Completions'=>"ga:goal7Completions",
|
|
|
+ 'goal7ConversionRate'=>"ga:goal7ConversionRate",
|
|
|
+ 'transactionRevenue'=>"ga:transactionRevenue",
|
|
|
+ 'revenuePerTransaction'=>"ga:revenuePerTransaction",
|
|
|
+
|
|
|
+
|
|
|
+ ];
|
|
|
+
|
|
|
+ $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 regionProduct($region,$dp,$start_at,$end_at){
|
|
|
$analytics=self::getInstance($dp);
|