Google 分析 - 自定义维度在 SPA 中不起作用
Google Analytics - Custom Dimensions not working in SPA
我已经为这个问题苦苦挣扎了几个星期了,我快要崩溃了。我就是无法获得自定义维度来报告我所做的一切。
这是我在 index.html
的 HEAD 中的代码
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-XXXXXXXXX-1', {
'send_page_view': false,
'custom_map': {
'dimension1': 'user_location_id',
'dimension2': 'user_location_name',
'dimension3': 'user_id'
}
});
</script>
'send_page_view': false 在服务器最初发送页面时停止发送页面浏览量,所有页面浏览量在路由导航时由下面的 JS 代码处理到(包括第一次加载时)。
gtag('config', 'UA-XXXXXXXXX-1', {
page_path:"/users/xxx",
page_title:"User Profile",
user_id:"xxxxx",
user_location_id:36,
user_location_name:"North East"
});
所有网页浏览都被正确跟踪。如果我查看 Chrome Dev Tools Network 选项卡并找到对 /collect 的 IMG 调用,我可以看到所有正在发送的参数,它们不包括自定义维度。
这些是加载图像时发送的查询字符串参数(一些信息已编辑为 xxx)。
v: 1
_v: j67
a: xxx
t: pageview
_s: 9
dl: http://localhost/
dp: /users/xxx
ul: en-us
de: UTF-8
dt: User Profile
sd: 24-bit
sr: 1920x1200
vp: 1039x1094
je: 0
_u: iCCAAUAB~
jid: xxx
gjid: xxx
cid: xxx.xxx
uid: xxx
tid: UA-xxxxxxxxx-1
_gid: xxx.xxx
_r: 1
gtm: u4s
z: xxx
有几点需要注意:
1) 自定义维度在 GA 中设置并限定给用户。
2) 我以前只在用户登录设置自定义维度值时发送一个设置配置的调用,而不是在每次网页浏览时,但在 GC 社区论坛上被建议不要这样做。
3) 有趣的是,我在user_id维度发送的值实际上被用作上面发送的值中的uid,另外两个被完全忽略没有发送。
如有任何帮助,我们将不胜感激。
尝试
gtag('event', 'page_view', {
page_path:"/users/xxx",
page_title:"User Profile",
user_id:"xxxxx",
user_location_id:36,
user_location_name:"North East"
});
而不是 gtag('config' ...
用于发送您的网页浏览点击量
我最终解决了这个问题,方法是在每次调用 'config' 时添加 custom_map 内容。凌乱,但我尝试了所有方法,这是唯一有效的方法。
我已经为这个问题苦苦挣扎了几个星期了,我快要崩溃了。我就是无法获得自定义维度来报告我所做的一切。
这是我在 index.html
的 HEAD 中的代码<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-XXXXXXXXX-1', {
'send_page_view': false,
'custom_map': {
'dimension1': 'user_location_id',
'dimension2': 'user_location_name',
'dimension3': 'user_id'
}
});
</script>
'send_page_view': false 在服务器最初发送页面时停止发送页面浏览量,所有页面浏览量在路由导航时由下面的 JS 代码处理到(包括第一次加载时)。
gtag('config', 'UA-XXXXXXXXX-1', {
page_path:"/users/xxx",
page_title:"User Profile",
user_id:"xxxxx",
user_location_id:36,
user_location_name:"North East"
});
所有网页浏览都被正确跟踪。如果我查看 Chrome Dev Tools Network 选项卡并找到对 /collect 的 IMG 调用,我可以看到所有正在发送的参数,它们不包括自定义维度。
这些是加载图像时发送的查询字符串参数(一些信息已编辑为 xxx)。
v: 1
_v: j67
a: xxx
t: pageview
_s: 9
dl: http://localhost/
dp: /users/xxx
ul: en-us
de: UTF-8
dt: User Profile
sd: 24-bit
sr: 1920x1200
vp: 1039x1094
je: 0
_u: iCCAAUAB~
jid: xxx
gjid: xxx
cid: xxx.xxx
uid: xxx
tid: UA-xxxxxxxxx-1
_gid: xxx.xxx
_r: 1
gtm: u4s
z: xxx
有几点需要注意:
1) 自定义维度在 GA 中设置并限定给用户。
2) 我以前只在用户登录设置自定义维度值时发送一个设置配置的调用,而不是在每次网页浏览时,但在 GC 社区论坛上被建议不要这样做。
3) 有趣的是,我在user_id维度发送的值实际上被用作上面发送的值中的uid,另外两个被完全忽略没有发送。
如有任何帮助,我们将不胜感激。
尝试
gtag('event', 'page_view', {
page_path:"/users/xxx",
page_title:"User Profile",
user_id:"xxxxx",
user_location_id:36,
user_location_name:"North East"
});
而不是 gtag('config' ...
用于发送您的网页浏览点击量
我最终解决了这个问题,方法是在每次调用 'config' 时添加 custom_map 内容。凌乱,但我尝试了所有方法,这是唯一有效的方法。