Conversiontracking – Google Tag Manager [Full Guide]

In diesem Beitrag lernst du, wie du das Conversiontracking in Google Analytics, Facebook-, Google-, und Bing-Ads mithilfe des Google Tag Manager´s einrichtest.

Ausblick: Warum granulares Conversiontracking in Zukunft auch für´s Online Marketing immer wichtiger wird? Machine-Learning, AI, KI. Die großen Werbenetzwerke wie Google- und Facebook Ads, aber auch kleinere Netzwerke wie Outbrain oder Taboola setzen immer mehr auf Optimierung durch Machine Learning und künstliche Intelligenz. Damit die Maschinen Ihrer Arbeit erfolgreich nachgehen können, werden Daten benötigt. Unsere Aufgabe ist es die Maschinen mit genau den Daten zu füttern, die für Sie relevant sind. Korrekte Daten sorgen für eine automatisierte KI-Getriebene Optimierung. Die Folge: Senkung der Personalkosten bei besserer Performance. Werden die Daten aber falsch erfasst, kann das genaue Gegenteil eintreten.  Das korrekte Setup ist also die Grundlage für mehr Erfolg!

Inhaltsverzeichnis

Autor | René van Loock

Digital Analyst und TÜV-Nord Zertifizierter Datenschutzbeauftragter. Seit mehr als 3 Jahren beschäftige ich mich täglich mit dem Google Tag Manager.

Warum der Google Tag Manager?

Wie viel trägt unsere Webseite zum Unternehmenserfolg bei? Diese Frage hat sich wahrscheinlich jeder Unternehmer schon einmal gestellt. Jede Webseite hat Ziele. Zum Beispiel Online-Verkauf (E-Commerce) oder Kontakte generieren (Leads, Bewerber).

Diese Ziele werden jedoch von sämtlichen Analyse-Tools im Standard-Einbau nicht erfasst.

Mithilfe des Google Tag Managers können wir Abgesendete Formulare, gedownloadete PDFs, Klicks auf E-Mail-Adressen oder Telefonnummern und mehr erfassen und verschicken.

Der Google Tag Manager erfüllt also die Funktion die Conversions zu erfassen und zu verschicken. Er ist damit eine Art Brücke zwischen Webseite und Google Analytics, Google Ads und anderen Tools.

Wie dieser Guide konzipiert ist [Wichtig]

Im Google Tag Manger gibt es sogenannte Tags und Trigger.

Tags können Daten zu externen Tools (Google Analytics, Facebook, Google Ads) versenden.

Trigger definieren den Moment in dem die Tags abgeschickt werden. Der Google Tag Manager liefert für Formular-, Klick- oder Scroll-Tracking fertige Trigger Templates, die nach Belieben angepasst werden können.

 Im ersten Part dieses Guides schauen wir uns verschiedene Trigger für die gängigsten Conversions an. Im Zweiten Part führen wir diese Trigger mit den Tags zusammen. Du kannst erst diesen Guide folgen, die Trigger erstellen und dann im zweiten Schritt zu den Tags springen.

Warum diese Unterteilung?

Die Trigger, die wir in Teil 1 erstellen, können für alle Tags verwendet werden. Über die Tags entscheiden wir wohin welche Daten geschickt werden.

Beispiel: In Teil 1 hast du einen Trigger für das Absenden eines Kontaktformulars erstellt.  Du möchtest die Conversion in Google Analytics erfassen. Also benötigst du ein Google Analytics Tag. Du möchtest dieselbe Conversion aber auch direkt in Bing (Microsoft) Ads und Facebook Ads und dem neuen Google Analytics (GA 4) erfassen? Dann benötigst du auch noch ein Bing UET Tag und ein Facebook Tag. Der Trigger ist bei all diesen Tags derselbe, schließlich möchtest du ja die gleiche Conversion versenden, nur an unterschiedliche Tools.

Noch nicht fit mit den Begriffen im GTM?

Wenn dir der Begriff Tag & Trigger noch nichts sagt und der Unterschied vom Google Tag Manager zu Google Analytics nicht klar ist, findest du auf dieser Webseite weitere Artikel zum GTM, die genau auf diese Punkte eingehen:

Vorbereitung

Damit auch bei dir alles korrekt funktioniert und du dir später einige Kopfschmerzen ersparst, ist es wichtig die Grundlagen zu kennen und den Google Tag Manager vorzubereiten.

Tags: Einführung und Test Tag

Tags dienen dazu, Daten im für dem Empfänger richtigem Format, zu verschicken. Tags sind eigentlich ein paar Zeilen JavaScript-Code. Aufgrund der vielen Vorlagen im Google Tag Manager kommt man jedoch nur selten mit Code in Kontakt.

Ein neues Tag legt Ihr an über: Tags -> Neu -> Tag Konfiguration -> In diesem Beispiel Universal Analytics

und dann…

Zum Testen der Trigger nehme ich der Einfachheit ein Google Analytics Tag, das wie folgt aussieht:

Als Tracking ID könnt Ihr diese Dummy-ID nehmen: UA-999999999-9 oder die von eurem eigenem Analytics Account, falls vorhanden.

Super, das Test Tag steht, diesen benötigen wir zur Überprüfung unserer Trigger. Dadurch garantieren wir, dass keine Fehlerhaften Daten oder Conversions verschickt werden, die nachher nicht mehr herausfilterbar sind.

Trigger – Ein Überblick

Der Trigger sorgt dafür, dass unsere Tags in Teil II genau im richtigen Moment ausgespielt werden. Ein Trigger benötigt immer ein Ereignis. Dieses kann ein automatisches oder benutzerdefiniertes Ereignis sein. Wenn wir in diesem Fall von Ereignis sprechen, meinen wir ein Datenschicht-Ereignis.

Klingt kompliziert? Technisch ist es das auch. Wir müssen jedoch nur verstehen, wo wir diese Ereignisse im Google Tag Manager Kontext finden.

Dazu gehen wir in den Vorschau-Modus des GTM

Die Seite lädt neu. Wenn ein orangener Kasten erscheint, seid Ihr im Vorschau-Modus. Jetzt die Webseite besuchen, auf der der Google Tag Manager installiert ist. Folgende Ansicht solltet Ihr jetzt am unteren Ende des Bildschirms sehen.

Update der Google Tag Manager hat seinen Preview/ Debug Mode geändert. Ihr findet die Ansicht die im folgenden Unten auf der jeweiligen Seite eingebettet wurde, jetzt auf in einem separatem Tab in eurem Browser.

Im Rot-Markierten-Bereich finden wir die Ereignisse in der Datenschicht.  Die Standard-Ereignisse die immer beim Aufruf des Tag-Managers gefeuert werden:

  1. Container Loaded (früher PageView),
  2. DOM Ready und
  3. Window Loaded.
 

Wenn wir auf der Seite Klicken, scrollen, ein Formular abschicken etc. wird (i.d.R.) ein Ereignis in die Datenschicht gepusht.

Wichtig: Ein Ereignis wird nur gepusht, wenn ein Trigger im GTM-Container aktiv ist. Dieser Trigger muss keinem Tag zugeordnet sein! Ihr könnt also einfach Standard-Trigger im Google Tag Manager Template zu allen Konditionen feuern lassen. Da diese keine Tags auslösen, müsst Ihr keine negativen Auswirkungen befürchten.

Standard-Trigger-Erstellen (Damit Ereignisse in der Datenschicht zur Verfügung stehen)

Wenn bereits jeweils ein Trigger im GTM erstellt ist, kann dieser Schritt ausgelassen werden.

Beispielhaft legen wir mal einen Klick-Trigger für alle Klicks an. Zuerst auf Trigger -> Neu -> Triggerkonfiguration -> Klick Alle Elemente

