Piwik Web Analytics in Magento 1.4.X

Piwik ist die kostenlose Open-Source Alternative zu Google’s Analytics Service. Der Service kann, sofern MySQL und PHP 5.1 vorhanden, problemlos auf dem eigenen Web Server betrieben werden.

Demo

Integration in Magento

Im Administrationsinterface von Piwik benötigen wir für die Integration in Magento (hier: Version 1.4.2) den JavaScript Code, der im head Bereich eingefügt werden soll. Dieser steht unter Einstellungen -> Webseiten -> Tracking Code anzeigen.
Der Aufbau des angezeigten Tracking Codes ist in etwa wie folgt:

<!-- Piwik -->
<script type="text/javascript">
var pkBaseURL = (("https:" == document.location.protocol) ? "https://my.domain/" : "http://my.domain/");
document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
</script><script type="text/javascript">
try {
var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 2);
piwikTracker.trackPageView();
piwikTracker.enableLinkTracking();
} catch( err ) {}
</script><noscript><p><img src="http://my.domain/piwik.php?idsite=2" style="border:0" alt="" /></p></noscript>
<!-- End Piwik Tag -->

Mit der Zeile

document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));

wird per document.write ein Javascript File von extern eingebunden. Dies ist in Magento so ohne Weiteres nicht möglich und muss anderweitig gelöst werden.
Da der String unescaped nur http://my.domain/piwik.js ausgibt, laden wir die piwik.js einfach temporär auf unseren Rechner.

Die letzte Zeile

<noscript><p><img src="http://my.domain/piwik.php?idsite=2" style="border:0" alt="" /></p></noscript>

versucht ohne Javascript eine Verbindung zu Piwik aufzubauen – Benötigen wir natürlich auch nicht, kann daher gelöscht werden. Die Aussagekraft von Benutzern, die JavaScript deaktiviert haben, geht so und so gegen Null.

Da Magento die script Tags automatisch setzt (bzw. gar nicht setzen braucht bei Komprimierung aller .js Files zu einer Einzigen) können diese auch entfernt werden.
Übrig bleibt daher nun noch in etwa folgender Code

var pkBaseURL = (("https:" == document.location.protocol) ? "https://my.domain/" : "http://my.domain/");
try {
var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 2);
piwikTracker.trackPageView();
piwikTracker.enableLinkTracking();
} catch( err ) {}

Dieses JS File speichern wir nun in Magento unter /js/meineJSFiles/piwik_1.js

Das vorhin von unserem Server geladene JavaSript File speichern wir ebenfalls unter /js/meineJSFiles/piwik_2.js
(zu finden unter http://my.domain/piwik.js)

Änderungen in Magento

Damit Magento nun noch die Javascript Files aus dem Ordner /js/meineJSFiles lädt, müssen wir die page.xml unseres Templates unter /app/design/frontend/default/Template-Name/layout/page.xml bearbeiten.
Im Bereich

<block type="page/html_head" name="head" as="head">

binden wir die JavaScript Dateien wie folgt ein:

<!-- Piwik Start Tag -->
<action method="addJs"><script>meineJSFiles/piwik_2.js</script></action>
<action method="addJs"><script>meineJSFiles/piwik_1.js</script></action>
<!-- Piwik End Tag -->

Noch kurz den Magento Cache leeren und prüfen, ob Piwik nun ordnungsgemäß funktionert.

Dieser Beitrag wurde unter Magento abgelegt und mit , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

7 Antworten auf Piwik Web Analytics in Magento 1.4.X

  1. Pingback: Piwik und Magento | Tim Zahn

  2. Pingback: Links 03/2011: Magento, PHP & e-Commerce | Matthias Zeis

  3. Warum so umständlich?

    Der Tracking-Code lässt sich auch ganz einfach im Admin-Backend über System/Konfiguration/Allgemein/Gestaltung/Fußzeile/Verschiedenes HTML eingeben, was ja genau dafür vorgesehen ist, und wird dann automatisch vor dem abschließenden body-Tag eingefügt.

  4. Pawel sagt:

    Geht das genauso bei Magento 1.5?

    • Theoretisch ja, aber ich würde den Tip von Thomas Pretsch folgen:

      Der Tracking-Code lässt sich auch ganz einfach im Admin-Backend über System/Konfiguration/Allgemein/Gestaltung/Fußzeile/Verschiedenes HTML eingeben, was ja genau dafür vorgesehen ist, und wird dann automatisch vor dem abschließenden body-Tag eingefügt.

  5. Funktioniert auch mit 1.6 wunderbar!

    Danke!

  6. Martin sagt:

    Funktioniert super. Sobald man aber die E-Commerce-Reports nutzen möchte, oder mehrere Stores mit einer Installation hat, kommt man da schon ein bisschen ins schwitzen.

    Ich hab mir dazu dieses Modul installiert.

    Es zeigt das Piwik Dashboard sogar im Admin-Bereich von Magento an.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.