Du nutzt Google Analytics für deine Webseite und möchten gerne ein Conversion Tracking für deine Formulare einrichten? Wenn du das beliebte WordPress Plugin Contact Form 7 im Einsatz hast, ist dies kein Problem. CF7 beinhaltet einen Reiter für zusätzliche Einstellungen, in den nur eine Zeile für das Tracking eingefügt werden muss. Was genau du dort eintragen musst und wie du ein Event Tracking in Analytics einrichtest, erfährst du in der folgenden Anleitung.
Was sind Conversions?
Eine Conversion (Konvertierung, Umwandlung) bezeichnet einen Vorgang, bei dem ein Webseitenbesucher eine bestimmte Aktion durchführt. Das kann der Kauf eines Produktes sein, der Download einer Datei oder das Absenden eines Formulars.
Den Erfolg dieser Aktion kann man über die Conversion-Rate messen. Diese kannst du ganz einfach berechnen:
(Anzahl der Transaktionen) : (Anzahl der Visits) x 100
Das Tracking der Conversions kann über Google Analytics erfolgen. Zunächst muss man aber ein Zielvorhaben einrichten, damit die Informationen auch ausgewertet werden können.
Conversion Tracking für Formulare?
Bei normalen Kontaktformularen benötigt man in der Regel kein Tracking. Sinnvoll ist das Conversion-Tracking beispielsweise bei Anmeldeformularen für Workshops, Anfragen von Dienstleistungen oder auch Newsletter-Bestellungen.
Bevor du das Formular tracken kannst, musst du zunächst ein Zielvorhaben in Analytics einrichten. Anschließend gibst du die Informationen in Contact Form 7 ein.
Zielvorhaben in Google Analytics einrichten
Zunächst wechelst du im Analytics Dashboard zum Reiter Verwalten und wählst dann dort den Punkt Zielvorhaben aus. Anschließend kannst du ein neues Zielvorhaben einrichten.
1. Zieleinrichtung
Im ersten Schritt der Zieleinrichtung stehen dir schon vorkonfigurierte Vorlagen zur Verfügung. Da wir das Absenden eines Formulars als Ereignis erfassen möchten, wählst du die Option Benutzerdefiniert.
2. Zielbeschreibung
Bei der Zielbeschreibung kannst du einen Namen für das Zielvorhaben eintragen. Dieser sollte aussagekräftig sein, da es bei mehreren Zielvorhaben sonst unübersichtlich wird.
Unter Typ wählst du den Punkt Ereignis aus.
3. Zieldetails
Bei den Ereignisbedingungen gibt es die Felder Kategorie, Aktion, Label und Wert. Die letzten beiden Felder müssen nicht ausgefüllt werden.
Um das Conversion Tracking des Formulars einzurichten, trägst du bei Kategorie Kontaktformular ein und bei Aktion sent.
Dadurch werden folgende Bedingungen festgelegt:
wenn die Kategorie dem Wert Kontaktformular entspricht und das Ereignis / Aktion mit dem Wert sent übereinstimmt, wird eine Conversion erfasst.
Nach dem Speichern ist das Zielvorhaben eingerichtet. Im Anschluss müssen diese Informationen in das entsprechende Contact Form 7 Formular eingetragen werden.
Conversion Tracking für Contact Form 7
Damit Analytics auch die Daten für das Zielvorhaben erfassen kann, passt du einfach das entsprechende Formular in WordPress an.
Wähle einfach im WordPress Dashboard unter Formulare das gewünschte Formular aus. Anschließend wechselst du in den Reiter Additional Settings.
Hier fügst du nun die Angaben aus dem angelegten Zielvorhaben ein.
on_sent_ok: "ga('send', 'event','Kontaktformular', 'sent');"
Wenn das Formular erfolgreich abgesendet wird, zählt Analytics dies als eine Conversion.
Hinweis:
Die Funktion on_sent_ok wird von CF7 seit 2018 nicht mehr unterstützt.
Neue Tracking Methode für Contact Form 7
Der Entwickler von CF7 empfiehlt, den Google Tracking Code auf eine neue Art einzubauen. Die bisherige Methode wird ab 2018 nicht mehr unterstützt und somit auch nicht mehr funktionieren.
Statt dessen soll in den HTML-Header folgendes Script eingefügt werden:
<Script>
document.addEventListener( 'wpcf7mailsent', function( event ) {
ga('send', 'event', 'Contact Form', 'submit');
}, false );
< /Script>
Ich persönlich finde diese Anpassung nicht wirklich gut und sehr umständlich. Vor allem wenn man mehrere Formulare tracken möchte.
Falls der Plugin-Entwickler keine bessere Alternative für das Tracking anbietet, werde ich mich nach einem anderen Formular-Plugin umsehen.
CF7 Tracking Script mit Custom Fields einbinden
Wer den Tracking Code in seine Seiten einfügen möchte, kann dies beispielsweise über Custom Fields lösen.
So kann man das Code Snippet nur auf den Seiten einbinden, auf denen es auch wirklich benötigt wird. Zudem können dadurch auch mehrere Formulare mit unterschiedlichen Tracking Codes erfasst werden.
Im 1. Schritt legst du ein neues benutzerdefiniertes Feld an.
Unter Name fügst du den Namen für das Feld ein, in diesem Fall nenne ich es tracking-code. In das Feld daneben (Wert) kommt dann der eigentliche Code rein.
Damit der Code auch auf der Seite ausgegeben wird, muss nun das benutzerdefinierte Feld in das Template header.php eingefügt werden.
Hinweis:
Vor der Anpassung von Template-Dateien unbedingt ein Backup machen.
<?php
$ga_script = get_post_meta($post->ID, 'tracking-code', true);
if ($ga_script) {
echo get_post_meta($post->ID, 'tracking-code', true);
} else {
//no script;
}
?>
Conversion Tracking überprüfen
Ob das Absenden des Contact Form 7 Formulars auch wirklich von Analytics gemessen wird, können Sie ganz leicht feststellen.
Senden Sie das Formular ab und loggen Sie sich in Google Analytics ein. Dort sollten Sie unter Echtzeit > Conversions einen Eintrag für das Zielvorhaben sehen können.
Zukünftig finden Sie die Statistik für Ihr eingerichtetes Formular unter dem Punkt Conversions.
Weitere Informationen zum Thema:
Google Analytics Zielvorhaben: support.google.com/analytics/answer/1012040?hl=de
Event Tracking Details: developers.google.com/analytics/devguides/collection/analyticsjs/events
Contact Form 7 einrichten: www.webtimiser.de/contact-form-7-einrichten/
Man kann inzwischen auch unter den „Submission Actions“ JavaScript verschicken. Wäre das nicht eine schöne Variante das Event Tracking einzubauen?
Hallo Malte,
vielen Dank für deinen Vorschlag! Ehrlich gesagt nutze ich CF7 schon lange nicht mehr…
Viele Grüße
Sonia
Hallo,
ich habe die ganzen Einstellungen so durchgeführt, wie oben beschrieben:
– Ich habe bei Google Analytics das Zielvorhaben als Ereignis definiert
– Ich habe das Tracking in Form eines Custom Fields auf der Seite eingebaut, auf der das Kontakformular eingebunden ist und deren Abschicken getrackt werden soll
– Ich habe den entsprechenden Code in die header.php eingefügt (Gibt es hier eine bestimmte Stelle, an der der Code eingefügt werden soll?)
– Alle Bezeichnungen stimmen in den jeweiligen Codes überein.
Trotzdem funktioniert das Tracking des Kontaktformular-Abschickens mit Google Analytics nicht. Ein anderes Tracking, das lediglich die Besuche der Kontaktseite tracken soll, funktioniert in Google Analytics, deswegen ist die Verbindung zwischen Google Analytics und Webseite doch vorhanden oder?
Kann mir einer vielleicht mit diesem Problem weiterhelfen? Ich bin echt am verzweifeln…
Hallo Lisa,
leider kann ich dir aus der Ferne nicht sagen, wo genau der Fehler liegt. Aber vielleicht versuchst du mal ein Tracking über eine Danke-Seite? Dazu musst du lediglich nach dem Absenden des Formulars auf eine Danke-Seite weiterleiten und diese dann in Analytics als Ziel definieren. Also ganz ohne Code.
Viele Grüße
Sonia
Das ist wirklich umständlich…
Dabei kann man das Script einfach über die functions.php des (hoffentlich vorhandenen) Child-Themes in den Header hooken.
Wenn man es so macht, kann zb auch gleich den Seitennamen mitgeben:
add_action(‚wp_head‘, ‚cf7TrackingCode‘ );
function cf7TrackingCode(){
echo “
document.addEventListener( ‚wpcf7mailsent‘, function( event ) {
ga(’send‘, ‚event‘, ‚“.get_the_title(“).“ Contact Form‘, ’submit‘);
}, false );
„;
}
Gruß Tobias
Hallo Topias,
vielen Dank für Dein Snippet!
Viele Grüße Sonia
Hallo Sonia,
Kannst du evt. noch die Analytics-Konfiguration zeigen für das neue Tracking?
Danke und Gruss
Hallo Martin,
die Analytics-Einstellungen selbst haben sich nicht geändert. Du musst nur darauf achten, dass die Bezeichnung in Analytics mit denen im Skript übereinstimmen.
VG Sonia
Hallo Sonia,
ist egal ob meine Formular auf Deutsch, kann das so bleiben?
ga(’send‘, ‚event‘, ‚Contact Form‘, ’submit‘);
oder soll ich so machen?
ga(’send‘, ‚event‘, ‚Kontaktformular‘, ‚Senden‘);
LG Dario
Hallo Dario,
wichtig ist, dass die Werte im Code mit den Werten bei Analytics übereinstimmen.
LG Sonia
Hallo Sonia,
ich bin nicht sicher warum, aber bei mir funktioniert nicht.
Das ist die Script
document.addEventListener( ‚wpcf7mailsent‘, function( event ) {
ga(’send‘, ‚event‘, ‚Kontaktformular‘, ‚Senden‘);
}, false );
Und ich habe bei google analytics alles richtig gemacht.
Hallo Sonia,
der Code wird leider nicht angezeigt…
Hallo Stephanie,
habe den Artikel gerade mit dem Code-Schnipsel ergänzt!
LG Sonia
Hallo Sonia,
gibt es schon eine Lösung für das tracken ohne „on_sent_ok“ usw.? Mir wird die Installation als veraltet/fehlerhaft angezeigt…
Echt total schade, weil alles so schön erklärt ist…
LG
Steffi
Hallo Stephanie,
leider wird diese Methode vom Entwickler nur noch bis Ende 2017 unterstützt. Seine Empfehlung ist, folgenden Code in den Header einzufügen:
document.addEventListener( 'wpcf7mailsent', function( event ) {
ga('send', 'event', 'Contact Form', 'submit');
}, false );
LG Sonia
Hallo Sonja,
toller Artikel, vielen Dank!
Ich habe gesehen, dass der Artikel am 01.06.2017 aktualisiert wurde. Da ich mich gerade mit CF7 und Analytics in der Verwendung des Google Tag Managers auseinandergesetzt habe (dazu gibt es af analyticsmania.com einen sehr guten und ausführlichen Artikel) wollte ich nur darauf hinweisen, dass der Autor von CF7 die „on_sent_ok“ als „deprecated“ einstuft und selber folgende Vorgehensweise empfiehlt:
https://contactform7.com/tracking-form-submissions-with-google-analytics/ (Anmerkung: DOM Scraping ist eine ganz blöde Idee!)
Vielleicht kannst du das in den Artikel mit aufnehmen?
Viel Spaß, Glück und Erfolg weiterhin!
Beste Grüße
Arne
Hallo Arne,
vielen Dank für Deinen Hinweis! In meinem CF7-Tutorial (https://www.webtimiser.de/contact-form-7-einrichten/#weiterleitung) hatte ich es bereits erwähnt, aber hier einfach vergessen…
Die empfohlene Methode gefällt mir persönlich gar nicht – kennst Du eine bessere Alternative? Am einfachsten wäre vermutlich die Einrichtung einer Danke-Seite, die dann getrackt werden kann.
Viele Grüße
Sonia
Hallo,
erstmal danke für das informative Tutorial. Ich bin es Schritt für Schritt durchgegangen, allerdings tauchen bei mir keine Conversions im Echtzeit-Bericht auf. Woran könnte das liegen? Wäre um Hilfe dankbar ?
Danke schon mal im Voraus und herzliche Grüße!
Lea
Hallo Lea,
gerne!
Werden denn insgesamt Conversion erfasst? Falls nicht, stimmt was mit dem Zielvorhaben oder dem Formular-Code nicht.
Liebe Grüße
Sonia
Hallo,
ich habe eine Frage. Wisst ihr eventuell wie ich eine Bedingung im contact form Formular einbinden kann? Als entweder ich kreuze das eine oder das andere Häkchen an aber beide zusammen gehen nicht?
Vielen Dank für die Hilfe.
Mfg
Mario
Hallo Mario,
wenn du im Formular das Kontrollkästchen einfügst, musst du einfach nur die Option Kontrollkästchen exklusiv machen anhaken.
VG Sonia
Hallo vielen Dank für die schnelle und informative Antwort. Noch eine Frage: Ich tracke mein Kontaktformular mit Google Conversion Tracking und speichere die Anfragen mit contact form DB. Ist es möglich zu erfahren woher die Besucher kommen, mit welchem Keyword, organische Suche, Adwords etc.? Also dass ich diese Info per Mail über das ausgefüllte Kontaktformular bekomme.
Beste Grüße
Mario
Hallo Mario,
kenne leider keine Möglichkeit, die Daten aus Analytics per Formular zu beziehen. Da muss man sich schon bei Analytics einloggen und die Daten auswerten….
VG Sonia
Hallo Sonja,
vielen Dank für die schnelle Antwort 🙂
Der HTML-Code für den „Formular abschicken-Button“ auf meiner Webseite sieht wie folgt aus:
Er gibt sich daraus der Wert submit als Event Action?
Woher kommt denn der Wert „sent“ als Event Action?
Auf der Plugin-Seite https://contactform7.com/tracking-form-submissions-with-google-analytics/ wird “submit” als Event Action verwendet.
Wann ist denn was richtig?
Hallo Lucien,
auf der CF7-Seite bezieht sich das Abfeuern des Ereignisses auf den Submit-Button. Ich habe ein Ziel eingereichtet, bei dem die Aktion „sent“ entspricht. Bei der Aktion kannst Du verschiedenes eingeben – der Wert aus Google muss natürlich ins Formular übernommen werden.
Viele Grüße
Sonia