Das gleiche können wir auch noch für die Tag-Typen: Link Klicks, Formular Senden (Bestätigung überprüfen anhaken) und Verlaufsänderung machen.

Alle Standard-Ereignisse im Google Tag Manager

Trigger-Typ

Datenschicht-Ereignis (Message)

Seitenaufruf – Seitenaufruf

gtm.js (Container Loaded)

Seitenaufruf – DOM ist bereit

gtm.dom (DOM Ready)

Seitenaufruf – Fenster ist geladen

gtm.load (Window Loaded)

Klick – Alle Elemente

gtm.click (Click)

Klick – Nur Links

gtm.linkClick (Link Click)

Nutzerinteraktion – Elementsichtbarkeit

gtm.elementVisibility (Element Visibility)

Nutzerinteraktion – Formular Senden

gtm.formSubmit (Form Submit)

Nutzerinteraktion – Scrolltiefe

gtm.scrollDepth (Scroll Depth)

Nutzerinteraktion – YouTube Video

gtm.video (Video)

Timer

gtm.timer (Timer)

JavaScript-Fehler

gtm.pageError (Page Error)

Verlaufsänderung

gtm.historyChange (History Change)

Trigger-Gruppe

gtm.TriggerGroup (Trigger Group)

Variablen im Google Tag Manager

Wir möchten nicht, dass unser Conversion-Tag immer ausgelöst wird, wenn eins dieser Ereignisse auftritt, sondern nur zu bestimmten Bedingungen.

…damit wir Bedingungen definieren können, haben wir im Google Tag Manager Variablen. Diese ermöglichen uns einen Klick Trigger nur auszulösen, wenn der {{Click Text}} zum Beispiel „Jetzt Demo Vereinbaren“ enthält. Variablen schreiben wir im GTM immer in doppelt geschweiften Klammern, daher halte ich mich in diesem Guide an Schreibweise.

Welche Variablen wir für unsere Tags verwenden können, hängt ein bisschen davon ab, wie die Seite entwickelt wurde. Manchmal liefern auch Variablen, die wir nicht bedacht hatten, interessante Werte, die wir als Auslöser verwenden können.

Best Practice ist es daher erst einmal alle Standard-Variablen zu aktivieren.

Im dann öffnenden Fenster alle Variablen aktivieren

Super jetzt haben wir unseren Tag-Manager für unsere Conversiontracking-Aufgaben vorbereitet.

Der Vorschaumodus und seine Funktionen zum Conversiontracking

Im Bereich vom Conversiontracking arbeiten wir viel mit der Vorschau-Ansicht des Google Tag Managers. Diese wird auch Debug-View oder Preview-Mode genannt. Es ist also wichtig, dass Ihr mit dieser Ansicht vertraut seid und deren Funktionen kennt.

Im Kontext vom Conversiontracking solltet Ihr folgende Möglichkeiten kennen:

Bei einem Klick auf einen Tag könnt Ihr sehen, wann dieser Tag gefeuert wurde und welcher Trigger diesen ausgelöst hat.

Wert der Variablen überprüfen

Wenn Ihr zum Beispiel auf einen Link klickt, seht Ihr Links in der Summary das Ereignis Link Click. Mit einem Klick auf das Ereignis und dann auf Variablen könnt Ihr den Wert der Variablen im Moment des Link Klicks sehen.

In diesem Beispiel ist der Click Text: Avinash Kaushik und die Click URL: https://www.kaushik.net/avinash/see-think-do-content-marketing-measurem ent-business-framework.

Wenn wir nur diesen einen Link messen wollen, könnten wir einen Link Click Trigger bauen, der die Bedingung enthält: Nur einige Klicks auf Links -> {{Click Text}} ist gleich: Avinash Kaushik.

Trigger Überprüfen/ Debuggen

Leider gibt es keine Option Trigger direkt zu überprüfen. Aus diesem Grund haben wir unser Test Tag (siehe oben) angelegt. Wir überprüfen, ob unser Trigger funktioniert, indem wir den gerade erstelltem Trigger unserem Test Tag zuweisen.

Jetzt den Vorschau-Modus aktualisieren (in der Orangefarbenden Vorschau-Box im Tag-Manager) und wieder den Preview-Modus auf unserer Seite öffnen/ die Seite neu laden und wieder auf den Link: Avinash Kaushik klicken.

Wenn Ihr jetzt im Vorschau-Modus auf das Tag geklickt, seht Ihr auch welcher Trigger ausgelöst hat und wann.

Hat der Tag nicht ausgelöst, müssen wir noch einmal alle Schritte überprüfen und schauen ob es im Trigger irgendeinen Fehler gab. Häufige Fehler sind Rechtschreibfehler, die falsche Variable oder den falschen Operator ausgewählt etc.

Solche Fehler können immer passieren. Es ist daher notwendig, dass jeder Trigger/ Tag überprüft wird. Einen kompletten Guide zum Vorschaumodus und zum Debuggen im Google Tag Manager findest du hier: Der Preview/ Debug Mode – Tags überprüfen

Teil I: Trigger – Der richtige Moment

In diesem Kapitel schauen wir uns die Trigger für die häufigsten Conversions an.

Conversion: PDF Downloads, File Downloads

Tatsächlich werden in einigen Analyse-Tools (z.B. Matomo, GA Web+App) die PDF-Downloads standardmäßig erfasst. Häufig aber nicht als Conversion gezählt. Zusätzlich benötigen wir hierfür allerdings einen Trigger, wenn wir die Conversions direkt nach Facebook oder Bing Ads schicken möchten:

  • Trigger-Art: Link Klicks
  • Auf Tags warten: Ja (2000ms, sind 2s)
  • Bestätigung überprüfen: Nein
  • Trigger aktivieren, wenn: Page Path enthält „/“
 

Jetzt benötigen wir noch eine Bedingung, die nach dem PDF sucht. Das PDF liegt meist als Datei im Content-Management System und ist über einen Link erreichbar der mit .pdf endet. Also nehmen wir Click-URL endet auf .pdf

Super fertig: Nicht vergessen, diesen Trigger mit unserem erstelltem Test Tag (Kapitel Vorbereitung) überprüfen und den passenden Tags (siehe Kapitel II) anhängen.

Conversion: Klicks auf Mails, Telefonnummer

Wer auf eine E-Mail-Adresse klickt oder zum Beispiel die Telefonnummer antippt, hat vermutlich ein starkes Interesse an dem Unternehmen. Für mich ist das immer ein Indikator, dass der Nutzer sehr interessiert am Angebot ist. Das ist ähnlich leicht zu tracken, wie bei den PDF Downloads.

In diesem Fall benötigen wir jedoch einen Klick Trigger, da die Klicks auf Mails, Telefonnummern häufig nicht als Link erkannt werden.

  • Trigger-Art: Klick – Alle Elemente
 

Klicks auf E-Mail-Adressen

Klicks auf Telefonnummern

Gerade auf modernen Webseiten mit einem hohen Anteil an Smartphone-Traffic kann sich das lohnen. Dann ist die Telefonnummer häufig hinter einem Button versteckt (Jetzt Anrufen).

Es gibt auch Anbieter die ein vollständiges separates Telefontracking anbieten. Das wäre natürlich ideal, bei den meisten Unternehmen stimmt hier aber das Kosten/ Nutzen Verhältnis nicht.

Dieser Trigger schafft dann zumindest teilweise Abhilfe.

Wichtig: Die Trigger mithilfe des Test-Tag überprüfen. Falls der Trigger nicht auslöst, schauen, welchen Wert der {{Click-Text}} beim Klick auf die Mail oder die Telefonnummer hat und dann ggf. Anpassungen vornehmen.

