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
2.648
511
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
2.648
511
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 Plugin Konfigurator für Breite x Höhe Plugins für JTL-Shop 6
Neu JTL PayPal: Plugin - Bestellungen werden nicht angezeigt. Fehlermeldung "Unable to load config 'file:.conf'" Plugins für JTL-Shop 2
Neu Plugin für Boomerang Versandverpackungen Plugins für JTL-Shop 1
Neu Netto für Händler gleich, Brutto für Endkunden - Plugin oder andere Alternative? Allgemeine Fragen zu JTL-Shop 0
Neu 💙 Neues Plugin: Wunschzettel Plus (Wunschzettelauswahl direkt am Artikel) Plugins für JTL-Shop 0
Neu Paypal Plugin Version 1.2.0 läuft und 1.4.0. läuft nicht auf derselben Umgebung Plugins für JTL-Shop 0
Neu Fehlermeldung nach Bestellabschluss durch Plugin Gelöste Themen in diesem Bereich 7
Neu Neues Plugin: Google Translate / Übersetzer (DSGVO-konform und weitere Features) Plugins für JTL-Shop 2
Neu Händlerbund Plugin lässt sich nicht installieren Shop ver. 5.3.0 Plugins für JTL-Shop 1
Neu Eigene Seiten mit Plugin erstellen Technische Fragen zu Plugins und Templates 1
Neu Neues Plugin: Instagram-Feed Portlet (Als Galerie- oder Slideransicht und weitere Features) + 3x kostenlose Lizenzen Plugins für JTL-Shop 4
Neu 🌟Neues Plugin: Bounce Landingpage Plugins für JTL-Shop 5
Neu 504 Gateway Time-Out nginx bei Plugin-Updates Gelöste Themen in diesem Bereich 10
Neu Unterstützung bei JTL5-Shop-Überarbeitung gesucht - Template/Plugin uvm. Dienstleistung, Jobs und Ähnliches 1
Neu Erledigt - Plugin PayPal Checkout, Update auf 1.4.0, Komplettabsturz Plugins für JTL-Shop 1
Neu Paypal Plugin erzeugt "Quirks Mode" Betrieb / Pflege von JTL-Shop 0
Neu Mail-Versand & Plugin Doku Technische Fragen zu Plugins und Templates 2
Neu Variationen im Shop Auswahl zurücksetzen (Plugin?) Betrieb / Pflege von JTL-Shop 3
Neu NEU ✔️ PDF-Angebots-Plugin für den JTL-Shop 5 - PDF Angebote von der Produktseite oder aus dem Warenkorb heraus generieren B2C / B2B Plugins für JTL-Shop 5
Neu Neues Plugin: Hersteller Slider Portlet (Zentrierungs- oder Schwarz/Weiß-Modus, Responsive Anpassung..) inkl. 5 kostenlosen Lizenzen Plugins für JTL-Shop 4
Neu Plugin KBA Finder Implementierung/Darstellungsänderung Plugins für JTL-Shop 0
Neu Custom Template für Custom Artikel mit Plugin? Plugins für JTL-Shop 0
Neu JTL Connector Plugin Aktivierunf [Fehlermeldung] WooCommerce-Connector 3
Neu Erfahrung mit LS-Cache Plugin Technische Fragen zu Plugins und Templates 10
Neu 🌟Neues Plugin: FRASPY Altersprüfung & IdentitätsCheck Plugins für JTL-Shop 3
Neu 🎉 Neues Plugin: "Versandkosten und Lieferzeit automatisch beziehen - UPS Extension" 🎉 Plugins für JTL-Shop 2
Neu dpd-Label als PDF-ausgeben JTL-ShippingLabels - Ideen, Lob und Kritik 2
Neu Zahlungsabgleich: Lastschrift soll als Lastschrift verbucht werden Arbeitsabläufe in JTL-Wawi 3
Neu Auftragszahlung über Kasse, Auftrag wird nicht als "Verpackt und Versendet" markiert JTL-POS - Fehler und Bugs 1
Neu Woocomnerce Aufträge werden in WAWI erstellt aber nicht als bezahlt markiert Gelöste Themen in diesem Bereich 3
Neu Workflow - als Bedingung Standard-Dropshipping-Lieferantenname prüfen Gelöste Themen in diesem Bereich 5
Neu Amazon Rechnungen stehen als "nicht bezahlt" bei den Rechnungen offen Amazon-Anbindung - Fehler und Bugs 0
Testmandantenumgebung in Wawi als Duplikat vom Echtzeitmandanten erstellen? JTL-Wawi 1.8 5
In Diskussion Zahlungsart Kartenzahlung bleibt in Wawi als Auftrag ohne Rechnung Allgemeine Fragen zu JTL-POS 4
Neu Versandart als Position nicht aufnehmen User helfen Usern - Fragen zu JTL-Wawi 1
Neu Probleme mit EAN als Barcode bei Varkombis Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 3
Artikel als neu kennzeichnen JTL-Wawi 1.8 3
Neu 2x SumUp als Zahlungsmethode mit 2x verschiedenen SumUp Accounts aber 1x Kartenlesegerät? Allgemeine Fragen zu JTL-POS 0
Neu JTL Connector zu SW6 auch als Testumgebung möglich ? Onlineshop-Anbindung 4
Neu JTL Wawi Bild-Upload unvollständig oder nur als mit meinem PC hochgeladen zu sehen User helfen Usern - Fragen zu JTL-Wawi 2
DHL CN23 Zollerklärung automatisch als PDF speichern JTL-Wawi 1.8 0
Export von Bestellungen als Excel JTL-Wawi 1.6 1
Neu Lieferantenbestellung als CSV mit selbst festgelegten Spalten per Mail senden Arbeitsabläufe in JTL-Wawi 1
Neu Erstellen eines Sets, als Variation in Zusammenhang mit einer Stückliste Arbeitsabläufe in JTL-Wawi 2
Neu Eigene Felder im Verkauf als Spalten anzeigen User helfen Usern - Fragen zu JTL-Wawi 4
Neu Geschäftsaufgabe Young Fashion Damenmode + Gitterkörbe metall als Regale 130 x 40 x 60 Business Jungle 1
Neu Ware auf Retoureplatz wird als "verfügbar" betrachtet JTL-Wawi - Fehler und Bugs 2
Gelöst Packtisch+ 1.8.112 : Rechnung wird bei Teillieferung erzeugt, obwohl als Ausführungsbedingung "Nur bei der letzten Teillieferung" ausgewählt ist. JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 2
Neu Track & Trace - Auslandssendungen automatisiert als PDF exportieren, bevor die Logs gelöscht werden. JTL-Track&Trace - Ideen, Lob und Kritik 0
Neu Wie kann ich eine Inventurliste als Excel- oder csv-Datei erstellen? Gelöste Themen in diesem Bereich 3

Ähnliche Themen