Der optimale Tracking Code


#1

Liebe Piwik User,

ich habe PIWIK auf mehreren Webseiten eingebaut. Nach den ersten Erfolgen ohne SSL und Schnickschnack versuche ich nun, einen optimalen Tracking Code zu erzeugen und scheitere immer wieder. Derzeit wird gar nix getrackt :frowning: Vielleicht könnt Ihr helfen?

  1. PIWIK läuft auf einem Hosteurope Server in einer subdomain http://piwik.domain.de
  2. Ein SSL-Proxy mit einem allgemeinen SSL-Zertifikat ist dazwischengeschaltet: https://ssl.webpack.de/piwik.domain.de
  3. Die Webseiten laufen mit WordPress und dem Plugin WP-Piwik

Das Tracking sollte

  • asynchron sein - d.h. im Header untergebracht, so dass die Webseite unabhängig von PIWIK geladen wird
  • die Kommunikation soll über den SSL-Proxy des Hosters laufen
  • die Lebenszeit des Cookie soll auf 7 Tage heruntergesetzt werden

So wie ich das verstanden habe, geht das so:

  1. Schritt:
    piwik.php hochladen, dort die zwei Variablen anpassen:
    $PIWIK_URL = ‘https://ssl.webpack.de/piwik.domain.de’;
    $TOKEN_AUTH = ‘4365464546576789874534334545’;
    Der “Token_Auth” ist ein eigens angelegter User mit Adminrechten für alle angelegten Webseiten

  2. Schritt:
    WP-Piwik installieren und einrichten:
    PIWIK-Einstellungen:
    Piwik URL (REST API):https://ssl.webpack.de/piwik.domain.de
    Auth-Token: 4365464546576789874534334545
    Die Autokonfiguration ist eingeschaltet, der Eintrag in der PIWIK Installation ist ausgewählt. Die grundsätzliche Kommunikation funktioniert also.
    Tracking:
    Das Einfügen des Tracking-Codes ist deaktiviert, das mache ich später über die header.php des Themes
    Die Debug-Seite sieht gut aus:
    cURL ist verfügbar.
    allow_url_fopen ist aktiviert.

  3. Schritt
    In der Header.php des Themes platziere ich den PIWIK-Tracking-Code vor dem schließenden Tag. Der Code erscheint im Quelltext.

Soweit sollte alles in Ordnung sein. Ich vermute, es liegt am tracking Code selber oder am SSL-Proxy.

Hier der Tracking Code, den ich benutze:

Die Besuche der Webseite werden nicht derzeit gar nicht aufgezeichnet - weder vom Plugin WP-PIWIK noch von Piwik selbst. Ich habe gerade noch gelesen, dass es beim Aufruf über cURL Probleme mit SSl geben kann:
http://unitstep.net/blog/2009/05/05/using-curl-in-php-to-access-https-ssltls-protected-sites/

Deshalb wird empfohlen, folgendes Snippet in die piwik.php einzufügen: curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false); und zwar nach $c = curl_init($strURL); Das habe ich aber gar nicht in meiner Piwik.php stehen. Gibt es eine offizielle piwik.php-Datei, die man herunterladen kann und mit der aktuellen Version funktioniert?

Im Hilfefile wird gesagt: * In your php.ini you must check that the following is set: allow_url_fopen = On Wo finde ich die php.ini? Im Piwikordner gibt es keine Datei diesen Namens. Ist damit etwa die config.ini.php gemeint?

Puh - ich hoffe, ich habe Euch jetzt nicht erschlagen mit den ganzen Infos… Sorry, ber ich stecke echt fest. Könnt Ihr mir helfen? Ich denke, ein geschulter Programmierer-Blick könnte vielleicht Wunder wirken :wink:

Danke!!!

Christian


#2

Hast Du im Tracking Code Deine piwik Analyse Seite eingetragen ? Mein Tracking Code ist kürzer:


<!-- Piwik -->
<script type="text/javascript">
  var _paq = _paq || [];
  _paq.push(["trackPageView"]);
  _paq.push(["enableLinkTracking"]);

  (function() {
    var u=(("https:" == document.location.protocol) ? "https" : "http") + "://analytics.MeineSeite.de/";
    _paq.push(["setTrackerUrl", u+"piwik.php"]);
    _paq.push(["setSiteId", "3"]);
    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>
<!-- End Piwik Code -->


#3

Hi Merlin, danke für Deine Antwort :slight_smile:

mein Tracking Code ist der gleiche, den Du hast - bis auf diese Ausnahmen:
_paq.push([‘setVisitorCookieTimeout’, ‘604800’]);
_paq.push([‘setSessionCookieTimeout’, ‘0’]);

für die Begrenzung der Cookie-Lebensdauer auf 7 Tage

g.src=u+“piwik.php” statt g.src=u+“piwik.js” für den Verweis auf die piwik.php Datei.

Der Code funktioniert inzwischen in der ersten WordPress-Installation :smiley: und zwar im Header:

Derzeit sieht der Code so aus:


<!-- Piwik -->
<script type="text/javascript">
  var _paq = _paq || [];
    _paq.push(["trackPageView"]);
    _paq.push(["enableLinkTracking"]);

  (function() {
    var u=(("https:" == document.location.protocol) ? "https" : "http") + "://meine-seite.de/";
    _paq.push(["setTrackerUrl", u+"piwik.php"]);
    _paq.push(['setVisitorCookieTimeout', '604800']);
    _paq.push(['setSessionCookieTimeout', '0']);
    _paq.push(['setSiteId', 4]);
   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.php";
    s.parentNode.insertBefore(g,s);
  })();
</script>
<!-- End Piwik Code -->


#4

YippiehYahee ! et lüppt :slight_smile:

derzeit vier angeschlossene Seiten mit unterschiedlichsten Konfigurationen. Hab wieder viel dazugelernt.

Vielen Dank und alles Gute Euch.

Jetzt: :)-D


#5

Wofür ist das gut? Ich finde nichts in der Doku :frowning:
Danke


#6

Hallo,

habt ihr auch das Problem, dass die IP nur vom Server da steht, nicht vom User selbst?


#7

Hallo ihr,

ein gutes Thema mit dem ich mich aktuell auch auseinander setze.
Mein Problem: Es gibt viele Informationen, die meisten sind allerdings alt und soweit ich das erkennen kann, in der neusten Version (2.1.0) bereits so umgesetzt. So zum Beispiel das asynchrone laden, dann das laden der piwik.php statt der unkomprimierten piwik.js Datei.

Stimmt das? Ist das bei dem neuen Code bereits berücksichtigt?

Und was ich mich dann noch frage: Den Piwik Code wirklich in den Header da Asynchron geladen?
Google Page Speed meckert jedenfalls mal nicht, wenn ich Piwik im Header habe.

Freue mich über Rückmeldungen.
Danke und schönen Sonntag Abend.


(Lukas Winkler) #8

A post was split to a new topic: Weniger Aufrufe nach Serverumzug