logo头像

保持一颗好奇心

Matomo Javascript 方式追踪 自定义变量

Matomo默认监控很多客户端属性,有一些通过提交参数获得,有一些通过解析请求头获得。但这一些都是共用属性,像来源URL、客户端屏幕尺寸、系统版本、浏览器版本等,没有任何业务特性。如果想分析诸如“栏目分类”、“是否收藏”等业务属性,可以借助Matomo的自定义变量功能来实现。

首先

自定义变量有 page 作用域和 visit 作用域之分。page 作用域内的变量描述的是当前页面本身的属性,在每次页面请求的时候都可以变化,比如“文章分类”、“商品名称”之类的;visit 作用域内的变量在一个完整的session中只允许有一个值,这种作用域的变量适合存“访问者性别”,“访问者身份证号”等跟访问者有关的属性。

存储的限制和扩展

默认最多设置5个自定义变量,如果需要拓展可以执行一个命令

1
php console customvariables:set-max-custom-variables 10

运行上面的命令,首先本地得先安装php运行环境,console 其实是Matomo提供的一个脚本。

为什么有5个的个数限制呢?看一下Matomo的日志表结构就知道了。

收集

直接样例代码

1
2
3
4
5
6
7
8
9
10
11
12
_paq.push(['setCustomVariable',
// 还记得上面说过默认情况下自定义变量只能有5个吗?这个参数就是那5个变量的下标(1-5)
1,
// 自定义变量的Key,将被存在日志表的 custom_var_k1中
"栏目",
// 自定义变量的Vavlue,将被存在日志表的 custom_var_v1中
"首页 > 机关通告",
// 还记得上面说过自定义变量的作用域吗?将作用域传入,待选项是(visit,page)
"page"
]);

_paq.push(['trackPageView']);//一定要在这一行代码之前调用上面的代码

报表

设置页面

将上面的代码放到你要跟踪的网页中,只要被调用一次,你就可以到你的设置页面看一下,变成下面的样子。

报表页面

归档以后,你应该可以在报表页面看到如下报表。

关于归档:

1.Matomo 主要两大功能,收集日志和展现报表。所有收集的日志,在没有归档之前是不会产生报表的。
2.默认的归档触发方式是“页面触发”,也就是说,当用户访问报表的时候,实时触发。这种触发方式好处是“实时”,很明显的一个缺点是“卡”。我监控的页面每天有2W左右访问量,简直了,卡到页面打不开。
3.对于大访问量的网站,推荐使用定时任务触发(目前我就是用这种)。说白了就是用定时任务,定时执行一个命令行php console core:archive --url=http://xxx.xxx.xxx.xxx/matomo

1.windows/linux 各平台的如何使用定时任务,请自行google。
2.还有一个小注意事项:两次调用命令的时间间隔一定要大于下图的设置(单位秒),否则会被忽略

打完收工,有什么不明白的留言提问吧:)

支付宝打赏 微信打赏

赞赏是不耍流氓的鼓励