加载站点后,将自定义会话参数添加到Piwik

时间:2016-08-22 09:26:41

标签: javascript tracking matomo

在执行Piwik跟踪代码后,有没有经过验证的方法将自定义会话参数添加到当前会话?

目前,我正在使用此代码:

window._paq.push(['trackEvent', 'vendor', 'VND001' ,'value']);

问题是此代码无法可靠地运行。我相信这可能是因为Piwik跟踪代码已经执行并发送到服务器但我不确定。

1 个答案:

答案 0 :(得分:0)

来自JavaScript API

对于异步跟踪,配置和跟踪调用将被推送到全局_paq数组以供执行,而与piwik.js的异步加载无关。格式为:

_paq.push([ 'API_method_name', parameter_list ]);

所以这似乎没有问题。

当你谈到不可靠的行为时,当你刷新页面时(简单地猛击F5),你可以绕过脚本文件的加载,因为它已经被先前的请求缓存了。然后,此_paq的来电可能是undefined。尝试使用ctrl + F5查看行为是否发生变化。

还要注意初始化部分:var _paq = _paq || [];,它定义先前填充的数组或空数组。将它放在代码前面并没有什么坏处,但你必须注意关闭:

(function(){
    var _paq = _paq || [];
    _paq.push(['trackEvent', 'vendor', 'VND001' ,'value']);
}());

现在你通常要做的是先获取当前的跟踪器:

var piwikTracker = Piwik.getTracker(12, 'http://example.com/piwik/');
//piwikTracker.setSiteId(12);
//piwikTracker.setTrackerUrl('http://example.com/piwik/');
piwikTracker.trackEvent('vendor', 'VND001' ,'value');

但我不完全确定这是否与Piwik 2.16.1或更早版本相关 。随意测试它们,让我知道^^