You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已获取设备报告,如何从Google Analytics API优雅获取会话占比?

优雅获取GA设备会话占比的两种方案

嘿,很高兴看到你已经成功拿到设备类别的会话数据了!针对你问的「有没有优雅方式获取基于总会话数的会话占比」,我整理了两种可行的路子:

方案一:手动计算(无需额外GA配置)

这是最直接的方式,先单独查询一次总会话数,再遍历现有结果计算占比。代码示例如下:

// 第一步:获取总会话数
$totalSessionsQuery = Analytics::performQuery(
    $period,
    'ga:sessions',
    ['metrics' => 'ga:sessions']
);
$totalSessions = (int)$totalSessionsQuery->rows[0][0];

// 第二步:遍历已有设备数据,计算占比
foreach ($analyticsData->rows as &$row) {
    $deviceSessions = (int)$row[1]; // 对应metrics里的ga:sessions位置
    $percentage = number_format(($deviceSessions / $totalSessions) * 100, 2);
    $row[] = "{$percentage}%"; // 把占比追加到结果数组中
}

这种方式的好处是不用动GA后台配置,代码逻辑清晰,适合临时需求或者不想折腾后台的场景。

方案二:利用GA计算指标(更优雅的长期方案)

如果你的GA账户支持计算指标(Calculated Metrics),可以预先在后台创建一个自定义指标,让API直接返回占比数据,省去手动计算的步骤:

1. 在GA后台创建计算指标

  • 进入GA管理界面,找到「视图」下的「计算指标」
  • 新建一个计算指标,名称比如「会话占比」,公式设置为:ga:sessions / ga:totalSessions * 100
  • 保存后,这个指标会有一个类似ga:sessionPercentage的标识符(具体以后台生成的为准)

2. 在API查询中直接使用该指标

修改你的查询代码,把自定义指标加入metrics列表:

$analyticsData = Analytics::performQuery(
    $period,
    'ga:deviceCategory',
    [
        'max-results' => 10,
        'metrics' => 'ga:sessions, ga:avgSessionDuration, ga:sessionPercentage',
        'dimensions' => 'ga:deviceCategory',
        'sort'=>'-ga:sessions'
    ]
);

这样返回的结果里就会直接包含每个设备类别的会话占比,不用再手动计算,非常适合长期复用的场景。

总结

  • 临时需求选手动计算,快速实现;
  • 长期使用选计算指标,更优雅省心。

内容的提问来源于stack exchange,提问作者Richard Frank

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:47:30