Das möchtet Ihr wahrscheinlich nicht:
Wenn Ihr eine Support E-Mail-Adresse oder Telefonnummer auf der Webseite habt, wollt Ihr diese vielleicht vollständig vom Tracking ausschließen. Dann müsst Ihr eine weitere Bedingung hinzufügen. Zum Beispiel Click URL enthält nicht support@. Alternativ kann dies auch im Nachhinein geschehen, indem zum Beispiel in Google Analytics gesagt wird, es ist keine Conversion wenn die Ereignisaktion support@ enthält (Dazu im zweiten Kapitel mehr). Wenn Ihr kein Recruting Unternehmen seid, würde ich auch den Klick auf die karriere@dein-unternehmen.de ausschließen. Gleiches gilt natürlich auch für die Karriere/ Support Telefonnummer.

Conversion Main-Call-to-Actions (CTA) Buttons

Gerade im nicht E-Commerce Bereich gibt es einige Buttons, die wir separat als Conversions erfassen könnten. Ich fasse dies ganz gerne als Klick auf die Main_CTA Buttons zusammen. Das sind zum Beispiel Button Klicks auf: „Jetzt Termin vereinbaren“, „Jetzt Anfragen“, „Angebot einholen“, „Demo vereinbaren“. Wer hierauf klickt hat Interesse am Angebot gehabt.

  • Trigger Typ: Klick – Alle Elemente
  • Variable: {{Click Text}}
 

Wir könnten jetzt für jeden CTA-Button einen eigenen Trigger verwenden. Das ist aber eine Menge Arbeit und macht das Konto unübersichtlicher.

Warum würden wir mehrere Trigger benötigen? Das Hinzufügen einer weiteren Bedingung innerhalb eines Triggers stellt immer eine UND-Verknüpfung dar. Das Hinzufügen von zwei Triggern zu einem Tag ist eine ODER-Verknüpfung.

Die Lösung sind reguläre Ausdrücke. Damit schaffen wir es in der ersten Bedingung {{Click Text}} mehrere Button-Klick-Texte mit einer Oder Bedingung zu verknüpfen.

Ich habe schon einen Guide zu regulären Ausdrücken geschrieben. Den kann ich jedem Analysten der mit Google Analytics, Tag Manager oder Data Studio arbeitet empfehlen: Regex Guide.

Meine meistverwendeten Regulären Ausdrücke sind aber auch gleichzeitig sehr einfache:

Regulärer Ausdruck

Bedeutung

^

Beginnt mit…

|

Oder

$

…endet auf

Oder ist kein I, sondern die sogenannte Pipe „|“ (AltGR+ die rechte Taste neben Shift auf Windows)

Damit können wir dann in unserem Beispiel oben sagen:

{{Click Text}} stimmt mit regulärem Ausdruck überein:
^Jetzt Termin vereinbaren$|^Jetzt Anfragen$|^Angebot einholen$|^Demo vereinbaren$

Die Beginnt mit und endet mit Ausdrücke setzen wir für eine höhere Genauigkeit. Häufig verstecken sich diese Texte auch in einem „einfachen“ Textabschnitt. Das könnte zu fehlerhaften Auslösungen führen.

Den Trigger nicht vergessen zu überprüfen. Siehe dazu weiter oben im Kapitel Vorbereitung:

  • Tags: Einführung und Test Tag.
  • Trigger überprüfen.
 

Super, einige interessante Zahlen werdet Ihr jetzt schon zum Optimieren erhalten. Richtig spannend und etwas komplizierter wird es jetzt beim Formulartracking.

Beim Conversiontracking unterscheiden wir häufig zwischen „soften“ Conversions: Main_CTA Buttons, PDF Downloads, Klicks auf Mails Telefonnummern und „harten“ Conversions: Abgesendetes Kontaktformular, Kauf, Newsletter Anmeldung.

Weiter geht´s jetzt also mit den „harten“ Conversions…

Überblick Formulartracking

Formulartracking ist für Unternehmen sehr wichtig und immer das erste was Ihr im Bereich B2B oder Service-Dienstleistungen messen solltet.

Es gibt dutzende verschiedene Arten von Web-Formularen:

  • Formulare, die auf eine Danke-Seite verweisen
  • Formulare, die einen Seiten-Refresh verursachen
  • Formulare, die nur eine Erfolgreich-Meldung geben
 

Hinzu kommt, dass bei Objektiver Betrachtung ein Formular eigentlich gleich dem anderen ist, die Technik dahinter aber eine andere. So verwendet eine Webseite AJAX-Formulare eine andere nicht.

Formular-Tracking mit dem Google Tag Manager ist dann meist „Trial-and-Error“. Also Ausprobieren was funktioniert und im Zweifel zu der nächsten Lösungsoption switchen.

Jetzt lernst du wie du möglichst sicher und schnell durch diesen „Trial-and-Error“ Prozess kommst.

Bevor du loslegst: Öffne den Google Tag Manager, aktiviere den Vorschau- und Preview-Modus und schaue welche Ereignisse du bei einem erfolgreich übermittelten Formular (Links in die Nachrichten-Summary) erhältst:

Mithilfe des Flowcharts findest du die richtige Tracking-Methode für dein Formular-Conversion-Tracking.

Häufigste Formulare

  • Contact Form 7 Formular Tracking
  • Ninja Forms Formular Tracking
  • Elementor Pro Formular Tracking
 

Für das Tracking der Formulare benötigen wir sogenannte Form-Listener, die auf die technischen Anforderungen der Formulare abgestimmt sind.

Was ist ein Form-Listener?

Ein Form-Listener ist ein kleines Javascript-Code Schnipsel, welches wir über ein Benutzerdefiniertes HTML Tag im Google Tag Manager einbauen können. Der Form Listener wartet auf ein spezifisches Ereignis im jeweiligen Kontaktformular. Wenn dieses ausgelöst wird, schickt uns der Form Listener per window.dataLayer.push ein Ereignis in die Datenschicht. Dieses kann dann als Trigger verwendet werden.

Contact Form 7 Formular Tracking [Trigger]

Contact Form 7 ist ein häufig verwendetes WordPress-Plugin für Kontaktformulare. Mit dem Standard-GTM-Alle Formulare-Trigger kann es leider nicht gemessen.

Um das Contact Form 7 Formular zu messen, können wir einen speziell für das Kontaktformular kreierten Form-Listener nutzen.

CF7 – Form Listener Code

<script>
document.addEventListener( 'wpcf7mailsent', function( event ) {
 window.dataLayer.push({
 "event" : "cf7submission",
 "formId" : event.detail.contactFormId,
 "response" : event.detail.inputs
 })
}); 
</script>  

Diesen CF7 – Form Listener Code in einem Benutzerdefinierten HTML Tag hinzufügen. Trigger ist der All Pages Trigger.

Jetzt ab in den Vorschau-/ Preview–Modus und überprüfen, ob der Listener funktioniert. Am besten probiert Ihr einmal, das Formular mit unvollständigen Daten abzuschicken. Es sollte ein Form Submit in der Message-Summary erscheinen, aber kein cf7submission. Dann das Formular mit allen erforderlichen Feldern abschicken.

Jetzt sollte Links in der Message-Summary das Ereignis cf7submission auftauchen:

Jetzt nur noch einen Trigger erstellen, der bei diesem Ereignis auslöst:

  • Trigger-Typ: Benutzerdefiniertes Ereignis
  • Ereignisname: cf7submission
  • Auslösen bei: Alle benutzerdefinierten Ereignisse

Den Trigger nicht vergessen zu überprüfen. Siehe dazu weiter oben im Kapitel Vorbereitung:

  • Tags: Einführung und Test Tag.
  • Trigger überprüfen.
 

