Checkliste zur Fehlersuche

Conversion Tracking für Google Ads funktioniert nicht: Häufige Probleme & Lösungen

Letzte Aktualisierung
11.10.2024

Drucken & PDF speichern
Als PDF speichern & drucken

Häufige Probleme beim Conversion Tracking für Google Ads

Die typischen Probleme beim Conversion Tracking für Google Ads lassen sich in diese Gruppen unterteilen:

Julian Kleinknecht
Julian Kleinknecht

Über den Autor

Julian Kleinknecht ist Geschäftsführer bei ConversionBoosting und unterstützt Unternehmen seit mehr als 14 Jahren bei Webanalyse und Tracking. Er teilt Erkenntnisse hier, auf LinkedIn und auf YouTube.

Unser Versprechen: Wir haben schon für etliche Projekte das Conversion Tracking für Google Ads gefixt. Ich schreibe hier nur über Themen, zu denen wir schon viel Erfahrung gesammelt haben.

Conversion-Tracking wird für Google Ads immer wichtiger. Ohne Daten kann der Algorithmus nichts optimieren.

Leider macht das Tracking immer mal wieder Probleme. Aktuell löse ich für mehr als 20 Agenturen regelmäßig ihre Tracking-Probleme.

Hier meine Schritt-für-Schritt-Anleitung, wie ich Ursachen identifiziere und auch direkt behebe.

Keine Conversions gemessen

Problem: Es werden gar keine Conversions gemessen

Ausgangslage: Unter Zielvorhaben > Conversions werden gar keine Conversions gemessen. Der Status steht auf Inaktiv.

1.) Mögliche Ursache: Der Google Tag Manager ist gar nicht (mehr) auf der Website implementiert

Ohne GTM bzw. gtag kann das Tracking nicht klappen. Gründe für einen fehlenden Container oder gtag gibt es viele:

  • nach Update eines Plugins fehlt das Skript
  • Skript wurde aus Versehen von Entwicklern entfernt

Bei Nutzung des Google Tag Managers / GTM

Um zu prüfen, ob der Google Tag Manager vorhanden ist, öffnet man die Entwickler-Tools im Browser (F12 auf Windows, fn + F12 bei Mac). Dann zum Tab Netzwerk wechseln und nach gtm.js filtern.

Wichtig:

  • Wenn kein Eintrag erscheint, die Seite neu laden. Die Liste der HTTP-Anfragen wird nur aufgezeichnet, wenn das Network-Tab aktiv ist.
  • Manchmal wird der GTM erst nach Consent geladen. Also erst zustimmen, dann nachschauen.

Bei Implementierung mit „gtag“

Nächste Schritte

Briefing / Ticket für Entwickler schreiben, dass der GTM bzw. das gtag implementiert wird.

2.) Mögliche Ursache: Der falsche GTM-Container ist auf der Website integriert

In seltenen Fällen wird der falsche GTM-Container bzw. gtag eingebunden.

Deshalb im Netzwerk-Tab der Entwickler-Tools (F12 auf Windows, fn + F12 bei Mac) prüfen, ob die ID mit der Anzeige im Tool übereinstimmt (siehe vorheriger Punkt).

Bei Nutzung des Google Tag Managers / GTM

Bei Implementierung mit „gtag“

Unter Zielvorhaben > Conversions wählt man eine Conversion aus und klickt auf Tag selbst einfügen:

In diesem Beispiel ist die ID AW-435430707. Die ID kann auch das Format G-ABCD1234 haben.

Nächste Schritte

Briefing / Ticket für Entwickler schreiben.

3.) Mögliche Ursache: Tag wird nicht ausgespielt, weil Trigger nicht ausgeführt wird (nur GTM)

