Piwik "Plugin" als Template

basti

Gut bekanntes Mitglied
12. September 2007
774
12
Hallo zusammen

ich habe mir gerade die letzte Nacht mit Piwik und dem Trackingcode für Ecommerce und Goals um die Ohren geschlagen.
Heraus kam dabei eine kleine Template-Erweiterung, die im Footer inkludiert werden mus, nur ein paar Variablen müssen angepasst werden.

Wer hat Interesse daran?
Ich würde diese Template-Erweiterung erstmal an "Beta-tester" per Mail versenden, usner Shop ist noch nicht "scharf" daher wären ein paar Tester ganz gut.

Später nach den ersten Tests und Rückmeldungen stelle ich die "Erweiterung/den Code" hier frei zur Verfügung....

Standarderweiterungen und Verbesserungsvorschläge sind natürlich immer "drin"...

Bei Interesse bitte kurz per PN melden.
 

basti

Gut bekanntes Mitglied
12. September 2007
774
12
AW: Piwik "Plugin" als Template

ohne Frontend und solche Sachen, das brauch ich nicht ;)
Nur das eCommerce Tracking und das GoalTracking.

Wie das in eurem Plugin gelöst wurde entzieht sich meiner Kenntnis, da ich das Plugin nicht habe.

Es geht mir nur um das Tracking und da dies von JTL leider noch nicht eingebunden wurde (meiner Meinung nach Standard), habe ich es halt mal kurz selber in ein kleines Template geschrieben, das normal alle Bestellrelevanten Dinge abdecken sollte.
 

basti

Gut bekanntes Mitglied
12. September 2007
774
12
AW: Piwik "Plugin" als Template

So, da unser Shop endlich online ist, konnte ich unser Piwik-Template ausführlich testen.
Wie vor langem versprochen, anbei meine Lösung für die "einfache" Integration von Piwik.
Wer will darf den Code gerne benutzen und auch weiterverändern.

Zwischenzeitlich habe ich den Code auch noch komplett auf Piwik-Async umgestellt

Wenn JTL will, könnt Ihr den Tracking-Code auch gerne ins Standardtemplate (Tiny) mit den entsprechenden Schaltern integrieren.

Garantie übernehme ich natürlich keine, bei uns läuft der Code aber so seit 2 Tagen im produktiven Shop ohne Fehler.

Wenn jemand Fehler/Probleme entdeckt, bitte meldet Euch, damit wir den Code anpassen können oder den Fehler suchen.
Erweiterungen sind natürlich auch gerne gesehen....

Also Bei Fragen einfach melden...

Zum Einbinden:
Ich habe den ganzen Code in ein eigenes tpl (z.B. tpl_inc/piwik.tpl)
und dieses tpl im footer vor </body> per {include file='tpl_inc/piwik.tpl'} eingebunden.

Im Piwik müsst Ihr nur noch Eure Domain anlegen und die entsprechenden Goals anlegen, die IDs dann noch im piwik.tpl anpassen und fertig.

und jetzt der Code:
Code:
<!-- Piwik -->
{*Piwik PageID*}
{assign var="piwikID" value="1"}
{*Piwik Domain*}
{if $smarty.server.HTTPS eq "on"}
    {assign var="piwikDomain" value="https://www.euredomain.de/piwik/"}
{else}
    {assign var="piwikDomain" value="http://www.euredomain.de/piwik/"}
{/if}
{*
Piwik Goals
- empty if not used
- add Goals in Piwik => insert ID here
*}
{assign var="piwikGoal_register" value="4"}
{assign var="piwikGoal_cart" value="5"}
{assign var="piwikGoal_selectaccount" value="6"}
{assign var="piwikGoal_orderunregistered" value="7"}
{assign var="piwikGoal_shippingaddress" value="8"}
{assign var="piwikGoal_payment" value="9"}
{assign var="piwikGoal_confirm" value="10"}
{assign var="piwikGoal_startpage" value="11"}


