Hallo,
wir benutzen Piwik nun schon einige Zeit erfolgreich. Nun haben wir das Tracking wegen CSP auf folgende externe Javascript Methode umgestellt:
Folgendes im ersten JS:
…
var pkBaseURL = ((“https:” == document.location.protocol) ? “https://stats.foo.de/stats/” : “http://stats.foo.de/stats/”);
$j.getScript(pkBaseURL+‘piwik.js’, function(){
// script is now loaded and executed
// dependent JS here
});
…
Folgendes in einem zweiten JS:
try {
var piwikSite = $j('head').data("piwikSite");
var piwikArea = $j('head').data("piwikArea");
var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", piwikSite);
piwikTracker.trackPageView();
piwikTracker.enableLinkTracking();
if(typeof piwikArea !== 'undefined') {
var piwik2 = Piwik.getTracker(pkBaseURL + "piwik.php", piwikArea);
piwik2.trackPageView();
piwik2.enableLinkTracking();
}
} catch( err ) {}
Diese Methode funktioniert grundsätzlich, es wird piwik.js korrekt geladen, kein JS Fehler wird geworfen, ein bzw. zwei Aufrufe von piwik.php finden statt. Jedoch sind die Zahlen siginifkant geringer als wenn wir den klassischen Tracking code nutzen mit seinem Inline JS:
Was machen wir falsch? Meinem Wissen nach sollten die Tracking Codes doch das selbe tun?! Kann der Inline Code auch so in ein externes Skript übertragen werden? Gibt es dabei etwas besonderes zu beachten?
Vielen Dank für Hinweise dieses Mysterium zu lösen.
MFG
Tobias