Super! Ein passender Trigger für Contact-Form-7 Tracking ist jetzt erstellt. Jetzt nur noch den passenden Tag dazu aussuchen. Siehe hierzu in Teil II (Tags) nach.

Ninja Forms – Formular Tracking

Ninja Forms ist ein Kontaktformular Plugin in WordPress. Es ist neben dem doch sehr einfachen Contact-Form 7 deutlich stärker individualisierbar und daher auch in Deutschland sehr beliebt.

Mit den Standard-GTM-Triggern können wir NinjaForms nicht korrekt tracken. Wir benötigen einen sogenannten Form-Listener (siehe oben).

NinjaForms – Form Listener

<script>
jQuery(document).ready( function() {
  jQuery(document).on('nfFormSubmitResponse', function(event, response, id) {         
      dataLayer.push ({
        'event' : 'ninjaFormSubmission',
        'NFformID' : response.id           
            });
         });
    });
</script>  

Den Code in einem benutzerdefinierten HTML-Tag mit dem All Pages Trigger hinzufügen:

Jetzt im Vorschau-/ Preview-Modus überprüfen ober der Listener funktioniert. Dabei am besten einmal das Formular versuchen abzuschicken, ohne die notwendigen Formular-Felder auszufüllen. Es sollte noch kein Ereignis in der Summary erscheinen. Dann das Formular mit allen notwendigen Formular-Feldern abschicken. Jetzt sollte ein neues Ereignis Links in der Summary erscheinen.

Jetzt noch den passenden Trigger hinzufügen:

  • Trigger-Typ: Benutzerdefiniertes Ereignis
  • Ereignisname: ninjaFormSubmission
  • Auslösen bei: Alle benutzerdefinierten Ereignisse

Den Trigger nicht vergessen zu überprüfen. Siehe dazu weiter oben im Kapitel Vorbereitung:

  • Tags: Einführung und Test Tag.
  • Trigger überprüfen.
 

Der richtige Trigger für das tracken von NinjaForms ist jetzt erstellt. Jetzt müsst Ihr nur noch über ein Tag die Daten zum Beispiel nach Google Analytics versenden. Mehr dazu in Kapitel 2: Tags Daten versenden.

Elementor Pro Formular Tracking

Elementor ist ein immer beliebter werdendes Theme/ Page Builder Tool in WordPress. Wer es noch nicht nutzt, den kann ich nur empfehlen es mal auszuprobieren. Elementor Pro bringt für ein Theme reichlich Funktionen mit, zum Beispiel auch eine einfach zu stylende Formular-Vorlage.

Ich empfehle das Formular über den Trigger: AjaxFormulare zu messen. Dies ist die sicherste Methode. Mehr dazu im Kapitel Trigger: AjaxFormulare

Wir können das Formular jedoch auch über den Element-Visibility (Elementsichbartkeit) – Trigger messen. Mehr dazu im Kapitel: Trigger: Elementsichtbarkeit.

Formular: Danke-Seite-Tracking GTM

Das Formular leitet die Nutzer bei erfolgreichem Abschluss auf eine neue Seite weiter? Wenn ja, dann bist du hier richtig. Nein? Dann schau dir Flow-Chart unter dem Punkt: Formular Tracking Übersicht noch einmal an und spring zum jeweiligem Punkt.

Die Danke-Seite kann, im Gegensatz zu allen anderen Formular-Tracking-Optionen, in den meisten Analytics Tools auch ohne die Hilfe des Google Tag Managers erfasst werden.

Warum sollten wir dann die Dankesseite über den Google Tag Manager tracken?

Naja, wenn Ihr auch noch andere Tools außer zum Beispiel euer Web-Analyse-Tool (Google Analytics) nutzt. Könnt Ihr mit einem Trigger auf mehrere Tags verweisen. Die Tags können dann Daten nicht nur zu Google Analytics schicken, sondern auch zu Google Ads, Bing Ads, Facebook Ads & Co.

Das hat den großen Vorteil, dass wenn sich eure Dankesseite ändert. Ihr über eine Veränderung des Triggers direkt die richtigen Daten auch an alle anderen Tools verschickt und Ihr somit keins vergesst.

Zum Tracking der Dankeseite müsst Ihr schauen, welche URL eure Dankeseite hat. Zum Beispiel kann das so aussehen: tagmanager.renevanloock.com/danke-gtm-kurs .

Jetzt den passenden Trigger erstellen:

  • Trigger-Typ: Seitenaufruf
  • Trigger auslösen bei: Einige Seitenaufrufe
  • {{Page URL}} beginnt mit: https://tagmanager.marketingstratege.net/danke-gtm-kurs

Warum nutzen wir beginnt mit?

Es ist häufige Praxis, das auf der Dankesseite noch Parameter an die URL drangehangen werden. Also zum Beispiel: …/danke-gtm-kurs?id=237283234

Diese ID ändert sich. {{Page URL}} ist gleich funktioniert dann nicht mehr.

Den Trigger nicht vergessen zu überprüfen. Siehe dazu weiter oben im Kapitel Vorbereitung:

  • Tags: Einführung und Test Tag.
  • Trigger überprüfen.

Der passende Trigger für das Danke-Seite-Tracking ist jetzt erstellt. Als nächstes muss noch das Tag hinzugefügt werden. Siehe dazu Kapitel 2: Tags – Daten versenden.

Standard Formular Tracking GTM

Tatsächlich ist das Standard-Formular Tracking mit dem vom Google Tag Manager vorgefertigten Triggern mittlerweile eine der seltensten Methoden im Formular Tracking.

Wichtig: Damit bei erfolgreicher Formular-Übermittlung überhaupt ein Ereignis in der Summary stehen kann, ist es wichtig, dass du einen einfachen Standard-Formular-Trigger aktiv hast. Schau dir dazu ggf. unter Vorbereitung folgenden Punkt noch einmal an: Standard-Trigger-Erstellen (Damit Ereignisse in der Datenschicht zur Verfügung stehen)

Standard-Trigger Formular Senden (Damit ein Ereignis überhaupt gepusht werden kann)

Jetzt probiert Ihr das Formular abzuschicken und habt gleichzeitig den Vorschau- / Preview-Modus im Google Tag Manager offen. Ihr solltet Links in der Summary einen Eintrag mit dem Namen Form Submit haben.

Es erscheint kein Form Submit bei euch? Oder es erscheint ein Form Submit immer, auch wenn Ihr das Formular nur versucht abzuschicken? Dann springt zum nächsten Punkt Trigger Ajax Formulare.

Form Submit erscheint nur bei erfolgreicher Übermittlung? Super, dann können wir das Standard-Formular Tracking über den Google Tag Manager nutzen.

Wir könnten jetzt schon unseren Standard-Trigger verwenden, es ergibt aber mehr Sinn, wenn wir diesen Trigger zumindest auf die Seite beschränken, wenn es mehrere Formulare auf einer Seite gibt, am besten noch an eine Variable {{Form Classes}} oder {{Form ID}} koppeln.

Den Trigger nicht vergessen zu überprüfen. Siehe dazu weiter oben im Kapitel Vorbereitung:

  • Tags: Einführung und Test Tag.
  • Trigger überprüfen.
 

Der passende Trigger für das Standard-Formular-Tracking ist jetzt erstellt. Als nächstes muss noch das Tag hinzugefügt werden. Siehe dazu Kapitel 2: Tags – Daten versenden.

Ajax Formular Tracking [funktioniert auch für Elementor Forms]

Die Standard-Trigger funktionieren nicht und das Formular ist auch nicht in der Liste mit den Häufigsten Formularen? Dann könnte das Tracking von Ajax Formularen der richtige Ansatz sein.

Zum Überprüfen benötigen wir einen sogenannten Ajax Form Listener. Dies ist ein Code-Schnipsel, der bei einer Formularübermittlung ein Ereignis in den DataLayer pusht. Dieses können wir dann als Trigger verwenden.

