Karl Heinz: Grundlegendes zu JavaScript

Beitrag lesen

@@Felix,

Um Kontaktanfragen mit Hilfe von Google-Analytics zu tracken

Werde ich von Dir auf diesen Umstand ausdrücklich aufmerksam gemacht? Scheint mir nicht der Fall zu sein!

Im Kontaktformular wird auf die Datenschutzerklärung verlinkt. Dort steht das Analytics genutzt wird. Das sollte doch eigentlich ausreichen oder?

Wenn nein, auch nicht so schlimm, ich werde das Tracking sowieso entfernen. Hat eine Zeit lang eine tolle Hilfe geleistet um herauszufinden über welche Kanäle (AdWords, Organic, Links, Direkteingabe der URL usw.) Kontaktanfragen kamen. Mir geht es aktuell eher um das technische Verständnis als um die Notwendigkeit dieser Funktionalität.

Im Google-Tag-Manager habe ich das entsprechende Event eingerichtet.

Das entsprechende Event nennt sich wie genau?

Ich hatte das nach folgender Anleitung eingerichtet, das hat auch funktioniert solange der Kram von Contact Form 7 nicht deprecated war.

https://support.google.com/tagmanager/answer/6106716?hl=de

Hier noch ein Screenshot von der relevanten Einstellung im Backend vom Google-Tag-Manager:

dataLayer.push({'event': 'gtm4wp.contactForm7Submitted'});

Da wird dem Array dataLayer ein neues Objekt als Element hinzugefügt. Was auch immer der Wert für den Schlüssel "event" bedeuten mag. Ist das etwa der Name des Events?

Der Name kann im Prinzip beliebig gewählt werden, den Namen im Quellcode muss man dann halt auch im Backend vom Google-Tag-Manager verwenden. Das habe ich getan, siehe hierzu nachfolgender Screenshot:

document.addEventListener( 'wpcf7mailsent', function( event ) {
    dataLayer.push({'event': 'gtm4wp.contactForm7Submitted'});
}, false );

Da wird auf ein Event mit dem Namen "wpcf7mailsent" gelauscht. Dieser Event-Name erscheint in Deinem Posting zum ersten Mal. Bei Eintreten des Events tut Deine Funktion nichts anderes, als dass Sie dem Array dataLayer schon wieder das gleiche Objekt hinzufügt, wie oben bereits besprochen. Warum soll sie das?

Der Google-Tag-Manager braucht die Information im Data-Layer.

  1. Wie kann ich überprüfen, ob der JS-Code nach dem Absenden des Kontaktformulars auch korrekt ausgeführt wird?

Baue irgendwo in Deinem auszuführenden Code eine sogenannte Debug-Ausgabe ein. Lesetipp: JavaScript/Tutorials/Debuggen für Anfänger

Danke, das werde ich morgen testen.