我正在 PHP 中创建一个脚本,以通过 Google Analytics V4 API 检索出现在 Google Analytics 选项卡中的信息:
行为 -> 网站速度 -> 网站速度页面计时 -> 分布
我无法弄清楚如何使用 PHP 代码以直方图形式(每个页面加载示例的页面加载时间段)获取这些数据。
我期待该ga:pageLoadTime
指标有一个维度,可以让我将存储桶间隔定义为直方图......但它似乎不存在。
我已经能够获得会话计数的分布指标,如屏幕所示:
受众 -> 行为 -> 频率和新近度
注意:我按照页面中指示的示例进行操作:Google Analytics API v4: Histogram Buckets
对于指标ga:sessions
,我可以使用维度ga:sessionCount
,以便获得屏幕显示的内容。
当前的 PHP 代码:
$VIEW_ID ="xxxxxx";
// Create the DateRange object.
$dateRange = new Google_Service_AnalyticsReporting_DateRange();
$dateRange->setStartDate("2018-04-05");
$dateRange->setEndDate("2018-04-07");
// Create the Metrics object.
$loadTime = new Google_Service_AnalyticsReporting_Metric();
$loadTime->setExpression("ga:pageLoadTime");
$loadTime->setAlias("loadTime");
// Create the ReportRequest object.
$request = new Google_Service_AnalyticsReporting_ReportRequest();
$request->setViewId($VIEW_ID);
$request->setDateRanges($dateRange);
$request->setMetrics(array($loadTime));
//This next parameter without a dimension is useless!
//$request->setFiltersExpression("ga:pageLoadTime>40000");
$body = new Google_Service_AnalyticsReporting_GetReportsRequest();
$body->setReportRequests( array( $request) );
return $analytics->reports->batchGet( $body );
理想情况下,我想做这样的事情,但它不起作用:
// Create the Dimensions object.
$buckets = new Google_Service_AnalyticsReporting_Dimension();
$buckets->setName("ga:pageLoadSample");
$buckets->setHistogramBuckets(array(1,8,100,201));
// Create the Ordering.
$ordering = new Google_Service_AnalyticsReporting_OrderBy();
$ordering->setOrderType("HISTOGRAM_BUCKET");
$ordering->setFieldName("ga:pageLoadSample");
$request->setDimensions(array($buckets));
$request->setOrderBys($ordering);
我也接受有关 API 替代品的建议!