Jedes Tag im GTM braucht einen Trigger, der es auslöst. Deshalb in der Vorschau des GTM (Tag Assist) eine Test-Conversion durchführen und prüfen, ob das gewünschte Tag ausgespielt wird.

  1. Vorschau oben rechts mit In Vorschau ansehen starten.
  2. Passende URL eintragen
  3. Gewünschte Aktion durchführen (hier: Produkt in den Warenkorb legen)
  4. Prüfen, ob Tag ausgespielt wird

Beim In-den-Warenkorb-Legen wird hier das dataLayer-Event add_to_cart ausgeführt. Es wird jedoch kein Tag ausgespielt:

Nach einem Klick auf Show bei Tags Not Fired sucht man das Tag aus, das eigentlich feuern sollte.

Häufige Gründe hierfür sind:

3.1) Event im dataLayer stimmt nicht mit dem hinterlegten Trigger überein

Hier steht add_to_cart – der hinterlegte Trigger ist jedoch addToCart.

Im GTM wird zwischen Groß- und Kleinschreibung unterschieden. Deshalb darauf achten.

Nächste Schritte

Trigger anpassen

3.2) Es gibt gar keinen dataLayer-push

In der Liste links findet sich gar kein passender Eintrag. 

Nächste Schritte

Entwickler briefen, dass sie einen dataLayer-push integrieren.

3.3) Es gibt einen weiteren Parameter, der nicht erfüllt ist (häufig Consent)

Häufig ist ein solcher weiterer Parameter die Abfrage, ob Besucher Tracking zugestimmt haben.

In diesem Fall stimmt zwar der dataLayer-push. Die Anforderung, dass der Consent-Cookie marketing enthält, ist jedoch nicht erfüllt.

Nächste Schritte

weitere Parameter im Trigger anpassen (oder Reihenfolge anpassen, siehe nächster Punkt).

4.) Mögliche Ursache: Tag wird wegen Reihenfolge/Zeitpunkt der Trigger nicht ausgespielt (nur GTM)

Um den Datenschutz zu berücksichtigen, dürfen Tags erst ausgespielt werden, wenn die Zustimmung der Besucher vorhanden ist.

Eine häufige Komplikation: Die Information, ob Besucher Consent gegeben haben, liegt erst vor, nachdem der dataLayer-push ausgespielt wurde:

Im Tag wurde aber angenommen, dass der Consent schon vorhanden ist.

Dieses Problem ist manchmal nicht offensichtlich, weil die Information zum Consent in manchen Fällen vorhanden ist — in manchen aber nicht.

Nächste Schritte

Trigger-Gruppen einsetzen (wenn Tags beim Seitenaufruf ausgespielt werden)

Statt einem Trigger view_item mit der Einschränkung des Consent erstellt man eine Trigger-Gruppe. Diese kombiniert mehrere Trigger zu einem: Es müssen beide Trigger ausgelöst werden, damit die Trigger-Gruppe feuert.

In diesem Fall wird der Trigger consent_status mit dem Trigger view_item kombiniert.

In der Vorschau des Google Tag Managers erscheint ein weiterer Eintrag links in der Liste der dataLayer-pushes. Die Trigger-Gruppe dann als neuen Trigger verwenden.

Achtung: Eine Trigger Gruppe wird nur einmal pro Seitenaufruf gefeuert. Bei Events wie z.B. add_to_cart sollte man daher auf die Verwendung von Trigger Gruppen verzichten.

Mögliche Lösung: Informationen aus dem Cookie auslesen (für Tags auf später aufgerufenen Seiten)

Bei Events wie dem Kauf oder einem abgeschickten Formular (auf einer nächsten Seite) kann man davon ausgehen, dass die Information zum Consent schon vorhanden ist. Die Consent-Abfrage erfolgt schließlich auf einer Seite davor.

Statt aus dem dataLayer auszulesen, ob Consent vorliegt, kann man den Cookie des Consent-Tools auslesen. Dieser steht auf jeden Fall zur Verfügung.

Beispiel des Cookies von Borlabs 3:

Beispiel des Cookies von CookieBot:

Im Google Tag Manager führt man zwei Schritte durch:

  1. Eine Variable vom Typ 1st Party Cookie anlegen.
  2. Innerhalb des Triggers prüfen, ob dieser Cookie google-analytics (für Borlabs) oder marketing:true (für CookieBot) enthält

5.) Mögliche Ursache: Consent Mode ist bei der Conversion (noch) nicht aktiv

Kurz zum Hintergrund: Den Consent Mode V2 gibt es in zwei Varianten:

  • Dem Basic Mode: Google verlangt von Websites, dass sie kommunizieren, ob Besucher Consent gegeben haben.
  • Dem Advanced Mode: Conversions werden von Besuchern ohne Consent aggregiert gemessen. Anhand dieser Daten werden Conversions von Besuchern ohne Consent modelliert. (Aus Datenschutzgründen wahrscheinlich nicht zulässig.)

Einige Websites verwenden ungewollt den Advanced Mode

Dies passiert, wenn eine Conversion gemessen wird, bevor der Consent vorhanden ist. Dann sendet Google das Signal gcs=G100 (das heißt, der Advanced Mode ist aktiv).

Diese Conversions werden nicht normal gemessen, sondern als Grundlage fürs Modelling verwendet. Und dieses funktioniert erst ab 700 Anzeigenklicks pro Woche.

Nächste Schritte

Consent Mode V2 (korrekt) aufsetzen. Insbesondere, darauf achten, dass Conversions erst nach dem Consent gemessen werden. Weitere Informationen gibt es unter https://conversionboosting.com/themen/consent-mode-v2/ 

6.) Mögliche Ursache: Es gibt einen JavaScript-Fehler (nur gtag)

Der JavaScript-Code für gtag wird direkt in die Website integriert. Falls es oberhalb des gtag-Codes einen JavaScript-Fehler gibt, kann der gtag-Code nicht ausgeführt werden. Es wird nichts gemessen.

Um auf JavaScript-Fehler zu prüfen, öffnet man die Entwickler-Tools im Browser (F12 auf Windows, fn + F12 bei Mac) und wechseln in das Tab Console.

In diesem Beispiel gibt es einen JavaScript-Fehler, weil in Zeile 594 ein Zeilenumbruch vorhanden ist (siehe untere Box). Die obere schwarze Box weist auf den JavaScript-Fehler hin.

Nächste Schritte

JavaScript-Fehler korrigieren bzw. Entwickler dazu briefen.

Zu wenig Conversions gemessen

Problem: Es werden zu wenig Conversions gemessen

Werden gar keine Conversions gemessen, ist es häufig relativ einfach, das Problem zu bestimmen. Werden dagegen nur ein Teil der Conversions gemessen, ist es komplizierter. 

Im ersten Schritt sollte das Ausmaß des Problems identifiziert werden: Wie viele echte Conversions gibt es im Shopsystem bzw. CRM vs. wie viele Conversions werden in Google Ads gemessen?

Übersicht der möglichen Ursachen

Wenn zu wenig Conversions gemesssen werden, ist häufig eine der folgenden Ursachen verantwortlich:

  1. Besucher mit Conversion haben keinen Consent gegeben
  2. Adblocker
  3. Trigger funktioniert nicht zuverlässig
  4. Besucher verlassen die Danke-Seite, bevor Tags geladen werden

1.) Mögliche Ursache: Besucher mit Conversion haben keinen Consent gegeben

Abhängig von der Darstellung des Cookie-Banners gibt nur ein bestimmter Teil der Besucher Zustimmung zur Messung in Google Ads.

  • Werden die Optionen Zustimmen und Ablehnen gleichwertig angezeigt, kann man von einer Zustimmung zum Tracking von 50 % ausgehen. Entsprechend werden auch nur ungefähr 50 % der Conversions gemessen.
  • Steht Zustimmen im Vordergrund, kann man von einer Rate zwischen 70 und 95 % ausgehen. (Dies gilt nur, wenn der Banner so integriert ist, dass man eine Auswahl treffen muss, bevor man die Website verwendet.)

