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.851
915
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.851
915
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
45
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
46
7
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
46
7
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 Manager Fehlermeldung JTL-Shop - Fehler und Bugs 4
Neu Nach Update auf PayPal 2.1.0 doppelte Zahlungsarten und Ratepay Plugin erforderlich Plugins für JTL-Shop 0
Neu Artikelseiten 500 HTTP Fehler PayPal Plugin 2.1.0 JTL Shop 5.4.0 Plugins für JTL-Shop 4
Neu Exportformat Google Shopping Plugin Plugins für JTL-Shop 1
Neu 500 Error durch Paypal Plugin im B2B Shop Plugins für JTL-Shop 0
Neu Plugin Empfehlung gesucht - Warenkorb z.B. Kaufe 2, 2. Produkt x Rabatt Plugins für JTL-Shop 1
Neu CSS-Gutschein-Plugin funktioniert nach Shop-update auf 5.5.3 nicht mehr Plugins für JTL-Shop 1
Neu Google Shopping (Plugin) Export immer leer Allgemeine Fragen zu JTL-Shop 4
Neu Sendcloud Plugin immer im Tab fehlerhaft - Lizenz abgelaufen Plugins für JTL-Shop 0
Neu Texteditor Hinweis Plugin von Webstollen Plugins für JTL-Shop 0
Neu Welches PlugIn für ein besseres Google Ranking? Plugins für JTL-Shop 2
Neu Händlerbund Plugin: "Zahlung und Versand" wird nicht automatisch übernommen Plugins für JTL-Shop 2
Neu Die Zahlungsart SOFORT ist eine Plugin-Zahlungsart für Mollie. Das zugehörige Plugin ist jedoch nicht installiert! Allgemeine Fragen zu JTL-Shop 0
Neu Plugin PayPal - capture failed for method PayPal Checkout Plugins für JTL-Shop 2
Neu Plugin-Update 2.4.1: JTL Exportformat Google Shopping Plugins für JTL-Shop 6
Neu Paypal Plugin läßt sich nicht installieren - SQL Fehler Plugins für JTL-Shop 2
Neu Paypal Plugin 2.0.1 Merachant JTL-Shop - Fehler und Bugs 10
Neu Plugin Fehler JTL-Shop - Fehler und Bugs 7
Neu PayPal Plugin 2.0 - Vaulting - Ist IMMER ein neues Onboarding nötig? Wie prüfen, ob OK? Plugins für JTL-Shop 6
Neu Plugin - Kindartikel in der Artikelübersicht anzeigen - SHOP-475 Plugins für JTL-Shop 8
Neu 🌟Neues Plugin: Produkt FAQ Plugins für JTL-Shop 0
Neu Suche Plugin: Zusatzartikel mit einfacher Variationsauswahl Plugins für JTL-Shop 8
Neu Neues Plugin - Der ultimative Super-Slider Plugins für JTL-Shop 0
Neu Filter Kunde mit eigenem Feld Wert "größer als"? User helfen Usern - Fragen zu JTL-Wawi 0
DPD Etiketten als PDF speichern JTL-Wawi 1.10 0
Neu PDF-Rechnung an andere Mailadresse schicken als Angebot / Auftrag Arbeitsabläufe in JTL-Wawi 4
Merkmalfilter als Leiste über Artikelliste möglich??? Einrichtung JTL-Shop5 3
Neu BUG! eBay Lieferadresse wird als Rechnungsadresse übertragen eBay-Anbindung - Fehler und Bugs 8
Neu Artikel als Variationskombination plus Zusatzprodukt User helfen Usern - Fragen zu JTL-Wawi 0
Neu Behandlung der Kasseneinnahmen als Händler statt als Endkunde im Wawi JTL-POS - Fehler und Bugs 0
Artikel im Auftrag nicht verschiebbar. Freiposition automatisch gesetzt in jedem Auftrag als 1. Position. JTL-Wawi 1.10 1
Neu Hilfe bei Anpassung der JTL-Rechnung (v1.9.4.6) – EK pro Stück × Menge als Summe je Position + Privateinlage-Hinweis Dienstleistung, Jobs und Ähnliches 1
Neu Download-Datei soll nach Registrierung als Kunde im Kundenaccount freigeschaltet werden Allgemeine Fragen zu JTL-Shop 2
Neu Anbindung von Global E als Versanddienstleister in JTL – wer wäre dabei? JTL-Wawi - Ideen, Lob und Kritik 0
JTL Rest API als Dienst JTL-Wawi 1.10 5
Neu Versandkosten als Position Amazon-Anbindung - Fehler und Bugs 0
Neu Unhandled Exception beim Versuch ein WEBP Format als Merkmalbild zu importieren JTL-Wawi - Fehler und Bugs 0
Neu Freiposition als Vorlagen speichern (neuer Artikeltyp "Freiposition") JTL-Wawi - Ideen, Lob und Kritik 1
Neu Installation als Privatperson Installation von JTL-Wawi 7
Neu POS als Eletronisches Kassenbuch verwenden? Allgemeine Fragen zu JTL-POS 2
Neu JTL Shop (anderes Template) eigene Felder aus Wawi als TAB im Shop User helfen Usern - Fragen zu JTL-Wawi 12
Neu Buchstabe als Straße User helfen Usern - Fragen zu JTL-Wawi 1
PDF Dokument (Rechnung, Angebot, AB) wird als Titel Test gezeigt JTL-Wawi 1.9 0
Neu Auftrag als FulFillment übermitteln Schnittstellen Import / Export 2
In Diskussion Per Workflow aktuelle Kategorie als Attribut hinterlegen JTL-Workflows - Ideen, Lob und Kritik 5
Neu Shopify ohne JTL bzw. nur als Abwicklung Shopify-Connector 3
Wie kann man eine Vorkasse-Rechnung / Proforma Rechnung nach Bezahlung als Rechnung ausweisen? JTL-Wawi 1.9 11
Otto Bestellungen kommen nicht als Externe Rechnungen rein Otto.de - Anbindung (SCX) 6
Paypal als Zahlungsanbieter in Wawi einrichten JTL-Wawi 1.9 1
Neu Nach Update 5.5.0: Überall zu viele Nullen bei den Mengenangaben (1 wird als 1,0000 angezeigt) JTL-Shop - Fehler und Bugs 8

Ähnliche Themen