我当前正在创建一个仪表板,用于显示和组合数据源。而且,我正努力显示/重新格式化从一个调用中获取的日期。
我正在使用以下代码查询访问者/用户统计信息:
$request = $this->analytics->data_ga->get( 'ga:' . $view, '365daysAgo', 'yesterday', 'ga:users,ga:sessions', [
'dimensions' => 'ga:date',
] );
$data = [];
foreach ( $request->rows as $row ) {
$date = substr( $row[0], 0, 6 );
if ( ! isset( $data[ $date ] ) ) {
$data[ $date ]['visitors'] = 0;
$data[ $date ]['sessions'] = 0;
}
$data[ $date ]['visitors'] += intval( $row[1] );
$data[ $date ]['sessions'] += intval( $row[2] );
}
return $data;
但是当我遍历接收到的数据时,对其进行计数,其输出与Google Analytics(分析)本身不同。
示例输出(2018年11月):
"201811": {
"visitors": 80496,
"sessions": 97401
},
访问者的结果应该是大约55 K,但是会话数量似乎是正确的。 Google Analytics(分析)本身也显示约55,000。
我尝试了多种方法,其中一种是将Google指定的日期键更改为日期对象,并使用d-Y
格式进行收集,另一种方法是使用strlen
来提取第一个6个字符(输出:YYYYMM
)-两种方式给出的结果相同,这是不正确的。
我还尝试使用其他维度,例如ga:month
-它返回正确的结果,但当前月份除外。看来本月的结果已经完成。
有人知道如何获得过去一年中按月分组的正确结果吗?
谢谢!