Ajax Form Listener Code (Quelle: Lunametrics)

<script id="gtm-jq-ajax-listen" type="text/javascript">
 (function() {

 'use strict';
 var $;
 var n = 0;
 init();

 function init(n) {// Ensure jQuery is available before anything
 if (typeof jQuery !== 'undefined') {// Define our $ shortcut locally
 $ = jQuery;
 bindToAjax();
 // Check for up to 10 seconds
 } else if (n < 20) {
  n++;
 setTimeout(init, 500); }}
function bindToAjax() {
$(document).bind('ajaxComplete', function(evt, jqXhr, opts) {
// Create a fake a element for magically simple URL parsing
 var fullUrl = document.createElement('a');
 fullUrl.href = opts.url;
 // IE9+ strips the leading slash from a.pathname because who wants to get home on time Friday anyways
 var pathname = fullUrl.pathname[0] === '/' ? fullUrl.pathname : '/' + fullUrl.pathname;
 // Manually remove the leading question mark, if there is one
 var queryString = fullUrl.search[0] === '?' ? fullUrl.search.slice(1) : fullUrl.search;
 // Turn our params and headers into objects for easier reference
 var queryParameters = objMap(queryString, '&', '=', true);
 var headers = objMap(jqXhr.getAllResponseHeaders(), '\n', ':');
// Blindly push to the dataLayer because this fires within GTM
 dataLayer.push({
 'event': 'ajaxComplete',
 'attributes': {
 // Return empty strings to prevent accidental inheritance of old data
 'type': opts.type || '',
 'url': fullUrl.href || '',
 'queryParameters': queryParameters,
 'pathname': pathname || '',
 'hostname': fullUrl.hostname || '',
 'protocol': fullUrl.protocol || '',
 'fragment': fullUrl.hash || '',
 'statusCode': jqXhr.status || '',
 'statusText': jqXhr.statusText || '',
 'headers': headers,
 'timestamp': evt.timeStamp || '',
 'contentType': opts.contentType || '',
 // Defer to jQuery's handling of the response
 'response': (jqXhr.responseJSON || jqXhr.responseXML || jqXhr.responseText || '')
 }}); }); }

 function objMap(data, delim, spl, decode) {
var obj = {};
// If one of our parameters is missing, return an empty object
 if (!data || !delim || !spl) {
return {};
}
var arr = data.split(delim);
 var i;
if (arr) {
for (i = 0; i < arr.length; i++) {
// If the decode flag is present, URL decode the set
 var item = decode ? decodeURIComponent(arr[i]) : arr[i];
 var pair = item.split(spl);
 var key = trim_(pair[0]);
 var value = trim_(pair[1]);
if (key && value) {
 obj[key] = value;}}}
 return obj;
}
// Basic .trim() polyfill
 function trim_(str) {
if (str) {
return str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); }}})();
 /* * v0.1.0 * Created by the Google Analytics consultants at http://www.lunametrics.com
 * Written by @notdanwilkerson
 * Documentation: http://www.lunametrics.com/blog/2015/08/27/ajax-event-listener-google-tag-manager/
 * Licensed under the Creative Commons 4.0 Attribution Public License
 */
</script>  

Dieser Code wartet auf ein typisches AjaxForm-Event. Da es nichts macht, außer auf ein Event zu warten und dann Informationen in den DataLayer pusht, können wir es in einem Benutzerdefiniertem HTML-Tag auf allen Seiten feuern lassen.

Jetzt den Vorschau- /Preview Modus aktivieren und das Formular mit allen erforderlichen Feldern versenden. Jetzt sollte ein ajaxComplete Ereignis links in der Summary auftauchen.

Es löst kein ajaxComplete Ereignis aus? Dann springe direkt zum nächsten Punkt. Formular Tracking mit dem Element-Sichtbarkeits-Trigger.

In der Regel löst diese Nachricht auch bei fehlerhafter Übermittlung der Formularfelder aus. Also zum Beispiel auch, wenn einige Pflichtfelder fehlen und eine Fehlermeldung erscheint.

Der Ajax Form Listener ist jedoch so konzipiert, dass weitere Daten in der Datenschicht (engl. DataLayer) bereitgestellt werden. Klickt einfach auf das Event und dann auf DataLayer. Jetzt suchen wir ähnlich der Suche nach Variablen, nach irgendeiner Information im DataLayer, die darauf hindeutet, dass das Formular erfolgreich übermittelt wurde.

Unter response: finden wir die Werte succes: true,

Super wir haben also unsere Daten gefunden. Jetzt müssen wir nur noch eine Option finden, wir diese Daten im DataLayer als Variable speichern können. Variablen sind Bedingungen, die wir für Trigger verwenden können.

Dafür kann eine Benutzerdefinierte Datenschicht-Variable erstellt werden. Damit der Wert aus response: und success erhalten ist, muss diese Variable so aussehen:

attributes.response.success

Warum dieser Wert?

Um auf den Wert bei success zuzugreifen, muss ich das Element finden, indem ich die Übergeordneten Elemente Schritt für Schritt durch einen Punkt separiert durchgehe:

  • attributes (response übergeordnet)
    • response (success übergeordnet)
      • success
 

Überprüfen, ob unsere Variable auch tatsächlich den Wert enthält (Vorschau-Modus aktualisieren, Seite neu laden)

Super, fast geschafft! Jetzt nur noch einen passenden Trigger erstellen.

Wir möchten den Trigger auslösen, wenn das Ereignis ajaxComplete ausgelöst wird und unsere gerade erstellte Variable „true“ ist.

  • Trigger-Typ: Benutzerdefiniertes Ereignis
  • Ereignisname: ajaxComplete
 

Einige Benutzerdefinierte Ereignisse: (Die gerade erstellte Variable) ist gleich true

Den Trigger nicht vergessen zu überprüfen. Siehe dazu weiter oben in Vorbereitung:

  • Tags: Einführung und Test Tag.
  • Trigger überprüfen.

Der passende Trigger für das Ajax-Formular-Tracking ist jetzt erstellt. Als nächstes muss noch das Tag hinzugefügt werden. Siehe dazu Kapitel 2: Tags – Daten versenden.

Element Sichtbarkeit Formular Tracking

Der Standard Elementsichtbarkeit-Trigger funktioniert fast immer und ist doch meist unsere letzte Möglichkeit für ein erfolgreiches Formular Tracking.

Wann der Elementsichtbarkeit-Trigger (engl. Element-Visibility) genutzt werden kann?

Wenn bei erfolgreichem Abschicken von eurem Formular irgendwo eine „Erfolgreich-übermittelt-Meldung erscheint ist der Elementsichtbarkeit-Trigger der richtige.

Erfolgreich Meldung bei Formularen

Bei dem weit verbreitetem Elementor Pro WordPress-Theme erscheint zum Beispiel eine „Erfolgreich-Meldung“. Wir uns anhand von Elementor Forms ein Beispiel mit dem Elementsichtbarkeit Trigger an. Der Ablauf ist jedoch immer identisch und unterscheidet sich nicht wesentlich durch Elementor Forms.

Was macht der Elementsichtbarkeit-Trigger?

Der Elementsichtbarkeit-Trigger überprüft, ob ein Element auf der Seite sichtbar ist. Mit Element ist ein HTML-Element gemeint. Eine Webseite besteht aus dutzenden, hunderten, tausenden HTML-Elementen. Dieser Text liegt zum Beispiel in einem HTML-Element.

Ihr könnt die Seitenstruktur einer Webseite erkunden indem Ihr auf der Webseite: Rechtsklick und auf Untersuchen klickt. Dann öffnen sich die Entwicklertools. Über den Mauszeiger oben links, könnt Ihr über eure Webseite „hovern“ und schauen, wozu dieser Text, dieses Bild im Code gehört.

