Piwik Web Analytics in Magento 1.4.X

[E-Commerce] IT-Consulting and Development in Mühldorf am Inn

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:
[code lang=“javascript“]


[/code]

Mit der Zeile
[code lang=“javascript“]document.write(unescape(„%3Cscript src='“ + pkBaseURL + „piwik.js‘ type=’text/javascript’%3E%3C/script%3E“));
[/code]
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
[code lang=“javascript“]

[/code]
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
[code lang=“javascript“]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 ) {}[/code]

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
[code lang=“html“][/code]
binden wir die JavaScript Dateien wie folgt ein:
[code lang=“html“]


[/code]

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

 

7 Antworten

  1. […] auch bei Magento Connect zu finden und soll stetig weiter entwickelt werden.CodarByte zeigt vor, wie man Piwik Web Analytics in Magento einbindet. Sicher einen Klick wert für alle, die keine Besucherzahlen herausgeben wollen und/oder durch die […]

  2. 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.

  3. 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.

  4. Funktioniert auch mit 1.6 wunderbar!

    Danke!

  5. 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 zu Jonathan Kinkele Antworten abbrechen

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

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.