{literal}
<script type="text/javascript">
  var _paq = _paq || [];
  
  
{/literal}
    {*order TODO Test*}
    {if $Bestellung->kBestellung>0 && $AktuelleSeite == "BESTELLVORGANG"}
	{foreach name=pos from=$Bestellung->Positionen item=Position key=counter}
	    {if $Position->kArtikel > 0}
		{*_paq.push(['addEcommerceItem',
"9780786706211", // (required) SKU: Product unique identifier
"Endurance: Shackleton's Incredible Voyage", // (optional) Product name
"Adventure Books", // (optional) Product category. You can also specify an array of up to 5 categories eg. ["Books", "New releases", "Biography"]
8.8, // (recommended) Product price
1 // (optional, default to 1) Product quantity
]);*}
		_paq.push(['addEcommerceItem', "{$Position->cArtNr}", "{$Position->Artikel->cName}", "", {$Position->Artikel->Preise->fVK[0]}, {$Position->nAnzahl}]);
	    {/if}
	{/foreach}
	{*_paq.push(['trackEcommerceOrder',
	"A10000123", // (required) Unique Order ID
	35, // (required) Order Revenue grand total (includes tax, shipping, and subtracted discount)
	30, // (optional) Order sub total (excludes shipping)
	5.5, // (optional) Tax amount
	4.5, // (optional) Shipping amount
	false // (optional) Discount offered (set to false for unspecified parameter)
	]);*}
	_paq.push(['trackEcommerceOrder', "{$Bestellung->cBestellNr}", {$Bestellung->fGesamtsumme}, {$Bestellung->fWarensumme}, {$Bestellung->fSteuern}, {$Bestellung->fVersand}, false ]);
    {*cart*}
    {elseif $smarty.session.Warenkorb->PositionenArr}
	{foreach name=pos from=$smarty.session.Warenkorb->PositionenArr item=Position key=counter}
	    {if $Position->kArtikel > 0}
		{*_paq.push(['addEcommerceItem',
"9780786706211", // (required) SKU: Product unique identifier
"Endurance: Shackleton's Incredible Voyage", // (optional) Product name
"Adventure Books", // (optional) Product category. You can also specify an array of up to 5 categories eg. ["Books", "New releases", "Biography"]
8.8, // (recommended) Product price
1 // (optional, default to 1) Product quantity
]);*}
		_paq.push(['addEcommerceItem', "{$Position->cArtNr}", "{$Position->Artikel->cName}", "", {$Position->Artikel->Preise->fVK[0]}, {$Position->nAnzahl}]);
	    {/if}
	{/foreach}
	_paq.push(['trackEcommerceCartUpdate',{$WarenkorbGesamtsumme[0]|replace:".":""|replace:",":"."|replace:" &euro;":""}]); // (recommended) Cart amount
    {/if}
	
    {if $AktuelleSeite == "PRODUKTE"}
	{*Produktuebersicht*}
    {elseif $AktuelleSeite == "ARTIKEL"}
	_paq.push(['setEcommerceView', "{$Artikel->cArtNr}", "{$Artikel->cName}", ""{*category*}, {$Artikel->Preise->fVK[0]}]);
    {elseif $AktuelleSeite == "STARTSEITE"}
	_paq.push(['trackGoal', {$piwikGoal_startpage}]);
    {elseif $AktuelleSeite == "REGISTRIEREN" && $piwikGoal_register > 0}
	_paq.push(['trackGoal', {$piwikGoal_register}]);
    {elseif $AktuelleSeite == "WARENKORB" && $piwikGoal_cart > 0}
	_paq.push(['trackGoal', {$piwikGoal_cart}]);
    {elseif $AktuelleSeite == "BESTELLVORGANG"}
	{if $step == "accountwahl" && $piwikGoal_orderunregistered > 0}
	    _paq.push(['trackGoal', {$piwikGoal_selectaccount}]);
	{elseif $step == "unregistriert bestellen" && $piwikGoal_orderunregistered > 0}
	    _paq.push(['trackGoal', {$piwikGoal_orderunregistered}]);
	{elseif $step == "Lieferadresse" && $piwikGoal_shippingaddress > 0}
	    _paq.push(['trackGoal', {$piwikGoal_shippingaddress}]);
	{elseif $step == "Zahlung" && $piwikGoal_payment > 0}
	    _paq.push(['trackGoal', {$piwikGoal_payment}]);
	{elseif $step == "Bestaetigung" && $piwikGoal_confirm > 0}
	    _paq.push(['trackGoal', {$piwikGoal_confirm}]);
	{else}
	    {*alert("aktuelle Seite Bestellvorgang: {$AktuelleSeite}\r\nStep:{$step}");*}
	{/if}
    {else}
	{*//alert("unknown page: {$AktuelleSeite}");*}
    {/if}
    _paq.push(['trackPageView']); 
    _paq.push(['enableLinkTracking']); 
    {literal}

  (function() {
    var u="{/literal}{$piwikDomain}{literal}";
    _paq.push(["setTrackerUrl", u+"piwik.php"]);
    _paq.push(["setSiteId", "{/literal}{$piwikID}{literal}"]);
    var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0]; g.type="text/javascript";
    g.defer=true; g.async=true; g.src=u+"piwik.js"; s.parentNode.insertBefore(g,s);
  })();