Der Elementsichtbarkeit-Trigger überprüft, ob bis zu diesem Element gescrollt wurde.

Wieso wir nicht von Anfang an auf Elementsichtbarkeit setzen?

Der Elementsichtbarkeit-Trigger kann sehr abhängig vom HTML-Baum sein. Da dieser unter Umständen häufiger geändert wird, kann das schneller als bei den anderen Methoden zu Ungenauigkeiten im Tracking führen.

Habt Ihr einen sehr guten Draht zu Entwicklern, empfehle ich daher direkt mit einem Entwickler zu sprechen, der den DataLayer Push aus dem nächsten Kapitel einbauen kann.

Wenn Ihr keinen guten (günstigen) Draht zu den Entwicklern habt oder Ihr ein Formular Plugin (zum Beispiel Elementor Forms) benutzt, könnt Ihr den Elementsichtbarkeit-Trigger verwenden. In der Praxis nutzen wir selbst bei sehr wichtigen Conversions den Elementsichtbarkeit-Trigger. In einer perfekten Welt würden wir jedoch eher davon abraten.

So nutzt Ihr den Elementsichtbarkeit-Trigger

  • Meldung markieren, die beim Absenden des Elementor Formulars erscheint
  • Rechtsklick Untersuchen

Die Entwickler-Tools erscheinen. Hier findet Ihr jetzt das aktuelle Element hervorgehoben.

Am besten fügt Ihr den CSS Selektor jetzt erst einmal in ein Word-Dokument ein. Dann erhaltet Ihr diesen Selektor:

#post-31 > div > div > div > div > div > section.elementor-element.elementor-element-eff2faa.elementor-section-boxed.elementor-section-height-default.elementor-section-height-default.elementor-section.elementor-top-section > div > div > div > div > div > div > div > form > div.elementor-message.elementor-message-success

Das ist der vollständige Selektor. Leider sehr lang und leider funktioniert dieser ggf. nicht mehr wenn sich andere Elemente vor dem Formular ändern.

Für unseren Elementsichtbarkeit-Trigger reicht aber das letzte Stück:
div.elementor-message.elementor-message-success

Elementsichtbarkeit Trigger für Elementor Forms:

  • Trigger-Typ: Elementsichtbarkeit
  • Auswahlmethode: CSS-Selektor (da keine ID sondern nur eine Klasse vorhanden ist)
  • Element-Selektor: „.elementor-message elementor-message-success.“
  • Wann dieser Trigger ausgelöst wird: „Einmal pro Seite“
  • Mindestsichtbarkeit in Prozent: 50
  • Haken bei DOM-Änderungen Beobachten
  • Einige Sichtbarkeitsereignisse: Page Path enthält /about/ (in diesem Beispiel)

Besonders bei Elementsichtbarkeit-Triggern ist es wichtig den Trigger zu überprüfen. Siehe dazu weiter oben in Vorbereitung:

  • Tags: Einführung und Test Tag.
  • Trigger überprüfen.
 

Der passende Trigger für das Elementsichtbarkeit Tracking ist jetzt erstellt. Als nächstes muss noch das Tag hinzugefügt werden. Siehe dazu Kapitel 2: Tags – Daten versenden.

Vorlage-DataLayer Push für Entwickler

Keine der Optionen oben haben funktioniert? Dann hilft nur noch eine Nachricht an eure IT (die Entwickler). Wurde das Formular selbst durch die IT erstellt, ist es meist ein leichtes für die Entwickler einen simplen DataLayer Push bei erfolgreicher Übermittlung hinzuzufügen.

Wurde das Formular nur kopiert oder ist es eine Art Plugin, muss sich auch ein Entwickler erst einmal in das Formular hereinlesen. Das kann unter Umständen mehr Zeit in Anspruch nehmen.

Entwickler haben meist sehr wenig Zeit. Eine kurze Mail mit einer Beschreibung, warum und was gemacht werden muss, ist daher empfehlenswert.

Guten Morgen Frau/ Herr „Entwickler“,
damit wir unsere Online Marketing Aktivitäten besser messen können, möchten wir unser Kontaktformular mithilfe des Google Tag Managers erfassen.

Dazu benötigen wir ein Event, dass in den DataLayer, bei erfolgreicher Formularübermittlung, gepusht wird. Einen Beispielcode dazu finden Sie im Anhang. Hier finden Sie noch Informationen wie man mit dem DataLayer Push im Google Tag Manager umgeht: https://www.simoahava.com/gtm-tips/datalayer-declaration-vs-push/

Formulare:

Das Event, dass in den DataLayer gepusht wird, sollte so aussehen:

Parameter

Erklärung

   ‚event‘: ‚custom_formSubmission‘,

Bei jedem Formular identisch.

   ‚formType‘: ‚contact_form‘,

Abhängig vom Formular. Mögliche Werte: contact_form, newsletter_form, offer_form

   ‚formPosition‘: ‚Footer‘

Abhängig von der Position. Mögliche Werte: header, footer, sidebar, body

 Beispielcode für den Anhang:

window.dataLayer = window.dataLayer || [];
  window.dataLayer.push({
   'event': 'custom_formSubmission',
   'formType': 'contact_form',
   'formPosition': 'Footer'
});  

Tags - Daten versenden & Conversions erfassen

Über Tags können wir Daten an Google Analytics, Google Ads, Bing Ads, Facebook Ads und weitere Endpunkte senden. Dabei ergibt es Sinn je nach Conversion-Art unterschiedliche Variablen (Page Path, Click Text, Form-ID) mitzusenden.

Tag: Google Analytics Event

Um Conversions in Google Analytics zu erfassen, ist es am einfachsten, wenn wir Events (Ereignisse) nach Google Analytics schicken.

Dazu wählen wir folgende Tag-Konfiguration:

  • Tag-Typ: Universal Analytics
  • Tracking-Typ: Ereignis
  • Treffer ohne Interaktion: Falsch
  • Google-Analytics Einstellungen: Eure GA-Variable (mehr dazu hier)

Das Grundgerüst steht. Jetzt können wir die 4 Tracking Parameter: Kategorie, Aktion, Label und Wert mit beliebigen Werten oder Variablen ausfüllen.

Die Befüllung hängt sicherlich davon ab, welcher Trigger (PDF_Download, Formular, Main_CTA, etc.) verwendet wird. Grundsätzlich erstellen wir für jeden Trigger ein separates Tag.

Benennung der Tracking Parameter

Um es in Google Anlaytics möglichst übersichtlich zu gestalten, verwende ich meist folgende Tracking Parameter:

Tracking-Parameter

Wert

Erklärung

Kategorie

conversion

Immer gleich, zur klaren Abgrenzung zu anderen Ereignissen.

Aktion

(Trigger-Art)

Abhängig vom Trigger. Beispiele: main_cta, pdf_download, formular, click_to_call

Label

(Trigger-Bedingung)

Abhängig von der Trigger-Bedingung und immer eine Variable: {{Click URL}}, {{Click-Text}}, {{form_id}}

Wert

Leer

 

Wichtig: Zumindest ein Parameter sollte eine Variable sein. Eine Variable wird automatisch ausgefüllt. Dadurch stellt Ihr sicher, dass Ihr auch in Google Analytics die Conversions nachträglich überprüfen könnt.

Zum Beispiel schickt Ihr beim Trigger: Main_CTA als Tracking Parameter Label den {{Click-Text}} mit. In Google Analytics findet Ihr neben euren definierten Klick-Texten jetzt auch noch andere. Dann scheint es einen Fehler mit dem Trigger zu geben.

