Wer das beliebte WordPress-Plugin Contact Form 7 nutzt und seine Conversions über Google Analytics bzw. Google Adwords tracken möchte, wird ab Anfang 2018 festgestellt haben, dass die Weiterleitung auf eine Danke-Seite über on_sent_ok nicht mehr funktioniert.

Warum eine Danke-Seite? Eine Danke-Seite ist eine Seite, die angesprungen wird, wenn ein Formular versendet wurde. Sie ist „versteckt“, kann also nur über das Formular erreicht werden.

Dadurch kann man sicher sein, dass Besucher der Danke-Seite das Formular verschickt haben. Das lässt sich gut für das Tracking von Conversions nutzen. Bei einem einzelnen Formular ist das noch eher uninteressant, es wird aber wichtig, wenn man viele Formulare und z.B. verschiedene Adwords-Kampagnen nutzt.

So funktionierte der Sprung zu einer Danke-Seite bisher

In der guten alten Zeit gab man in Contact Form 7 unter „Zusätzliche Einstellungen“ einfach diesen Code ein:

on_sent_ok: "location = 'https://www.deine-domain.de/dankeseite/';"

Das gab zwar schon früher einen Fehlerhinweis, den man aber ignorieren konnte. Doch seit Anfang 2018 funktioniert es definitiv gar nicht mehr.

Was tun, um sein Conversion-Tracking wieder zu aktivieren?

Die Alternative: Den Tracking-Code direkt von Contact Form 7 ausgeben lassen

Contact Form 7 unterstützt offiziell keine Weiterleitung, sondern gibt die Versandbestätigung auf derselben Seite aus, auf der man auch das Formular verschickte.

Um Google Analytics über den erfolgreichen Versand zu informieren, ist es nötig, gleichzeitig mit der Bestätigung den passenden Code auszugeben.

Dieser Code – man bekommt ihn über seine Google Einstellungen – sieht etwa so aus:

 <!-- Event snippet for Deine_Conversion_Bezeichnung conversion page -->
<script>
  gtag('event', 'conversion', {'send_to': 'XX-XXXXXXXXXXXX-XXXXXXXXX'});
</script>

Die erste Idee, die man hat: den Code direkt mit der entsprechenden Meldung von Contactform 7 ausgeben lassen. Also in den Einstellungen ins Feld „Meldungen“ gehen und dort die Meldung für erfolgreich gesendete Nachrichten (das erste Feld) um den Code ergänzen.

Leider wird das mit einer Fehlermeldung quittiert, HTML ist in Meldungen nicht erlaubt.

Die offizielle Lösung von Contact Form

Auf der Website von Contact Form 7 wird vorgeschlagen, ein kurzes Script direkt im Header der Website einzusetzen. Dieses kümmert sich dann drum, Google Analytics über den Formularversand zu informieren.

Dazu öffnet man die Datei „header.php“, sucht den Bereich, der mit <head> eingeleitet und mit </head> beendet wird und fügt dort ein:

<script>
document.addEventListener( 'wpcf7mailsent', function( event ) {
ga('send', 'event', 'Contact Form', 'submit');
}, false );
</script>

Nachteil dieser Lösung ist, dass nun alle Formulare gleich behandelt werden. Kein Problem, wenn man nur ein Formular hat. Schlecht, wenn man viele Formulare nutzt, die separat getrackt werden sollen.

Eine optimierte Lösung, um wieder separate Formulare tracken zu können

Wer sich ein wenig mit WordPress auskennt, könnte sich über das Plugin „Advanced Custom Fields“ eine Lösung basteln, die wieder für mehrere Formulare taugt. Man legt sich dazu verschiedene Custom Fields an. Über einen Schalter kann ich dann auf der jeweiligen Seite auswählen, welches Feld ausgegeben werden soll. Und in die header.php kommt noch eine Funktion, die dann jeweils den passenden Code ausgibt oder nicht.

Hätte ich so fast umgesetzt, habe dann aber zum Glück noch eine ganz simple Lösung gefunden.

Die beste Lösung: Bei Danke-Seiten bleiben und ein Plugin nutzen

Angeblich sind Danke-Seiten ja oldschool und es ist viel schicker, nur irgendwelche Codes zu schicken.

Kann ich nicht beurteilen, bin kein Programmierer.

Aber ich verstehe was davon, wie wichtig Usability für den Erfolg einer Website ist. Insbesondere muss alles klar und eindeutig sein.

Und eindeutig ist, wenn ein Formular verschwindet, wenn ich es abgeschickt habe.

Deshalb bin ich weiterhin ein Fan von Danke-Seiten. Und deshalb habe ich mich so gefreut, als ich das Plugin „Contact Form 7 Redirection“ gefunden habe.

Wenn es installiert und aktiviert ist, findet man in den Einstellungen von Contact Form 7 für jedes Formular einen weiteren Reiter „Redirect Settings“. Hier kan man einfach aus einer Liste die gewünschte Danke-Seite auswählen.

Alternativ gibt es noch „Contact Form 7 – Success Page Redirects“. Das Plugin wird zwar seit Jahren nicht mehr weiterentwickelt, läuft bei mir aber trotzdem noch problemlos.