Nächste Schritte

Entspricht die Zustimmungsrate ungefähr dem Anteil der gemessenen Conversions, liegt kein Problem vor. Man kann nur versuchen, mit dem Datenschützer zu argumentieren und „Zustimmen“ weiter in den Vordergrund zu stellen.

Die meisten Consent-Tools bieten auch eine Übersicht über die Zustimmung. Hier am Beispiel von UserCentrics:

2.) Mögliche Ursache: Adblocker

Gerade auf B2B-Websites und solchen mit eher technisch versierten Besuchern setzen viele Personen AdBlocker ein.

Laut Schätzungen sind dies weniger als 10 % der Besucher. Auf mobilen Geräten ist der Anteil noch geringer. 

Nächste Schritte

Server-seitiges Tracking hilft dabei, auch Besucher mit AdBlocker zu messen. Weitere Informationen findet man in unserem Webinar zu Server-Side Tracking für GA4, Meta & Co.

3.) Mögliche Ursache: Trigger funktioniert nicht zuverlässig

Oben wurde der Fall beschrieben, dass Trigger (gar) nicht funktionieren, weil zum Beispiel ein dataLayer push fehlt.

In manchen Fällen funktionieren Trigger nur manchmal nicht. Einige Beispiele:

  • Es gibt für Formulare mehrere Danke-Seiten. Aber nur manche sind im Trigger enthalten.
  • Der Trigger basiert auf einem Klick auf einen Button. Der CSS-Selektor ist aber so gebaut, dass nur ein Klick auf den Text des Buttons, nicht auf den Bereich „außenrum“ gemessen wird.
  • Der dataLayer push wird nicht zuverlässig ausgespielt.

Mögliche Lösungen

  • Test-Conversions mehrfach durchführen und prüfen, ob Conversions immer gemessen werden. Alle möglichen Wege durchspielen. Das heißt, in Online-Shops zum Beispiel mit allen Zahlungsarten zahlen.
  • Trigger basierend auf Klicks durch solche basierend auf eine dataLayer push (oder Seitenaufruf einer Danke-Seite) ersetzen.

4.) Mögliche Ursache: Besucher verlassen die Danke-Seite, bevor Tags geladen werden

Auf der Danke-Seite haben Besucher ihr Ziel erreicht. Einige Besucher sehen die Nachricht „alles hat geklappt“ und verlassen die Seite schnell.

In einigen Fällen wurde das Tag nicht ausgeführt. Insbesondere, wenn die Website eher langsam lädt und der Container des Google Tag Managers groß ist.

In den Entwickler-Tools von Chrome kann man langsamere Internetverbindungen simulieren. Mir dieser Drosslung sollte man einige Test-Conversions durchführen, um ein Gefühl und konkrete Werte in Sekunden zu bekommen, wie lange es braucht, bis die Conversion-Tags ausgeführt werden.

Mögliche Lösungen

  • Ladegeschwindigkeit der Website (und speziell der Danke-Seite) erhöhen.
  • Auf der Danke-Seite den Google Tag Manager weiter oben auf der Seite und synchron einbinden.
Umsatz in Google Ads fehlt

Problem: Umsatz in Google Ads fehlt

1.) Mögliche Ursache: Wert für Conversion Value fehlt im Tag

Für Online-Shops sollten der Umsatz auf jeden Fall dynamisch je Bestellung übergeben werden.

Siehe diese Einstellung:

Im Google Tag Manager wurde der Parameter einfach nicht mit der passenden Variable befüllt.

Nächste Schritte

Conversion-Wert im Tag anpassen.

2.) Mögliche Ursache: Umsatzwert steht nicht im dataLayer

Ohne Information aus dem dataLayer kann der Wert nicht übergeben werden.

Nächste Schritte

Briefing für IT verfassen.

3.) Mögliche Ursache: Umsatzwert steht im falschen Format im dataLayer

