3

我正在 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 替代品的建议!

4

0 回答 0