</script>
{/literal}
<noscript><p><img src="{$piwikDomain}piwik.php?idsite={$piwikID}" style="border:0" alt=""></p></noscript>
<!-- End Piwik Tag -->
 

ram1

Sehr aktives Mitglied
22. Juli 2009
1.116
7
AW: Piwik "Plugin" als Template

Grandios :)

Hab's mal auf unserem lokalen Testshop installiert, funktioniert mit den ersten Testläufen einwandfrei. Auch abgebrochene Kaufvorgänge werden getrackt.
 

basti

Gut bekanntes Mitglied
12. September 2007
774
12
AW: Piwik "Plugin" als Template

ok, super,
falls irgendwelche Probleme auftauchen einfach melden...

P.S. Natürlich würden wir uns freuen, wenn diejenigen, die das Template nutzen, uns einen Link zu unserem Shop "spenden"... bei Interesse bitte einfach ein Mail an uns
 

ram1

Sehr aktives Mitglied
22. Juli 2009
1.116
7
AW: Piwik "Plugin" als Template

Kurze Frage vorab zur Verlinkung... grundsätzlich mache ich das natürlich sehr gerne, schon alleine aus Respekt vor deiner Arbeit.

In welcher Branche bist Du denn tätig? Könnte etwas kritisch sein wenn wir direkte Mitbewerber sind, dann müsste man sich was anderes überlegen ;)

Cheers,
Gert

PS: Dein Postfach hier ist voll.
 

John

Sehr aktives Mitglied
3. März 2012
3.054
670
Berlin
AW: Piwik "Plugin" als Template

Interessant, habe ich auch mal bei mir eingebaut.

Warum trackst Du die Kategorie nicht?

Code:
{if $AktuelleSeite == "PRODUKTE"}
     {*Produktuebersicht*}

Ich habe das mal eingefügt mit:

Code:
{if $AktuelleSeite == "PRODUKTE"}
     {*Produktuebersicht*}
     _paq.push(['setEcommerceView',
        productSku = false, // No product on Category page
        productName = false, // No product on Category page
        category = "{$oNavigationsinfo->cName}" // Category Page, or array of up to 5 categories
      ]);
 

basti

Gut bekanntes Mitglied
12. September 2007
774
12
AW: Piwik "Plugin" als Template

Hm, das habe ich irgendwie vergessen ;)
Das war für uns uninteressant..
soll ichs kurz einbauen? Dürfte eigtl kein großes Problem sein....
 

John

Sehr aktives Mitglied
3. März 2012
3.054
670
Berlin
AW: Piwik "Plugin" als Template

Mir ist nur aufgefallen, daß die Ansicht

Ziel Ecommerce Konversionen nach Besuchstyp > Ecommerce Berichte > Produktkategorie nur ein "Produktkategorie nicht definiert" liefert

Insofern macht einbauen schon Sinn!
 

mrstefan

Aktives Mitglied
9. Dezember 2008
37
0
AW: Piwik "Plugin" als Template

Hallo ihr beiden,
an welcher Stelle müsste ich den das neue Code Schnipsel einfügen?
Besten Dank vorab!
 

basti

Gut bekanntes Mitglied
12. September 2007
774
12
AW: Piwik "Plugin" als Template

Hallo pgeiss
ich weiß noch nicht, wann ich dazu komme...
es sind gerade viele andere Baustellen offen...
ich hoffe es diese Woche mal kurz einzubauen...
 

