2016-08-22 1 views
1

Gibt es eine bewährte Möglichkeit, der aktuellen Sitzung einen benutzerdefinierten Sitzungsparameter hinzuzufügen, nachdem der Piwik-Tracking-Code ausgeführt wurde?Fügen Sie benutzerdefinierte Piwik-Sitzungsparameter hinzu, nachdem die Site geladen wurde

Derzeit bin ich mit diesem Code:

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

Das Problem ist, dass dieser Code nicht zuverlässig funktioniert. Ich glaube, das könnte daran liegen, dass der Piwik-Tracking-Code bereits ausgeführt und an den Server gesendet wurde, aber ich bin mir nicht sicher.

Antwort

0

Vom JavaScript API:

Für asynchronen Tracking, Konfiguration und Tracking-Anrufe werden auf dem global _paq Array geschoben abarbeiten zu lassen, unabhängig von dem asynchronen Laden von piwik.js. Das Format ist:

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

Also diese auf Ihrer Seite in Ordnung zu sein scheint.

Wenn Sie über unzuverlässiges Verhalten sprechen, ist es möglich, wenn Sie die Seite aktualisieren (einfach bash F5) Sie umgehen das Laden der Skriptdatei, da es bereits durch eine vorherige Anfrage zwischengespeichert wurde. Und dann könnte dieser Anruf an _paqundefined sein. Versuchen Sie, Strg + F5 zu verwenden, um zu sehen, ob sich das Verhalten ändert.

Beachten Sie auch den Initialisierungsteil: var _paq = _paq || [];, der das zuvor aufgefüllte Array oder ein leeres Array definiert. Es tut nicht weh, das von Ihrem Code vor zu setzen, aber man muss die Aufmerksamkeit auf Schließung zahlen:

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

Nun, was Sie normalerweise tun würden, ist zunächst die aktuellen Tracker erhalten:

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

Aber ich bin mir nicht ganz sicher, ob das nur bezogen auf Piwik 2.16.1 oder früher ist. Fühlen Sie sich frei, sie auszuprobieren und lassen Sie mich wissen ^^

Verwandte Themen