Für den Trigger: Main_CTA sieht es dann beispielsweise so aus:

Analog könnt Ihr weitere Tags für die unterschiedlichen Trigger erstellen. Meine Tracking Parameter würden wie folgt aussehen:

Trigger: PDF-Downloads

Kategorie

conversion

Aktion

pdf_download

Label

{{Click URL}}

 

Trigger: Klick auf Telefonnummer

Kategorie

conversion

Aktion

click_to_call

Label

{{Click Text}}

 

Trigger: Klick auf Mail

Kategorie

conversion

Aktion

click_to_mail

Label

{{Click Text}}

 

Trigger: Formulare

Kategorie

conversion

Aktion

formular_send

Label

(abhängig vom Formular-Tracking)

 

An das Google Analytics Ereignis Tag dann jeweils den passenden Trigger (siehe vorheriges Kapitel) hinzufügen.

 

Conversiontracking in Google Analytics anlegen

Die Tags senden jetzt schon Ereignisse nach Google Analytics. Ihr findet diese unter Verhalten -> Ereignisse -> Übersicht

Jetzt müssen wir diese nur noch als Conversion (Zielvorhaben) in Google Analytics anlegen

Nach Klick auf Zielvorhaben. Button oben Links: „Neus Zielvorhaben“ mit folgenden Eigenschaften erstellen:

  • Einrichtung des Ziels: Benutzerdefiniert
  • Zielbeschreibung: Hier nehme ich immer die Ereignisaktion, zum Beispiel: pdf_download
  • Typ: Ereignis
  • Zielvorhabendetails: Kategorie und Aktion mit den oben definierten Werten befüllen, zum Beispiel: Ereigniskategorie ist gleich conversion, Ereignisaktion ist gleich pdf_download, Label und Wert können einfach leergelassen werden (auch wenn hier Daten eingehen).
  • Speichern

Das gleiche für die anderen Tags.

Google Ads Conversion Tracking

Wir können aus dem Google Tag Manager auch direkt Conversions nach Google Ads senden. Im Unterschied zu Google Analytics müssen wir bevor wir das Google Ads Conversion Tag implementieren, erst einmal eine Conversion in Google Ads erstellen.

Im Google Ads Account oben rechts auf Tools und Einstellungen -> Conversions

In der Übersicht (links) Website auswählen.

Es öffnet sich eine Einstellungsübersicht

Die Einstellungen in dieser Übersicht sind frei wählbar und haben im Gegensatz zu den Einstellungen beim Conversiontracking in Google Analytics nichts mit den Einstellungen im Tag-Manager zu tun. Folgende Einstellungen kann ich empfehlen:

  • Kategorie: Abhängig von der Conversion. Klick auf Mails und Telefonnummer wurde ich zu „Kontakt“ unterordnen. Formulare zu „Lead-Formular senden“. PDF Downloads und Klicks auf Main_CTA zu „Sonstige“. Die Einordnung dient nur für spätere Einstellungen in Google Ads.
  • Conversion-Name: Den Conversion-Namen eintragen. Zum Beispiel „PDF_Download“ (der Name ist vollkommen frei wählbar)
  • Wert: Wenn Ihr einen Wert habt super! Um Smart-Bidding-Strategien nutzen zu können, empfiehlt Google jeder Conversion (auch PDF-Downloads) einen Wert zuzuweisen. Das muss jedoch möglichst genau berechnet werden. Der Wert kann auch später noch hinzugefügt werden.
  • Zählmethode: In der Regel verwende ich immer die Zählmethode „Eine“. Nur bei Online-Shops wo wir Käufe messen, kann „Alle“ verwendet werden. Wenn ein Nutzer eine PDF_Download _Conversion ausführt, ist es zwar interessant, ob er gleich mehrere PDF´s gedownloaded hat, ein Nutzer der mehr PDF´s downloaded hat nicht unbedingt mehr Interesse als einer mit einem Download. Es gibt mir bei der Erfassung der PDF-Download Conversions jedoch nur darum, ob ein Nutzer Interesse hat oder nicht.
  • Conversion-Tracking-Zeitraum für Klicks: Wenn ein Nutzer auf eine Anzeige klickt und erst Tage später konvertiert, bestimmt dieser Wert ob die Conversion noch in Google Ads dem Klick zugordnet werden soll. Aufgrund von vielfachen Adblockern und Browser-Privacy Einstellungen ist es häufig sowieso nicht möglich. Ich empfehle den Wert einfach auf 30-Tage zu lassen. Das liefert ein paar mehr Conversions, als wir zum Beispiel in Google Analytics sehen werden, was nicht ideal für eine Bewertung ist, aber besser für Googles Algorithmen.
  • Tracking-Zeitraum für View-Through Conversions: Das gleiche wie oben, nur das der Nutzer die Anzeige nur gesehen haben muss (nicht klicken). Kann auf 1’en Tag gelassen werden.
  • In Conversion einbeziehen: Kann auf „Ja“ gelassen werden. Wenn „Nein“ ausgewählt wird, tauchen diese Conversions nicht in den Berichten auf und der Algorithmus optimiert nicht auf die Conversions. Ihr habt diese aber trotzdem im Konto.
  • Attributionsmodell: Beruht nur auf Google Ads Anzeigen-Interaktionen. Das heißt wenn ein Nutzer qauf unterschiedliche Google Ads Anzeigen klickt, wird zwischen diesen Klicks attribuiert (Hier werden alle anderen Interaktionen mit eurer Webseite: Facebook, Organisch, direct überhaupt nicht betrachtet). Am besten „Linear“ oder „Positionsbasiert“ verwenden.
 

Erstellen und Fortfahren und dann auf Google Tag Manager verwenden klicken. Ihr erhaltet jetzt die Conversion-ID und das Conversion-Label:

Jetzt zurück zum Google Tag Manager. Ein neues Tag erstellen:

  • Tag-Typ: Google Ads Conversion Tracking
  • Conversion ID: 564079513 (Beispiel)
  • Conversion Label: DAXeCMPN6uEBEJnX_IwC (Beispiel)

Bing Ads Conversion Tracking

Bing Ads (Microsoft Ads) Conversion Tracking ist sehr ähnlich dem Google Analytics Conversiontracking.

Zunächst ab ins Bing Ads Konto. Mittlerweile hat sich Bing Ads vom Design her wieder an Google Ads angepasst. Jetzt oben unter Tools -> Abschlussverfolgung -> UET Tag, ein UET Tag erstellen (falls noch nicht vorhanden)

Name und Beschreibung des Bing Ads UET Tags ist frei wählbar:

Nachdem Ihr ein Bing Ads UET Tag erstellt habt, könnt Ihr ein neues Abschlussziel definieren. Dazu wieder auf Tools -> Abschlussziele -> Neues Abschlussziel

Zielbeschreibung: Ereignis auswählen:

Mit Klick auf Weiter gelangt Ihr zu folgender Ansicht:

Die Zieldetails sind eine Mischung aus den Google Analytics Einstellungen für Zielvorhaben (siehe Tag Google Analytics) und den Conversion-Einstellungen in Google Ads (siehe Tag Google Ads Conversion Tracking).

Jetzt erstellen wir das Tag im Google Tag Manager

  • Tag-Typ: Universelle Ereignisnachverfolgung von Bing Ads
  • ID des Bing Ads UET Tags: Hier die ID eintragen
  • Ereignistyp: Benutzerdefiniert
  • Kategorie: conversion
  • Aktion: formular send (Beispiel wenn wir unseren Formular Trigger verwenden)
 

Kategorie und Aktion können wir jetzt in Bing in den Einstellungen eintragen.

Die restlichen Einstellungen können analog zu den Google Ads Einstellungen getätigt werden (Siehe Tag: Google Ads Conversion Tracking).

