如何在Laravel站点的Google Analytics中跟踪多个自定义变量
实现方案
1. 先在GA4后台配置自定义维度
进入GA4后台「管理」-「自定义定义」板块,新建自定义维度:
- 维度名称填
project_id,维度范围根据业务需求选择:需要长期和用户账号绑定选用户,仅当前项目场景生效选事件 - 保存后记录系统生成的维度索引值(格式为
dimensionX,X为数字),你之前已经配置的user_id维度也请确认对应的索引值
2. 调整上报代码
你当前的代码把初始化和事件上报写在了mousemove回调中,会导致每次鼠标移动就重复上报事件,产生大量无效数据,建议调整为如下写法:
<script> // gtag初始化全局只需要执行一次,不要放在事件回调中重复执行 window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); // 替换下方<user_id的索引>、<project_id的索引>为你GA后台实际的索引值 gtag('config', 'G-9YXX', { 'custom_map': { 'dimension<user_id的索引>': 'user_id', 'dimension<project_id的索引>': 'project_id' }, // 如果需要所有事件都自动携带这两个参数,直接在这里传即可,不用每个事件单独加 'user_id': '{{ $user_name }}', 'project_id': '{{ $project_id }}' }); $(document).ready(function(){ // 按需触发自定义事件,参数可以单独传也可以全局配置 gtag('event', 'user_name', { // 如果已经在config里全局传了参数,这里可以不用重复写 // 'user_id': '{{ $user_name }}', // 'project_id': '{{ $project_id }}' }); }); </script>
注意:Laravel中输出变量优先使用
{{ }}做自动转义,避免XSS风险,仅当你确认变量内容完全安全时再使用{!! !!}输出。
3. 验证效果
配置完成后访问站点,通过GA4自带的DebugView功能可以查看上报的事件是否正常携带user_id和project_id参数。参数生效后,你就可以在GA报表中通过这两个维度筛选、拆分统计数据,实现不同用户、不同项目的多维度分析。
内容的提问来源于stack exchange,提问作者Themodmin
相关产品推荐
相关产品推荐