chd

Aktives Mitglied
4. Dezember 2012
37
4
AW: Piwik "Plugin" als Template

Hallo Basti,

könntest Du vielleicht noch schreiben welche Goals Du wohin angelegt hast?

Christian
 

basti

Gut bekanntes Mitglied
12. September 2007
774
12
AW: Piwik "Plugin" als Template

ohne Garantie, da schon ne Weile her:
{assign var="piwikGoal_register" value="4"}
Kudnenregistrierung
{assign var="piwikGoal_cart" value="5"}
Warenkorb
{assign var="piwikGoal_selectaccount" value="6"}
Accountwahl
{assign var="piwikGoal_orderunregistered" value="7"}
Unregistriert bestellen
{assign var="piwikGoal_shippingaddress" value="8"}
Versandadresse
{assign var="piwikGoal_payment" value="9"}
Zahlart
{assign var="piwikGoal_confirm" value="10"}
Bestätigung
{assign var="piwikGoal_startpage" value="11"}
Startseite

Gruß Basti
 

chd

Aktives Mitglied
4. Dezember 2012
37
4
AW: Piwik "Plugin" als Template

Danke Basti.

Hätte ich mir die Doku zur Piwik-API vorher angeschaut, wäre ich auch selbst drauf gekommen ...

Wenn ich Dir noch eine Erweiterung vorschlagen darf: Schön wäre wenn die Kampagnen aus JTL auch als solche in Piwik getrackt werden würden. Keine Ahnung ob das geht.

Viele Grüße
Christian
 

bugslockstore

Aktives Mitglied
10. August 2012
18
0
Österreich, Vlbg.
AW: Piwik "Plugin" als Template

Hallo Basti,

erst mal herzlichen Dank für deine hervorragende Arbeit.

[Hm, das habe ich irgendwie vergessen
Das war für uns uninteressant..
soll ichs kurz einbauen? Dürfte eigtl kein großes Problem sein..../QUOTE]

Hast du das vielleicht schon eingefügt und könntest du uns das nochmal zur Verfügung stelle.

