Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: ANLEITUNG: Google Analytics / Piwik mit IP Anonymisierung in den Shop einbinden

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Die Frage taucht immer mal wieder auf, daher habe ich das nochmal für euch zusammen gefasst.

    Es ist gleich die folgende Funktionalität mit eingebaut: xt:Commerce und Google Analytics - Admins nicht mitzählen

    Für Google Analytics (mit anonymizeIp):

    Die Datei "/templates/DEIN_TEMPLATE/source/boxes.php" am Ende jedoch vor

    Code: PHP  [Auswählen]
    $smarty->assign('tpl_path','templates/'.CURRENT_TEMPLATE.'/');

    mit folgendem Code erweitern:

    Mit neuem "asynchronous tracking" Code:

    Code: PHP  [Auswählen]
    $GOOGLE_ANALYTICS =
    '<script type="text/javascript">

      var _gaq = _gaq || [];
      _gaq.push([\'_setAccount\', \'UA-XXXXXXXX-X\']);
      _gaq.push([\'_gat._anonymizeIp\']);
      _gaq.push([\'_trackPageview\']);

      (function() {
        var ga = document.createElement(\'script\'); ga.type = \'text/javascript\'; ga.async = true;
        ga.src = (\'https:\' == document.location.protocol ? \'https://ssl\' : \'http://www\') + \'.google-analytics.com/ga.js\';
        var s = document.getElementsByTagName(\'script\')[0]; s.parentNode.insertBefore(ga, s);
      })();

    </script>'
    ;
    if ($_SESSION['customers_status']['customers_status_id'] == 0 || isset($_GET['admin']))
       unset($GOOGLE_ANALYTICS);
    $smarty->assign('GOOGLE_ANALYTICS', $GOOGLE_ANALYTICS);

    Mit altem ga.js Code (alternativ anzuwenden, nicht zusammen mit "asynchronous tracking" Code:

    Code: PHP  [Auswählen]
    $GOOGLE_ANALYTICS =
    '<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("UA-XXXXXXXX-X");
    _gat._anonymizeIp();
    pageTracker._initData();
    pageTracker._trackPageview();
    //-->
    </script>'
    ;
    if ($_SESSION['customers_status']['customers_status_id'] == 0 || isset($_GET['admin']))
       unset($GOOGLE_ANALYTICS);
    $smarty->assign('GOOGLE_ANALYTICS', $GOOGLE_ANALYTICS);

    Achtung: UA-XXXXXXXX-X ersetzt ihr dabei natürlich gegen euren persönlichen Account bei Google Analytics.

    Die Datei "/templates/DEIN_TEMPLATE/index.html" am Ende mit folgendem Code erweitern:

    Code: PHP  [Auswählen]
    {$GOOGLE_ANALYTICS}

    Für Piwik Analytics:

    Die Datei "/templates/DEIN_TEMPLATE/source/boxes.php" am Ende jedoch vor

    Code: PHP  [Auswählen]
    $smarty->assign('tpl_path','templates/'.CURRENT_TEMPLATE.'/');

    mit folgendem Code erweitern:

    Code: PHP  [Auswählen]
    $PIWIK_ANALYTICS =
    '<script type="text/javascript">
    <!--
    var pkBaseURL = (("https:" == document.location.protocol) ? "https://www.DEINE_DOMAIN.de/piwik/" : "http://www.DEINE_DOMAIN.de/piwik/");
    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", 1);
    piwikTracker.trackPageView();
    piwikTracker.enableLinkTracking();
    } catch( err ) {}
    //-->
    </script><noscript><p><img src="http://www.DEINE_DOMAIN.de/piwik/piwik.php?idsite=1" alt=""></p></noscript>'
    ;
    if ($_SESSION['customers_status']['customers_status_id'] == 0 || isset($_GET['admin']))
       unset($PIWIK_ANALYTICS);
    $smarty->assign('PIWIK_ANALYTICS', $PIWIK_ANALYTICS);

    Achtung: www.DEINE_DOMAIN.de bitte entsprechend im Code ersetzen.

    Die Datei "/templates/DEIN_TEMPLATE/index.html" am Ende mit folgendem Code erweitern:

    Code: PHP  [Auswählen]
    {$PIWIK_ANALYTICS}

    Für die Anonymisierung der IP Adressen in Piwik ist es noch nötig, dass ihr euch im Adminbereich von Piwik anmeldet und unter "Einstellungen" -> "Plugins" -> "AnonymizeIP" aktiviert.

    Wenn ihr den Shop nun mit dem Parameter "?admin" aufruft, dann werdet ihr selber nicht mehr mitgezählt:

    Zitat
    http://www.DEINE_DOMAIN.de/?admin

    Grüße

    Torsten

    [EDIT Tomcraft 29.11.2010: Anleitung aktualisiert, Danke an Speedy.]
    [EDIT Tomcraft 07.12.2010: Eine Anleitung für das eCommerce Tracking findet ihr hier: ANLEITUNG: E-Commerce-Tracking mit Google Analytics]

    Linkback: https://www.modified-shop.org/forum/index.php?topic=5543.0

    Thomas

    • Fördermitglied
    • Beiträge: 1.587
    Hi,

    hat wunderbar funktioniert, vielen Dank! Selbst mitgezählt werd ich auch nimmer, klasse Sache!

    Grüße Tom

     :search:

    DokuMan

    • modified Team
    • Beiträge: 6.669
    • Geschlecht:
    Anmerkung: Bei Google-Analytics müsst ihr in euren Datenschutzbestimmungen darauf hinweisen (da ihr durch Google die Daten nach extern weitergebt)!
    Bei piwik ist der Hinweis nicht zwingend nötig, da ihr weiterhin die Datenhoheit habt. Es sollte evtl darauf hingewiesen werden, falls IPs nicht anonymisiert werden :)

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Ich habe in Beitrag 1 den Code für den neuen Google asynchronous tracking code hinzugefügt, sowie die Anonymisierung der IPs gleich mit eingebaut. Bitte testet das mal, es gibt unterschiedliche Quellen darüber, wie der Einbau zu durchzuführen ist.

    hier: http://www.eliasfischer.de/blog/technik/google-analytics-datenschutz/
    und hier: http://www.timoaden.de/2010/05/google-analytics-und-der-datenschutz.html

    Hier noch die Funktionsreferenz von Google: http://code.google.com/intl/de-DE/apis/analytics/docs/gaJS/gaJSApi_gat.html#_gat._anonymizeIp

    Grüße

    Torsten

    DokuMan

    • modified Team
    • Beiträge: 6.669
    • Geschlecht:
    Ich habe das mal eben ausprobiert, aber (bei mir?) funktioniert es nicht, wenn ich z.B. PIWIK in die "/templates/DEIN_TEMPLATE/javascript/general.js.php" auslagere.

    Der Javascript-Teil erscheint nicht, da "$smarty->assign" an der Stelle wohl nicht wirkt.

    CreativDesigner

    • CreativDesigner.de
    • Mitglied
    • Beiträge: 125
    Irgendwie scheint es aber nicht zu funktionieren statt den Google Code zieht er mir die Informationen darüber rein aber nicht den Google Code

    Code: PHP  [Auswählen]
    <script src="templates/xtc5/javascript/jquery.js" type="text/javascript"></script>
    <script src="templates/xtc5/javascript/thickbox.js" type="text/javascript"></script>
     
    Habe nur den neuen Code von Analytics ersetzt und dabei aus ' ein " gemacht weil der ja sonst den Code abschnibbelt. Ich glaube ich sollte mal lieber ne Runde schlafen im Halbschlaf sowas zu basteln  :hust:

    DokuMan

    • modified Team
    • Beiträge: 6.669
    • Geschlecht:
    Kann ich bestätigen, die Smarty-Variable "$GOOGLE_ANALYTICS" oder "$PIWIK_ANALYTICS" wird nicht angelegt und erscheint somit nicht im Template.

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Schaut euch bitte nochmal den Quelltext eurer Demoshops an und geht gaaaaaaanz ans Ende der Seite! Dort ist der Piwik/Google Analytics Code dann zu finden.

    Funktioniert bei mir einwandfrei nach genau der Anleitung.

    Grüße

    Torsten

    CreativDesigner

    • CreativDesigner.de
    • Mitglied
    • Beiträge: 125
    Nein Torsten am Ende der Seite unter dem Footer wo der GA Code auftauchen sollte erscheinen die Headerinformationen.

    DokuMan

    • modified Team
    • Beiträge: 6.669
    • Geschlecht:
    mit der 1.03 funktioniert es noch, mit der aktuellen Trunk-Version nicht mehr, siehe PM.

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Stimmt... Anleitung ist aktualisiert!

    Grüße

    Torsten

    CreativDesigner

    • CreativDesigner.de
    • Mitglied
    • Beiträge: 125
    Was aktualisiert? ich seh nix anderes o.O  :mhhh:

    DokuMan

    • modified Team
    • Beiträge: 6.669
    • Geschlecht:
    Torsten hat die general.css.php dazugenommen, was aber auch noch nicht optimal ist, da der Code dann am Seitenanfang ausgeführt wird, was nicht wünschenswert ist.

    Pack den Code in die templates\xtc5\source\boxes.php

    vor die Zeile

    Code: PHP  [Auswählen]
    $smarty->assign('tpl_path','templates/'.CURRENT_TEMPLATE.'/');
    dann erscheint es auch wie gewünscht am Ende der HTML-Seite :)

    CreativDesigner

    • CreativDesigner.de
    • Mitglied
    • Beiträge: 125
    Ja das hab ich gerade gesehen aber mit dem 1. asynchronous Code geht noch immer nix ausser im Frontend das der den gesamten Code in Quelltext rotzt:

    Code: PHP  [Auswählen]
    $GOOGLE_ANALYTICS = '';
     
    Wieso wird eigentlich das nicht mal fest Eingebaut? bei Gambio haben die das zum Beispiel packste über'n Backend den Code rein stellste ein Ja / Nein und er fügt den im Footer dazu ;)

    Ich meine wer nutzt das den noch nicht bzw. wem schadet das? Wäre 'ne sinnvolle Erweiterung.

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Da gebe ich dir Recht und großer Aufwand wäre es auch nicht. Ich setze das mal auf die Roadmap.

    Ich habe die Anleitung in Beitrag 1 aktualisiert, bitte nochmal rüber schauen.

    Grüße

    Torsten

    46 Antworten
    22813 Aufrufe
    08. Juli 2014, 11:09:12 von Tomcraft
    1 Antworten
    2118 Aufrufe
    14. Dezember 2015, 13:22:39 von lohkaes1
               
    anything