share

Neues von Piwik: Integration des E-Commerce Trackers für OXID eShop

Der Funktionsumfang des Open-Source (GPL lizenziert) Webanalysetools PIWIK nimmt rasant zu. Seit ein paar Tagen steht die Version 1.5 zum Download bereit. Eine der großen Neuerungen von Piwik ist die Basis E-Commerce Integration, zum Tracking von Shop Umsätzen.
Für einen unserer Kunden haben wir die Integration in die vorhandene PIWIK-Instanz übernommen. Joachim Barthel hatte mit seiner Anleitung die Basis bereits vorbereitet.

Darauf aufbauend haben wir ein kleines Modul für den OXID eShop geschrieben, welches das Tracking verfeinert. So wird jetzt die Kategorie mit getrackt, und doppelte Anführungszeichen (&qout;) werfen keine Fehler mehr. Im Code selber haben wir auf die als “deprecated” vermerkten Variablen verzichtet. Wie bereits durch das TOXID-Projekt gewohnt, stellen wir das Modul unter der MIT-Lizenz frei zur Verfügung.

Laden Sie das Modul marmPiwik in der Version 1.0.1 hier herunter.

Eine Installationsanleitung auf Englisch ist im Modul enthalten, auf Deutsch nun hier:

Grundsätzlich: Das Modul ist getestet mit dem OXID eShop in Version 4.4.7, 4.4.8 und 4.5.0.

  1. Schalten Sie unter “Einstellungen” -> “Websites” das E-CommerceTracking für Ihre Seite in PIWIK ein.
  2. KopierenSie den Inhalt von “copy_this” in ihr Shopverzeichnis
  3. Fügen Sie unter “Stammdaten” -> “Grundeinstellungen” -> “System” -> “Module” den folgenden Eintrag hinzu:

    oxbasketitem => marm_piwik/marm_piwik_oxbasketitem

  4. Ersetzen Sie Sie die beiden Werte “YOURPIWIK_ID” “YOURPATHTOPIWIK.COM” entsprechend Ihrer Konfiguration im folgenden Code:

    <!– Piwik –>
    <script type=”text/javascript”>
    var pkBaseURL = ((“https:” == document.location.protocol) ? “https://YOURPATHTOPIWIK.COM/” : “http://YOURPATHTOPIWIK.COM/”);
    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”, YOURPIWIK_ID);
    piwikTracker.trackPageView();
    piwikTracker.enableLinkTracking();
    } catch( err ) {}
    </script><noscript><p><img src=”http://YOURPATHTOPIWIK.COM/piwik.php?idsite=YOURPIWIK_ID” style=”border:0″ alt=”” /></p></noscript>
    <!– End Piwik Tracking Code –>

    <!– Piwik ECommerce Tracking –>
    <script type=”text/javascript”>

    var pkBaseURL = ((“https:” == document.location.protocol) ? “https://YOURPATHTOPIWIK.COM/” : “http://YOURPATHTOPIWIK.COM/”);
    document.write(unescape(“%3Cscript src='” + pkBaseURL + “piwik.js’ type=’text/javascript’%3E%3C/script%3E”));
    var piwikTracker = Piwik.getTracker(pkBaseURL + “piwik.php”, YOURPIWIK_ID);

    [{foreach from=$basket->getContents() item=basketitem}]
    // add each product to the order
    piwikTracker.addEcommerceItem(
    “[{ $basketitem->getPiwikArtnum()}]”,
    “[{ $basketitem->getPiwikTitle() }]”,
    “[{ $basketitem->getPiwikCat() }]”,
    [{ $basketitem->getPiwikPrice() }],
    [{ $basketitem->getAmount() }]
    );
    [{/foreach}]

    // Specifiy the order details to Piwik server & sends the data to Piwik server
    piwikTracker.trackEcommerceOrder(
    “[{ $oView->_oOrder->oxorder__oxordernr }]”,
    [{ $oView->_oOrder->oxorder__oxtotalordersum }],
    [{ $oView->_oOrder->oxorder__oxtotalbrutsum }],
    [{$order->oxorder__oxartvatprice1->rawValue+$order->oxorder__oxartvatprice2->rawValue }],
    ([{ $order->oxorder__oxdelcost->rawValue+$order->oxorder__oxpaycost->rawValue }]),
    [{ $oView->_oOrder->oxorder__oxdiscount }]
    );
    piwikTracker.trackPageView();

    </script>
    <!– End Piwik ECommerceTracking Code –>

  5. Kopieren Sie den Code in die Datei “thankyou.tpl” hinter die Zeile

    [{assign var=”order” value=$oView->getOrder()}]

  6. Spenden Sie einen kleinen Betrag an PIWIK. :)
  7. Fertig!

To Do

Es gibt immer was zu tun! Im Moment wird für jedes Produkt die Hauptkategorie des Artikels in PIWIK erfasst. Gerne hätten wir einen vollständigen Pfad und diesen auch noch aus der Kategorie, in welcher der Kunde den Artikel in den Warenkorb gelegt hat. Sprechen Sie uns an! Gerne erweitern wir das Modul entsprechend.

Edit:
Anregungen aus den Kommentaren eingefügt.

André Renninger ist Chief Operating Officer (COO) bei der marmalade GmbH. Er leitet, steuert und organisiert den gesamten Betriebsprozess und achtet auf die betrieblichen Leistungen.

10 Kommentare zu:

Neues von Piwik: Integration des E-Commerce Trackers für OXID eShop

  • Pingback: Piwik E-Commerce Integration | Webdesign Magdeburg

  • Sebastian Prokopp

    Hallo André,

    ich saß gerade an der Integration des neuen Piwik eCommerce-Trackings als Dein RSS-Feed eintraf. Da sich Eure Lösung fast mit meiner deckt aber eben nur fast, folgende Anmerkung:

    1. Versand- und Zahlartkosten
    Die Addition ([{ $oView->_oOrder->oxorder__oxdelcost }]+[{ $oView->_oOrder->oxorder__oxpaycost }]) funktioniert bei mir nicht. Stattdessen habe ich [{ $order->oxorder__oxdelcost->rawValue+$order->oxorder__oxpaycost->rawValue }], das funktioniert.

    2. Mehrwertsteuerbetrag
    Ich habe beide mögliche Mehrwertsteuerbeträge addiert, falls Artikel mit unterschiedlichen Sätzen in der Bestellung sind. Sprich:
    [{$order->oxorder__oxartvatprice1->rawValue+$order->oxorder__oxartvatprice2->rawValue }]

    Beste Grüße nach Magdeburg und auch an Joscha
    Sebastian

  • René

    Moin André,
    der Link zu Joachim Bartel verlinkt ins no-mans-land.

    Ansonsten: Sehr feines kleines Modul!!! :)

  • Joscha Krug

    Hallo Sebastian,
    hallo René,

    Danke für euer Feedback. Die Änderungen sind eingepflegt und das Modul ist geändert.
    Grundsätzlich sollten die Werte aus der $order auch mit Gettern ersetzt werden. Sobald ich Zeit finde ergänzen wir das noch.

    Gruß Joscha

  • Pingback: Crowdfunding OXID eShop Piwik-Plugin | Web Design Blog aus Magdeburg

  • Sebastian Prokopp

    Hi Joscha, hallo André,
    ich habe aktuell einen Shop (www.enba-shop.com) in welchem Artikel mit einem Anführungszeichen im Artikelnamen vorkommen. Wurden Bestellungen zum Beispiel mit dem Artikel Bördelverbinder 3/8″ ausgelöst, hatte ich diese Bestellung nicht im Piwik da ein Anführungszeichen zu viel im Trackingcode stand.
    Da ich in meinem Script den Artikelname noch mit [{ $oOrderArticle->oxorderarticles__oxtitle->value }] hole, habe ich das jetzt mit einem escape ergänzt. Also [{ $oOrderArticle->oxorderarticles__oxtitle->value|escape }]. Ich habe das dann gleich bei allen String-Variablen gemacht.

    Seitdem werden auch Bestellungen mit Bördelverbinder 3/8″ von Piwik gezählt. Vielleicht – wenn nicht schon geschehen – wollt Ihr das noch mit einbauen.

    Beste Grüße
    Sebastian

  • Joscha Krug

    Hallo Sebastian,

    vielen Dank für dein Feedback! Das sollte eigentlich bereits integriert sein, da wir die gleiche Aufgabenstellung bei einem anderen Kunden hatten.

    Es gibt ja aber in kürze die voll automatische Version (derzeit bei uns im Betatest) wie hier angekündigt.

    Gruß Joscha

  • sebastian

    Hi Leute.
    Ich bin begeistert.
    Aber ich bekomme das mit dem ecommerce tracking einfach nicht auf die Reihe.!
    Ich hab piwik in ein eigenen ordner installiert und eine neue SQL DB angelegt nur für Piwik.
    Läuft alles super aber ich finde nicht meine passende Piwik ID die ich in den code eintragen soll um das ecommerce tracking zu aktivieren.
    Ich freue mich über jeden Tipp und Rat.
    Gruss Basti

  • Joscha Krug

    Hallo Sebastian,
    wir haben ja ein komplett anderes Modul dafür geschrieben. Aber auch dort musst du die ID eintragen. Die Findest du in Piwik unter Einstellungen > Webseiten in der ersten Spalte.

    Gruß Joscha

  • Hinterlasse einen Kommentar

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