Viele Grüße
Elrico
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Das JTL Shop gratis Plugin GPSR Verordnung - sieht mies aus, belastet die Datenbank, Excel Bearbeitung unmöglich Betrieb / Pflege von JTL-Shop 15
Neu PAYONE Plugin keine Bestellabschluss Seite Plugins für JTL-Shop 0
Neu 📢 Neues Plugin: "GPSR Herstellerinformationen" 📢 Plugins für JTL-Shop 18
Neu Anbindung an Idealo mit Plugin gesucht Schnittstellen Import / Export 0
Neu Mollie Plugin und stornierte "Klarna Pay Later" Zahlungsaufforderungen. Plugins für JTL-Shop 0
Neu Plugin: WooCommerce Wallet oder Gutscheine mit JTL nutzen - Fehler in der MwSt User helfen Usern - Fragen zu JTL-Wawi 0
Neu JTL Plugin fuer Wordpress Plugin wirft Error/success Fehler WooCommerce-Connector 2
Neu JTL Google Shopping Plugin - Bilder Updaten Plugins für JTL-Shop 3
Neu Wie andere Länder und Sprachen vom Google Shopping Plugin mit dem Merchant Center verbinden Plugins für JTL-Shop 6
Neu Frage zu Plugin Entwicklung : IO Request im Admin Technische Fragen zu Plugins und Templates 2
Neu Google Shopping Plugin - Artikel filtern Plugins für JTL-Shop 3
Neu Rollenbasiertes Kunden-Plugin (B2B) Plugins für JTL-Shop 1
Neu Frage zur Plugin Entwicklung Plugins für JTL-Shop 3
Neu Eigenes Plugin und der cache.. Plugins für JTL-Shop 3
Neu Plugin Variantenauswahl Plugins für JTL-Shop 1
Neu CIN Farbkonfigurator Plugin JTL-Shop 5 Plugins für JTL-Shop 0
Neu Per Plugin Felder für das Newsletter-Anmeldungs-Template hinzufügen Technische Fragen zu Plugins und Templates 2
Neu 💙 Neues Plugin: Multi Page Portlets für OPC ( 1 Portlet auf mehreren Seiten ) Plugins für JTL-Shop 0
Neu IT-Recht Kanzlei Plugin v 1.0.7 - Einstellung PDF anhängen deaktiviert sich immer wieder Plugins für JTL-Shop 16
Neu Plentymarkets-Plugin 2.0 für JTL-Fulfillment Network Technische Fragen zu den JTL-Connectoren 0
Neu Neues Plugin: "Schnellkauf Plus" (Artikel direkt durch die Eingabe von Artikelnummer, GTIN, ISBN, ASIN, HAN oder UCP in den Warenkorb legen) Plugins für JTL-Shop 2
Neu IT-Recht Kanzlei Plugin fügt immer die Datenschutzerklärung mit in die Mails ein. Plugins für JTL-Shop 12
Neu JTL Google Shopping Plugin - Farbe und Größe bei mehreren Sprachen Plugins für JTL-Shop 1
Neu DHL Wunschzustellung Plugin Plugins für JTL-Shop 0
Neu Payone Plugin Zahlungen werden abgebucht aber keine Aufträge erstellt Plugins für JTL-Shop 0
Neu PayPal Checkout Plugin Update Arbeitsabläufe in JTL-Wawi 1
Neu Webstollen EU-Cookie Plugin ab 1.7. nicht mehr für Shop4 ? Plugins für JTL-Shop 43
Neu PayRexx jetzt mit eigenem Plugin für den JTL-Shop Plugins für JTL-Shop 23
Neu Anfrage bezüglich Popup-Plugin für JTL-Shop Plugins für JTL-Shop 1
Neu Skonto bei Zahlung nicht erkannt. Rechnung bleibt dauerhaft als teilbezahlt. User helfen Usern - Fragen zu JTL-Wawi 7
Neu JTL Shipping: Straße 2 1/2 kommt als 212 bei DHL im Shipping Label an JTL-ShippingLabels - Fehler und Bugs 1
Packliste als CSV exportieren JTL-Wawi 1.9 9
Neu SQL Abfrage - Sendungsnummern als Liste nach Datum Schnittstellen Import / Export 2
Neu Bestandskunden JTL Wawi als Kundenaccounts Woocommerce anlegen WooCommerce-Connector 3
Neu FBA Anlieferung aus der JTL-Wawi heraus --> Firmenname in der Absenderadresse wird nur noch als "-" dargestellt Amazon-Anbindung - Fehler und Bugs 1
Neu Gebinde wie angelegt unter sonstiges als Barcode ausgeben Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 11
Neu Aufruf Ameise als Batch JTL-Ameise - Ideen, Lob und Kritik 0
Amazon FBA Gutschrift als Rechnungskorrektur? JTL-Wawi 1.9 1
Neu Aktionsleiste als generelles Portlet? Allgemeine Fragen zu JTL-Shop 1
Neu Abweichende Lieferadresse als Standard Allgemeine Fragen zu JTL-Shop 2
Neu Ausblenden von Artikeln wenn Bestand weniger als Mindestintervall Allgemeine Fragen zu JTL-Shop 0
Neu Editor im Shop als Vollbild nicht mehr möglich? Allgemeine Fragen zu JTL-Shop 4
Unterkategorie als Link auf eine andere Hauptkategorie setzen Einrichtung JTL-Shop5 2
Neu Zahlungsarten automatisch als bezahlt markieren Shopify-Connector 1
Neu Links als Menüeintrag setzen Allgemeine Fragen zu JTL-Shop 6
Neu Nettopreise aus Shopify werden als Bruttopreise an JTL übertragen Shopify-Connector 2
Neu API Rest Server als Dienst starten User helfen Usern - Fragen zu JTL-Wawi 1
Neu WooCommerce-Kategorie Name wird nicht übertragen -> WooCommerce-Kategorie #1, #2, #3 wird als Name genommen WooCommerce-Connector 1
Neu Farbe setzen funktioniert nach dem Updaten anders als früher. Was kann ich dagegen tun? Arbeitsabläufe in JTL-Wawi 0
Neu Greyhound Empfehlung als Ersatz für den Servicedesk / Datenübertragung / API Servicedesk (Beta) 13

Ähnliche Themen