Wird ein Plugin für Online-Shops verwendet, stehen die Informationen in fast allen Fällen im korrekten Format zur Verfügung.

Wird der dataLayer von einem Entwickler von Hand geschrieben, kann es zu Leichtsinnsfehlern kommen. Der häufigste: Statt einem Punkt wird als Dezimaltrennzeichen ein Komma verwendet. 

Nächste Schritte

Briefing für IT schreiben und Komma durch Punkt tauschen.

4.) Mögliche Ursache: Der Umsatzwert steht zwar im dataLayer, aber nicht, wenn das Tag ausgelöst wird

Dies passiert, wenn es zum Beispiel zwei dataLayer pushs für purchase gibt, aber nur bei einem der Umsatz vorhanden ist.

Lösung: im purchase-Trigger die Bedingung ergänzen, dass der Wert für ecommerce.value nicht leer sein darf

Dann wird nur der dataLayer push verwenden, wenn der Wert vorhanden wird. 

Auch wenn der andere dataLayer push zuerst kommt. Denn es wird sonst immer nur die erste Conversion gemessen — auch wenn bei ihr Informationen wie der Umsatz fehlen.

5.) Mögliche Ursache: Parameter Währung fehlt

Ohne Parameter Währung wird der Umsatz nicht an Google Ads übermittelt.

Mögliche Lösung: Fest eintragen

Bei Websites mit nur einer Währung den Parameter fest auf EUR, CHF, usw. stellen.

Mögliche Lösung: aus dataLayer auslesen

Bei Website mit mehreren Währungen diese Information dynamisch aus dem dataLayer auslesen.

Gibt es je Domain oder Verzeichnis verschiedene Währungen, kann auch eine Lookup-Tabelle zum Einsatz kommen:

Zu viele Conversions gemessen

Problem: Es werden zu viele Conversions gemessen

Dieses Problem kommt seltener vor. Vorwiegend, weil sich fehlende Conversions (vor allem bei Besuchern ohne Consent) mit zu viel gemessenen Conversions aufwiegen. 

Es scheint so, als ob alle Conversions gemessen werden. In Wahrheit werden aber bestimmte Conversions doppelt gemessen — andere gar nicht.

1.) Mögliche Ursache: Tag wird mehrmals ausgespielt

Im Tag Assist des Google Tag Managers erkennt man an dieser Anzeige, dass ein Tag mehrmals ausgespielt wurde.

Es gibt verschiedene Gründe dafür.

1.1) Der entsprechende dataLayer push ist (fälschlicherweise) mehrmals vorhanden

Nächste Schritte

Briefing für IT schreiben.

1.2) Die Transaktions-ID fehlt

Wird eine eindeutige Transaktions-ID je Conversion übergeben, de-dupliziert Google Ads automatisch alle doppelten Conversions. Fehlt die Transaktions-ID, klappt dies nicht.

Nächste Schritte

Transaktions-ID aus dataLayer auslesen (bzw. IT briefen, dass sie diese Information ergänzen soll).

1.3) Conversion ist nicht auf “Zählmethode = Eine” gestellt

Diese Einstellung führt dazu, dass auch Conversions ohne Transaktions-ID de-dupliziert werden.

Nächste Schritte

Zählmethode anpassen.

Enhanced Conversion funktioniert nicht

Problem: Enhanced Conversion funktioniert nicht

Durch Enhanced Conversions sollen Conversions auch gemessen werden, wenn kein Google-Ads-Cookie (mehr) vorhanden ist. So können mehr Conversions gemessen werden.

Dabei werden Nutzerinformationen, wie ein Name oder eine E-Mail-Adresse bei der Conversion an Google übertragen. Ist ein Google-Konto zu den Nutzerinformationen vorhanden, kann den Anzeigen, auf welche diese Person geklickt hat, die Conversion zugeschrieben werden. Auch wenn der Cookie gelöscht wurde.

Übersicht der möglichen Ursachen

