Der JTL-Shop 2.11 bringt leider von Hause aus keine Anbindung an das Google-Analytics ECommerce-Tracking mit. Hierzu muß der Shopbetreiber selbst aktiv werden, was sich mitunter ob der fehlenden Kenntnisse recht schwierig gestaltet.
Als kurzer Zwischenstand schon jetzt meine Lösung, in Bälde werde ich hierzu noch ein paar mehr Worte verlieren. Vorraussetzungen:
- Smarty Modifier installieren. Hierzu einfach die PHP-Datei aus dem folgendem ZIP in den Ordner [JTL-SHOP-ROOT]/includes/libs/Smarty-2.6.18/libs/plugins entpacken: Smarty Modifier „jtl2google“
- Das Google Analytics Tracking muss bereits im Shop aktiviert sein. Hierzu im Backend unter Einstellungen > Globale Einstellungen das Feld „Google Analytics ID“ entsprechend ausfüllen.
- Der Webshop muß in den Google-Analytics Einstellungen als ECommerce Webseite deklariert sein.
Das folgende Code-Snipet ist in der bestellabschluss.tpl im Templateordner ([JTLSHOP-ROOT]/templates/[TEMPLATE-NAME]/ an letzter Stelle hinzuzufügen.
{if $Einstellungen.global.global_google_analytics_id} <!-- Google Code for ecommerce Tracking --> <script type="text/javascript"> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); </script> <script type="text/javascript"> var pageTracker = _gat._getTracker( "{$Einstellungen.global.global_google_analytics_id}"); pageTracker._initData(); pageTracker._addTrans( "{$Bestellung->cBestellNr}", "", "{$Bestellung->WarensummeLocalized[0]|jtl2google}", "{$Bestellung->Steuerpositionen[0]->cPreisLocalized|jtl2google}", {foreach name=pos from=$Bestellung->Positionen item=Position} {if $Position->nPosTyp==2} "{$Position->cEinzelpreisLocalized[0]|jtl2google}", {php}break;{/php} {/if} {/foreach} "", "", ""); {foreach name=pos from=$Bestellung->Positionen item=Position} {if $Position->nPosTyp==1} pageTracker._addItem( "{$Bestellung->cBestellNr}", "{$Position->cArtNr}", "{$Position->cName}", "", "{$Position->cEinzelpreisLocalized[0]|jtl2google}", "{$Position->nAnzahl}"); {/if} {/foreach} pageTracker._trackTrans(); </script> <!-- EOF Google Code for ecommerce Tracking --> {/if}
„An letzter Stelle“ bedeutet dabei am Ende der Datei. Das heißt nach folgendem Code in der bestellabschluss.tpl:
{include file='tpl_inc/footer.tpl'}
Das Tracking der Versandkosten ist in diesem Workaround noch nicht implementiert. Die Übermittlung von geographischen Daten des Kunden funktioniert noch nicht ({$Kunde->cOrt} liefert keine Werte, hier muss ich demnächst genauer ins Template schauen).
Die wichtigen Zahlen zu Produktumsatz sollte das Script jedoch liefern. Bei Fragen helfe ich gerne weiter soweit ich kann – auch Verbesserungsvorschläge und Hinweise auf Fehler sind gern gesehen.
Update 23.04.08
- Versandkosten werden getrackt – wünschenswert ist eventuell noch das Einrechnen von sonstigen Gebühren, die nichts mit dem Artikelpreis zu tun haben (Gebühren für Nachnahme oder Paypal).
- Die Google-Analytics-ID wird nun aus den Einstellungen des JTL-Shops gelesen.
- Da die Einbindung von Google-Analytics standardmäßig in der footer.tpl passiert, wird der Code nun danach eingebunden.
- Laut Entwickler kommt mit Version 2.12 die eingebaute Unterstützung von Google Analytics ECommerce Tracking für den JTL-Shop.
Update 03.06.08
Neuer Code und neue Vorraussetzung zur Verwendung: ein eigener Smarty Modifier (Plugin) wird nun verwendet, um alle Preisangaben bei der Ãœbermittlung zu Google Analytics korrekt zu formatieren. Hintergrund: Preise wie „1.234,00 EUR“ wurden als „1.23“ Euro interpretiert. Nun wird der String „1.234,00 EUR“ zu „1234.00“ formatiert und somit korrekt im Google Analytics ECommerce Tracking verarbeitet.
Mai 31st, 2008 at 11:50 am
[…] des Shops. Die Anbindung an diesen kostenfreien Dienst lag natürlich nahe … meine eigene Lösung für JTL-Shop 2.11 ist somit […]