2016-08-22 68 views
1

是否有已經執行到自定義會話參數添加到Piwik跟蹤代碼後,當前會話的任何行之有效的方法後,自定義會話參數添加到Piwik?該網站已被載入

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

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

的問題是,這個代碼不可靠地工作。我相信這可能是因爲Piwik跟蹤代碼已經被執行併發送到服務器,但我不確定。

回答

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或更早。隨時測試出來,讓我知道^^