Google Analytics配置自定义维度功能正常但Page字段值显示not set
问题背景
当前已完成Google Analytics集成、自定义维度全量配置,其余功能上报均运行正常,仅Page字段无对应取值回传,后台该字段统一显示not set。
后台观测材料:
原实现代码如下:
Tracker t = ((ApplicationClass) LoginActivity.this.getApplication()).getTracker(); t.setScreenName("/SYED"); t.setPage("/123Fuzail"); t.setTitle("/123Title"); t.send(new HitBuilders.ScreenViewBuilder() .setCustomDimension(1,"6199") .setCustomDimension(2,"999") .setCustomDimension(3, "Syed fuzail") .build() );
问题定位与解决
核心原因
该问题由Android版Universal Analytics SDK的参数绑定规则导致:
ScreenViewBuilder构建的移动端屏幕浏览请求,仅会读取Tracker实例上设置的screenName值,同时携带当前请求层级的自定义维度、自定义指标参数,这也是观测到自定义维度上报完全正常的原因- 通过
t.setPage()、t.setTitle()在Tracker全局实例上设置的Page、Title值,仅对PageViewBuilder构建的Web类页面浏览请求生效;SDK在构建ScreenView类型请求时,会主动忽略这两个全局参数,不会将其拼入上报数据包,因此后台该字段始终显示not set
可选解决方案
- 方案1(保留ScreenView请求类型,需回传Page字段):删除全局设置Page、Title的无效代码行,直接在当前
ScreenViewBuilder中手动将Page、Title作为请求参数绑定到本次上报中,修改后代码:
Tracker t = ((ApplicationClass) LoginActivity.this.getApplication()).getTracker(); t.setScreenName("/SYED"); t.send(new HitBuilders.ScreenViewBuilder() .setCustomDimension(1,"6199") .setCustomDimension(2,"999") .setCustomDimension(3, "Syed fuzail") // 手动绑定Page、Title参数到当前屏幕浏览请求 .set("page", "/123Fuzail") .set("title", "/123Title") .build() );
- 方案2(纯移动端属性,无Page字段打通需求):直接删除
t.setPage()、t.setTitle()这两行无效代码即可,移动端核心屏幕浏览数据会通过screenName字段正常上报,不影响原有统计功能。
注意:如果你的GA属性为Web、移动端共用配置,完成代码修改后需确认后台未开启“仅收集Web页面浏览数据”的过滤规则,否则手动上传的Page参数仍会被拦截丢弃。
内容的提问来源于stack exchange,提问作者Syed Fuzail
相关产品推荐
相关产品推荐

