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 内容。凌乱,但我尝试了所有方法,这是唯一有效的方法。