Bei der Nutzung von Piwik in WordPress ist auf jeder Seite im Frontend der Piwik-Code zur Erfassung von Besucherverhalten auf einer Webseite eingebettet, ganz gleich wie z.B. bei Google Analytics. Ziele können in Piwik definiert und erfasst werden, z.B. eine besuchte Seite, das Verlassen einer Seite zu einer speziellen URL, ein bestimmter Seitentitel, ein Ereignis ausgelöst wird (Audio, Video, …) oder ein Download getätigt wird.

Wenn das Ziel jedoch ein Submit-Butten wie z.B. beim beliebten Kontaktfomular-Plugin Contact Form 7 oder dem Veranstaltungs-Plugin Events-Manager einsetzen will, der muss das Javascript event tracking von Piwik nutzen, das vielfältige Möglichkeiten bietet, genauere Details sind hier zu finden.

An dieser Stelle ein ausgewählte Code-Schnipsel für spezielle WordPress-Plugins, die ein mögliches Tracking-Ziel darstellen können:

Contact Form 7

Wenn man ein Kontaktformular im WordPress-Backend editert, kann man unter „Zusätzliche Einstellungen“ den js-goal Tracking-Code hinzufügen. Dieser sieht für Contact Form 7 folgendermaßen aus:

on_sent_ok: "_paq.push(['trackGoal', ID]);"

Die „ID“ erhält man in Piwik. Dazu muss man das Ziel vorher anlegen: Unter „Ziel ist erreicht“ den Modus „manuell“ auswählt und das Ziel abspeichern. Danach in der Übersicht unter „Ziele bearbeiten“ sieht man in der Übersichtstabelle die ID des jeweiligen Ziels. Diese sind fortlaufend durchnummeriert, das erste angelegte Ziel hat also die ID 1 usw. Diese ID trägt man hier also ein und speichert das Kontaktformular ab. Fertig!

UPDATE: 2018-02: Mit Contact Form 7 Version 7.5 wird die Funktion on_sent_ok nicht mehr unterstützt.

Lösung:

Man füge den folgenden Code in die functions.php ein:

add_action( 'wp_footer', 'mycustom_wp_tracking' );
 
function mycustom_wp_tracking() {
?>
<script type="text/javascript">
document.addEventListener( 'wpcf7mailsent', function( event ) {
 if ( 'form-ID' == event.detail.contactFormId ) {
 _paq.push(['trackGoal', piwik-goal-ID]);
 }
}, false );
</script>
<?php
}

Die Parameter form-ID ist mit der Contact Form 7 ID zu ersetzen, piwik-goal-ID mit der ID des Ziels in Piwik. Bei mehreren Zielen in der functions.php muss natürlich die ID (hier „mycustom_wp_tracking“) mit einer anderen ID zu ersetzen.

 

Events Manager

Das Tracking bezieht sich hier auf eine erfolgreiche Buchung. Hierzu muss im template in der header.php direkt vor dem schließenden </head> folgender Code hinzugefügt werden:

<script>
 jQuery(document).ready( function($){
 jQuery(document).bind('em_booking_success', function(data){
 _paq.push(['trackGoal', ID]);
 }); });
 </script>

Auch hier bei zuvor bei Contact form 7, die ID erhält man unter „Ziele bearbeiten“ in Piwik für das ausgewählte Ziel, unter der die erfolgreichen Buchungen erfasst werden sollen.