Ganz unten euer oben erstelltes UET Tag auswählen und den Code an dieser Stelle ignorieren:

Speichern und das Tag in Google Analytics mit einem passenden Trigger auch speichern.

Überprüfen lässt sich das Conversiontracking von Bing Ads bequem über ein Browser Plugin. Dem UET Tag Helper. Dazu einfach Plugin aus dem Chrome-Extension Store installieren und die Conversion auf der Webseite ausführen.

Es sollte bei Absenden des Formulars (in diesem Beispiel) im UET Tag Helper ein neues Custom Event erscheinen mit unserer UET Tag ID und den verwendeten Parametern.

Facebook Ads Conversion Tracking

Facebook Ads Conversion Tracking ist im Vergleich zu den anderen Tools anders. Es gibt zwar einige Community-Templates die das Facebook Ads Conversion-Tracking vereinfachen sollen, ich empfehle aber weiterhin, dies selbst einzubauen.

Wenn du noch nicht das Standard-Facebook Pixel installiert hast, schau bitte in meinen Guide: Externe-Tools einbauen.

Das Standard-Facebook-Pixel ist ähnlich dem Bing-Ads-UET Tag oder dem Google Analytics Seitenaufruf Tag. Es misst erst einmal nur Seitenaufrufe.

Über weitere Tags in Bing Ads über das „Universelle Ereignisnachverfolgung Tag“ oder in Google Analytics über das „Universal Analytics Event Tag“ lassen sich dann auch noch Ereignisse an das jeweilige Tool senden.

In Facebook Ads ist das Prinzip wieder identisch, nur kann der Name des Ereignisses, nicht selbst definiert werden. Stattdessen gibt Facebook eine Liste mit Ereignisnamen aus, die zwar noch mit einem Wert und anderen Parametern angereichert werden können, der eigentliche Conversion-Name jedoch kann nicht verändert werden.

Wenn das Facebook Pixel korrekt installiert ist (siehe hierzu auch externe Tools einbauen, müsst Ihr nur ein Mini-JavaScript-Code über den Google Tag Manager einbauen:

  • Tag-Typ: Benutzerdefiniertes HTML

Das ist korrekt, mehr wie: fbq(‚track‘, ‚Contact‘); ist nicht nötig. Hier habe ich zum Beispiel den Formular Trigger für AjaxFormulare hinzugefügt. Ihr könnt aber auch jeden anderen Trigger verwenden.

Es wichtig, dass Ihr euch exakt an die von Facebook vorgegebenen Conversion-Namen für Standard-Events haltet. Eine vollständige Liste findet Ihr hier: https://developers.facebook.com/docs/facebook-pixel/reference#standard-events

Wie Ihr dann die Event-Namen mit euren Conversions verbindet bleibt euch überlassen. Am besten Ihr macht eine kleine Tabelle in der genau steht, was zum Beispiel das Facebook Event xy in Wahrheit bedeutet. „Contact“ steht zum Beispiel oben für Formular abgeschickt. „Subscribe“ (aus der Facebook Event Liste) könnte für die PDF Downloads stehen.

Es steht zwar jeweils eine Beschreibung neben dem Event-Namen. Diese ist aber nur als Denkanstoß gedacht. Was hier unter Contact & Co. definiert bleibt eure Sache.

Das Facebook Conversion Tracking könnt Ihr zusätzlich über den Facebook Pixel Helper (Chrome Plugin) überprüfen.

Wenn Ihr eine Conversion auslöst, sollte neben dem normalen PageView auch euer Event-Name in diesem Beispiel Contact auftauchen.

Spezialfall: Google Ads Telefon Tracking

In Google Ads haben wir die Möglichkeit über ein JavaScript Snippet, die Telefonnummer auf einer Webseite dynamisch auszutauschen. Die eigentliche Telefonnummer wird dann durch eine von Google gekaufte Telefonnummer ersetzt (meist sogar die gleiche Vorwahl). Der Anrufende merkt davon nichts, er wird direkt auf die eigentliche Nummer weitergeleitet.

Dies ermöglicht jedoch nicht nur zu erfassen, ob jemand über eine Anzeige auf die Webseite kam und angerufen hat, sondern auch wie lange das Gespräch dauerte.

Leider gab es mit dem Update der Tags auf das Global Site Tag einige Komplikationen in Google Ads. Wir müssen jetzt nämlich das Global Site Tag mit dem eigentlichen Tag pushen. Mehr dazu weiter unten.

Es ist auch wichtig, dass die Telefonnummer ein normales Format besitzt. Am besten einfach die Normale Vorwahl 0224 898148 90 verwenden. Das +49 und klammern (0)224 weglassen. Leerzeichen können verwendet werden.

  • In Google Ads unter Tools und Einstellungen -> Conversions -> (+ oben Links) Conversion hinzufügen.
  • Art der Conversion: Anrufe
  • Quelle der Anrufe: Anrufe bei einer Telefonnummer auf der Website
  • Die Conversion Einstellungen öffnen sich. Hier können die gleichen Einstellungen verwendet werden, wie beim Punkt Tag: Google Ads Conversiontracking. Anrufdauer bei 60 Sekunden lassen oder einem Wert deiner Wahl
  • Erstellen und Fortfahren
 

Jetzt wird’s Tricky…, folgendes Fenster öffnet sich:

Obwohl wir den Google Tag Manager verwenden, gehen wir auf „Tag selbst einfügen“ und „Das allgemeine Website Tag ist nicht auf Ihren HTML-Seiten vorhanden.“

Allgemeines Website-Tag herunterladen und speichern.

Telefonnummer eingeben und Telefon Snippet herunterladen und Speichern:

Beide Snippets in einem Benutzderdefiniertem HTML-Tag wie folgt kombinieren:

Als Trigger All-Pages auswählen.

Wichtig: Google Ads tauscht die Telefonnummer nur aus, wenn der Nutzer über eine Anzeige kam. Wir können dieses Verhalten aber über eine Änderung in der URL erzwingen. Einfach diese Zeile an die URL dranhängen: #google-wcc-force -> Enter drücken und die Seite neu laden.

Also aus testseite.de/kontakt wird testseite.de/kontakt#google-wcc-force

Wenn alles korrekt funktioniert, sollte anstatt der eigentlichen Nummer eine 999999999 Nummer stehen und ein kleines Fenster am unteren Rand auf der Webseite aufpoppen:

Fazit – Conversion Tracking

Vielen Dank, dass du bis hierhin gelesen hast. Wenn du alle Schritte befolgt hast, hast du jetzt einen guten Überblick über das Conversiontracking und die Umsetzung in der Praxis erhalten. Ich hoffe jeder Schritt war soweit verständlich.

Du hast etwas nicht verstanden? Etwas funktioniert bei dir nicht so wie in diesen Guide? Du hast eine bessere/ andere Lösung gefunden?

Dann melde dich bei mir. Es würde mich freuen 😉

Erhalte exklusive Analytics Tipps, die ich nur mit E-Mail Abonnenten teile.

Mit Klick auf „Jetzt exklusive Inhalte sichern“ erklären Sie sich mit dem Empfang des Newsletters mit Informationen zu Online Marketing, Datenschutz, Analytics und Angeboten sowie mit dessen Analyse durch individuelle Messung, Speicherung und Auswertung von Öffnungsraten und der Klickraten in Empfängerprofilen zu Zwecken der Gestaltung künftiger Newsletter entsprechend den Interessen unserer Leser einverstanden. Die Einwilligung kann mit Wirkung für die Zukunft widerrufen werden. Der Versand erfolgt mit dem US-Dienstleister MailChimp (auf Grundlage von Standardvertragsklauseln). Ausführliche Informationen erhalten Sie in unseren Datenschutzhinweisen“).