Wenn Enhanced Conversion nicht funktioniert, ist häufig eine der folgenden Ursachen verantwortlich:

  1. Informationen im dataLayer fehlen
  2. Auslesen aus dem DOM klappt nicht zuverlässig
  3. falsches Format der Telefonnummer

So überprüft man, ob die Nutzerinformationen korrekt an Google übermittelt werden:

  1. Entwickler-Tools öffnen und zum Netzwerk-Tab navigieren
  2. Test-Conversion durchführen
  3. Im Netzwerk-Tab nach /conversion filtern
  4. Auf den entsprechenden Eintrag im Netzwerk Tab klicken und zu Nutzlast/Payload navigieren

Der Parameter em sollten mit tv.1~em beginnen und dann auf einer langen Zeichenkette bestehen. Dann klappt es.

Ist der Parameter em leer oder fehlt der String nach tv.1~em klappt etwas nicht.

1.) Mögliche Ursache: Informationen im dataLayer fehlen

Am besten liest man die Nutzerinformationen aus dem dataLayer aus. Wenn sie im dataLayer nicht vorhanden sind, klappt das natürlich nicht.

Nächste Schritte

Briefing für IT schreiben:

dataLayer.push({
  event: "purchase",
  ecommerce: {
…
  },
  visitorContactInfo: {
    email: "test@test.de",
    phone_number: "+498912345678",
    address: {
      first_name: "test",
      last_name: "test",
      street: "test 1",
      city: "münchen",
      region: "DE-BY",
      postal_code: "81541",
      country: "DE"
    }
  }
})

Wichtig: Die Informationen müssen zum Zeitpunkt schon zur Verfügung stehen, wenn das Tag an Google Ads geschickt wird. Werden die Informationen erst später in den dataLayer geschrieben, klappt es nicht. Sollte dieses Problem auftreten, den Trigger so anpassen, dass gewartet wird, bis die Nutzerinformationen vorhanden sind.

2.) Mögliche Ursache: Auslesen aus dem DOM klappt nicht zuverlässig

Sind die Nutzerinformationen im dataLayer nicht vorhanden, können sie auch aus dem Quelltext der Seite ausgelesen werden.

Dieser Ansatz ist weniger zuverlässig. Denn ändert sich der Quelltext, kann es sein, dass der CSS-Selektor z.B. die E-Mail-Adresse nicht mehr passend herausgreift.

Nächste Schritte

CSS-Selektor anpassen (und idealerweise Briefing für dataLayer schreiben).

Mögliche Ursache: falsches Format der Telefonnummer

Anders als bei E-Mail-Adressen gibt es bei Telefonnummer verschiedene Wege, sie zu schreiben:

  • mit Ländervorwahl bzw. mit führender Null
  • mit oder ohne Trennstriche

Damit die Telefonnummer angenommen wird, muss sie im E.164-Format übergeben werden. Das heißt, im Format mit Ländervorwahl, ohne Trennstriche und ohne Leerzeichen. Zum Beispiel +4901774927111.

Alle anderen Formate (insbesondere wie dieses ohne Ländervorwahl) funktionieren nicht:

Nächste Schritte

Format der Telefonnummer im dataLayer anpassen. Oder eine JavaScript-Funktion schreiben, welches Leerzeichen und Bindestriche entfernt.

Julian Kleinknecht
Julian Kleinknecht

Unser Versprechen: Wir haben schon für etliche Projekte das Conversion Tracking für Google Ads gefixt. Ich schreibe hier nur über Themen, zu denen wir schon viel Erfahrung gesammelt haben.

Über den Autor

Julian Kleinknecht ist Geschäftsführer bei ConversionBoosting und unterstützt Unternehmen seit mehr als 14 Jahren bei Webanalyse und Tracking. Er teilt Erkenntnisse hier, auf LinkedIn und auf YouTube.

Du hast Fragen?

Schreib hier eine Nachricht oder kontaktiere mich bei LinkedIn

ConversionBoosting