GA3转GA4:维度指标替代方案及代码适配技术咨询
GA3(UA)到GA4统计代码迁移问题解答
一、对应场景的GA4正确指标与维度
场景1:替代GA3页面访问量统计(ga:pageviews + ga:pagePath筛选)
你之前误用totalUsers(用户数)作为指标,这是数据量远低于GA3的核心原因——原GA3代码统计的是特定页面的总浏览次数,而非用户数。GA4中正确配置为:
- 指标:
pageViews(完全对应GA3的ga:pageviews,统计页面被浏览的总次数) - 筛选维度:
pagePath(对应GA3的ga:pagePath,用于匹配目标页面路径)
适配GA4 Data API的PHP示例代码:
$result = $client->runReport([ 'property' => 'properties/你的GA4属性ID', 'dateRanges' => [['startDate' => $start_date, 'endDate' => $end_date]], 'metrics' => [['name' => 'pageViews']], 'dimensions' => [['name' => 'pagePath']], 'dimensionFilter' => [ 'filter' => [ 'fieldName' => 'pagePath', 'stringFilter' => ['matchType' => 'PARTIAL', 'value' => 'my url'] ] ] ]);
场景2:替代GA3着陆页用户统计(ga:users + ga:landingPagePath筛选)
原GA3代码统计的是从目标页面着陆的独立用户数,GA4中正确配置为:
- 指标:
totalUsers(对应GA3的ga:users,统计独立用户数) - 筛选维度:
landingPage(对应GA3的ga:landingPagePath,用于匹配着陆页路径)
若数据仍有差异,需注意GA4与GA3的用户识别逻辑(如用户ID定义、会话超时规则)及机器人排除规则的天然差异(GA4默认排除更多爬虫流量)。
适配GA4 Data API的PHP示例代码:
$result = $client->runReport([ 'property' => 'properties/你的GA4属性ID', 'dateRanges' => [['startDate' => $start_date, 'endDate' => $end_date]], 'metrics' => [['name' => 'totalUsers']], 'dimensions' => [['name' => 'landingPage']], 'dimensionFilter' => [ 'filter' => [ 'fieldName' => 'landingPage', 'stringFilter' => ['matchType' => 'PARTIAL', 'value' => 'my url'] ] ] ]);
二、GA3与GA4核心指标/维度映射对照表
以下是常用的GA3(UA)与GA4指标、维度对应关系:
指标映射
ga:pageviews→pageViewsga:users→totalUsersga:sessions→sessionsga:sessionDuration→averageSessionDurationga:bounceRate→bounceRate
维度映射
ga:pagePath→pagePathga:landingPagePath→landingPagega:source→sessionSourcega:medium→sessionMediumga:userType→userType
内容的提问来源于stack exchange,提问作者Ruzal Gayfullin
相关产品推荐
相关产品推荐

