加载站点后向Piwik添加自定义会话参数
Add custom session parameter to Piwik after the site has been loaded
是否有任何经过验证的方法可以在Piwik跟踪代码执行后向当前会话添加自定义会话参数?
目前,我正在使用这个代码:
window._paq.push(['trackEvent', 'vendor', 'VND001' ,'value']);
问题是这段代码不能可靠地工作。我相信这可能是因为Piwik跟踪代码已经被执行并发送到服务器,但我不确定。
来自JavaScript API:
对于异步跟踪,配置和跟踪调用被推送到全局_paq数组中执行,独立于piwik.js的异步加载。格式为:
_paq.push([ 'API_method_name', parameter_list ]);
看来你这边没问题了。
当您谈论不可靠的行为时,刷新页面(只需bash 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或更早的版本相关。请随意测试并告诉我^^
相关文章:
- Dojo不解析自定义小部件的模板html中的小部件声明性
- 在自定义mean.io包中使用angular-chart.js作为依赖项
- jQuery自定义验证比较多个输入的序列
- 从HTTPGET返回一个自定义对象列表,以便在Angular 2应用程序中使用
- 在wordpress一定时间后更改自定义字段
- 表达式引擎扩展开发-向呈现的条目添加自定义javascript
- 自定义函数中的光标位置
- 用于检查数组中是否存在元素的javascript自定义方法
- 绑定时将Parsley minlength消息作为选项传递时,未对其进行自定义
- Meteor-添加用户自定义字段的方法不起作用
- 自定义表单验证和提交
- jQuery工具验证器自定义效果-添加&消除影响
- 可以't计算自定义谷歌地图的js
- 谷歌水印未显示在自定义搜索框中
- vaadin:使用自定义布局集成angular js
- 会话注入不适用于自定义类
- ASP.NET MVC&Angular:当会话Cookie过期时,自定义属性/ActionFilter,希望它重
- 流星在会话中存储和检索自定义对象
- 加载站点后向Piwik添加自定义会话参数
- 如何从Google Analytics中的会话中清除_setVar自定义变量