Anderson Digital — Google Ads
← Alle Guides
Tracking Implementation Guidelines 2025/2026

Google Ads & Bing Ads
Tracking Setup

Vollständige technische Richtlinien für korrektes Conversion-Tracking. Alle Angaben basieren auf offiziellen Plattform-Dokumentationen.

Google Tag & Tag Manager Basis-Setup

Das Fundament jedes Trackings. Ohne korrekt eingebundenen Google Tag oder GTM laufen alle anderen Maßnahmen ins Leere.

🏷 Google Tag (gtag.js)

  • Direkt im <head> auf jeder Seite einbinden
  • Tag-ID: AW-XXXXXXXXX (Google Ads Konto-ID)
  • Kein Laden via JS-Defer oder Lazy-Load
  • Testaufruf: Google Tag Assistant Chrome Extension

📦 Google Tag Manager (GTM)

  • GTM-Container-Snippet im <head> und <body>
  • Conversion-Linker Tag auf Trigger "All Pages" setzen
  • Ohne Conversion-Linker: Safari / iOS (ITP) verliert Klick-Daten
  • GTM-Preview-Modus zum Testen nutzen

⚠️ Conversion-Linker: Pflicht

  • Fehlt auf vielen Setups, aber kritisch für Safari/ITP
  • In GTM: Neuer Tag → Google Ads → Conversion Linker
  • Trigger: "All Pages" (keine Ausnahmen)
  • Ohne ihn: bis zu 30% Conversion-Datenverlust in Safari

🔗 Auto-Tagging (GCLID)

  • In Google Ads unter Einstellungen aktiviert lassen
  • Website darf ?gclid=-Parameter nicht entfernen
  • Redirects, Clean-URL-Plugins und Rewrite-Rules prüfen
  • GCLID hat Vorrang vor manuellen UTMs für Ads-Attribution

📊 UTM-Parameter-Strategie

  • Konsistente Benennung: utm_source=google&utm_medium=cpc
  • Bing: utm_source=bing&utm_medium=cpc
  • Auto-Tagging und UTMs können parallel laufen
  • UTMs für GA4-Kanal-Berichte, GCLID für Ads-Attribution

🔍 Remarketing-Tag

  • Google Ads Remarketing-Tag via GTM einbinden
  • Oder: GA4-Zielgruppen mit Ads verknüpfen (bevorzugt)
  • Audience-Liste für RLSA (Remarketing für Search Ads)
  • Mindestens 1.000 aktive Nutzer in Liste für Search RLSA

Conversion-Aktionen einrichten

Conversion-Aktion in Google Ads anlegen

Google Ads → Ziele → Conversions → Neue Conversion-Aktion. Kategorie, Wert und Conversion-Fenster definieren. Empfehlung: 30 Tage Click-through, 1 Tag View-through für Standard-B2B.

Primary vs. Secondary Conversions festlegen

Primary Conversions fließen ins Smart-Bidding ein. Secondary Conversions sind reine Beobachtungspunkte (z.B. Seitenaufrufe, Newsletter-Anmeldungen). Nicht jede Micro-Conversion als Primary setzen.

Conversion-Wert-Regeln (Value Rules)

Unterschiedliche Conversion-Werte je Gerät, Standort oder Zielgruppe definieren. Z.B. Mobile-Leads 20% weniger werten als Desktop, wenn die Close-Rate unterschiedlich ist. Unter Ziele → Conversion-Wert-Regeln.

Conversion-Fenster konfigurieren

Click-through: 7–90 Tage je Produkt (längere Kaufzyklen = längeres Fenster). View-through: 1 Tag empfohlen (konservativ). Zu langes Fenster verzerrt Kausal-Attribution.

Interner Traffic ausschließen

GA4: Admin → Datenströme → Interne Traffic-Regeln → eigene IPs eintragen. Google Ads: Kampagneneinstellungen → IP-Ausschlüsse. Verhindert verfälschte Daten durch eigene Formular-Tests.

Checkliste: Google Tag & GTM

  • Google Tag oder GTM-Container auf allen Seiten im <head> eingebunden
  • Conversion-Linker Tag in GTM auf "All Pages" aktiv
  • Auto-Tagging aktiviert, GCLID-Parameter nicht durch Rewrite-Regeln entfernt
  • Conversion-Aktionen mit Primary/Secondary-Status definiert
  • Conversion-Fenster passend zum Kaufzyklus konfiguriert
  • Interne IP-Adressen in GA4 und Google Ads ausgeschlossen
  • Remarketing-Tag oder GA4-Zielgruppen-Verknüpfung aktiv
  • Tag Assistant verifiziert: kein doppeltes Feuern

Enhanced Conversions Datenschutz-konform

Enhanced Conversions ergänzen das Standard-Pixel-Tracking um gehashte First-Party-Daten (E-Mail, Telefon, Adresse). Dadurch können Conversions auch dann zugeordnet werden, wenn Cookies blockiert oder gelöscht wurden.

✅ Wie es funktioniert

  • Nutzer gibt E-Mail / Tel. auf Website ein
  • Daten werden SHA-256-gehasht (lokal im Browser)
  • Hash wird mit Google-Konto-Daten abgeglichen
  • Conversion wird dem richtigen Klick zugeordnet

📋 Welche Daten werden gesendet

  • E-Mail-Adresse (SHA-256 gehasht) – primär
  • Telefonnummer (optional, gehasht)
  • Vor-/Nachname + Adresse (optional)
  • Rohdaten werden nie an Google übertragen

⚠️ Voraussetzungen

  • Datenschutzerklärung muss Enhanced Conv. erwähnen
  • Nur bei Consent (ad_user_data = "granted") aktiv
  • Google-Ads-Konto-Richtlinien müssen akzeptiert sein
  • Funktioniert nur für Web-Conversions (kein offline)

🔧 Zwei Implementierungswege

  • Via GTM: Einfacher, empfohlen für Standard-Setups
  • Via gtag.js: Mehr Kontrolle, für Devs
  • Beide Wege: Formular-Daten müssen lesbar sein
  • Danke-Seite oder Event-basiert möglich

Implementierung via GTM

Enhanced Conversions in Google Ads aktivieren

Google Ads → Ziele → Conversions → Einstellungen → Enhanced Conversions für Web aktivieren. Nutzungsbedingungen akzeptieren.

Conversion-Tag in GTM anpassen

Bestehenden Google Ads Conversion-Tag öffnen → Enhanced Conversions aktivieren → Datenquelle wählen: "User-provided data" Variable. GTM liest Formularfelder automatisch aus.

User-Provided-Data Variable konfigurieren

GTM → Variablen → Neue Variable → "User-Provided Data". Formularfelder mappen: E-Mail-Feld-Selektor, Tel-Feld-Selektor. Alternativ: Data Layer Variable wenn Daten im DataLayer liegen.

// DataLayer Push (Entwickler-Option) window.dataLayer.push({ 'event': 'conversion', 'user_data': { 'email': 'user@example.com', // wird von GTM gehasht 'phone_number': '+49...' } });

Testen in Google Ads Diagnose

Google Ads → Ziele → Conversions → Enhanced Conversions-Status prüfen. "Aktiv" und "Gesund" = korrekt. Testconversion auslösen und in Echtzeit-Bericht prüfen (bis zu 3h Verzögerung).

Checkliste: Enhanced Conversions

  • Enhanced Conversions im Google Ads Konto aktiviert und AGB akzeptiert
  • Datenschutzerklärung aktualisiert (Erwähnung Enhanced Conversions)
  • GTM-Variable für User-Provided Data konfiguriert und getestet
  • SHA-256-Hashing funktioniert (Daten erscheinen gehasht in GTM-Preview)
  • Nur bei Consent ad_user_data = granted aktiv
  • Status in Google Ads Diagnose: "Aktiv"
  • Match-Rate über 50% (höher = besser)

Server-Side Tracking Fortgeschritten

Beim Server-Side Tracking sendet nicht der Browser, sondern dein eigener Server die Conversion-Daten an Google. Adblocker, ITP und Cookie-Restrictions verlieren ihre Wirkung.

✅ Vorteile Server-Side

  • Adblocker können Requests nicht blockieren
  • Safari/ITP-Probleme weitgehend eliminiert
  • Bessere Datenkontrolle, kein 3rd-Party-Cookie nötig
  • First-Party-Cookies mit längerer Laufzeit möglich

⚠️ Anforderungen

  • Höherer technischer Aufwand (Dev-Ressourcen)
  • Server-Container in GTM oder eigene Infrastruktur
  • Kosten: GTM-Server ab ~$200/Monat (Cloud)
  • Alternativ: Stape.io (~$20–50/Monat, günstiger Einstieg)

🏗 Zwei Wege zur Implementierung

  • Via GTM Server Container: Empfohlen, GUI-basiert
  • Google Ads API direkt: Maximale Kontrolle
  • Beide senden Events an googleadservices.com
  • Conversion-API-Token aus Google Ads erforderlich

📡 Backend-Tracking (ohne GTM)

  • Direkter HTTP-POST an Google Ads Conversions API
  • GCLID aus URL-Parameter serverseitig speichern
  • Bei Conversion: GCLID + Conversion-Daten senden
  • Erfordert OAuth2-Token oder Service Account

GTM Server-Side Setup (Empfohlen)

GTM Server Container erstellen

GTM → neuer Container → "Server"-Typ. Hosting wählen: Google Cloud (einfach, aber teurer) oder Stape.io (günstiger Managed Service). Domain für den Container festlegen: z.B. tracking.deinedomain.de (First-Party-Domain!)

Web-Container anpassen (Client-Side)

Bestehender GTM-Web-Container: Google Tag Einstellungen → "Server container URL" auf deine Tracking-Domain zeigen lassen. GTM sendet Events nun zu deinem Server statt direkt zu Google.

Google Ads Tag im Server Container einrichten

Server Container → neuer Tag → "Google Ads Conversions". Conversion-ID und -Label aus Google Ads eintragen. Client: "GA4"-Client im Server Container, der GA4-Events empfängt und weiterleitet.

First-Party Cookie setzen

Server setzt _gcl_aw-Cookie (GCLID) als First-Party-Cookie mit 90-Tage-Laufzeit. Überbrückt ITP-Beschränkungen (Safari limitiert 3rd-Party-Cookies auf 7 Tage). Einstellung im GTM-Server-Container unter "Google Tag".

Testen und validieren

GTM Server Container Preview → alle Events sichtbar? Google Ads: Conversion-Diagnose prüfen. Vergleich: Conversion-Zahlen vor/nach Server-Side-Einführung sollten steigen (weniger Datenverlust).

Checkliste: Server-Side Tracking

  • GTM Server Container auf eigener First-Party-Domain gehostet
  • Web-Container zeigt auf Server-Container-URL
  • GCLID wird als First-Party-Cookie mit 90 Tagen gesetzt
  • Google Ads Conversion-Tag im Server Container konfiguriert
  • Enhanced Conversions auch server-seitig implementiert
  • Consent Mode v2 auch im Server-Side-Setup respektiert
  • Monitoring: Server-Health und Event-Volumen überwachen

Offline Conversions & Cross-Domain B2B-Relevant

Für Unternehmen, bei denen der Abschluss offline passiert (Telefon, Sales-Team, CRM) oder bei mehreren Domains/Subdomains. Essentiell für korrektes B2B-Attribution.

📞 Offline Conversion Tracking (OCT)

  • GCLID bei Lead-Eingang im CRM speichern
  • Bei Abschluss: GCLID + Conversion-Wert an Google senden
  • Upload: manuell (CSV) oder automatisch via API
  • Max. 90 Tage nach Klick uploadbar

🔄 GCLID im CRM speichern

  • Verstecktes Formularfeld gclid einfügen
  • JavaScript liest GCLID aus URL und befüllt Feld
  • CRM (HubSpot, Salesforce etc.) speichert GCLID pro Lead
  • Bei Deal-Abschluss: GCLID für Upload verwenden

📤 Upload-Methoden

  • Manuell: CSV-Upload in Google Ads (gut zum Testen)
  • Zapier/Make: CRM → Google Ads automatisch
  • Google Ads API: Vollautomatisch, Echtzeit
  • HubSpot Native: Direktintegration in Ads

🔗 Cross-Domain Tracking

  • Ohne Setup: GA4 zählt jeden Domain-Wechsel als neue Session
  • Betroffen: Subdomain-Shops, externe Buchungstools, Checkout
  • GA4: Admin → Datenströme → Weitere URL-Parameter für Domain-übergreifendes Messen
  • GTM-Linker-Tag für Cross-Domain-Weiterleitung konfigurieren

OCT Setup: Schritt für Schritt

Conversion-Aktion für Offline anlegen

Google Ads → Ziele → Conversions → Neu → Kategorie "Offline". Quelle: "Importieren → CRMs, Dateien oder andere Datenquellen". Conversion-Name festlegen (z.B. "Offline-Abschluss").

GCLID in Formulare integrieren

// Verstecktes Feld im Formular <input type="hidden" id="gclid_field" name="gclid"> // JavaScript: GCLID aus URL lesen function getParam(p){ var match = RegExp('[?&]'+p+'=([^&]*)').exec(window.location.search); return match && decodeURIComponent(match[1].replace(/\+/g,' ')); } document.getElementById('gclid_field').value = getParam('gclid') || '';

CSV-Format für manuellen Upload

Pflichtfelder: Google Click ID, Conversion Name, Conversion Time (Format: yyyy-mm-dd hh:mm:ss+TZ). Optional: Conversion Value, Conversion Currency.

Automatisierter Upload via Zapier

Zapier: Trigger "Deal geschlossen in HubSpot" → Action "Upload Offline Conversion in Google Ads". GCLID-Feld mappen, Conversion-Wert (Deal-Wert) übergeben. Läuft vollautomatisch.

Checkliste: Offline & Cross-Domain

  • Verstecktes GCLID-Formularfeld auf allen Lead-Formularen
  • CRM speichert GCLID pro Kontakt / Lead
  • Conversion-Aktion "Offline" in Google Ads angelegt
  • Upload-Prozess definiert: manuell, Zapier oder API
  • Testupload durchgeführt und Status "Erfolgreich" bestätigt
  • Cross-Domain: alle Domains in GA4-Tracking konfiguriert
  • GTM Linker für Domain-übergreifende Sessions aktiv

Microsoft / Bing Ads Tracking Bing Ads

Microsoft Advertising nutzt den Universal Event Tracking (UET) Tag – das Äquivalent zum Google Tag. Setup-Philosophie identisch, aber eigene Tags, Consent-Implementierung und Zielgruppen-Workflows.

🏷 UET Tag (Universal Event Tracking)

  • Pflicht für jedes Conversion- und Remarketing-Tracking in Bing
  • Einbinden: direkt im <head> oder via GTM
  • UET Tag ID aus Microsoft Ads Account (unter Tools → UET Tags)
  • Ein UET Tag pro Website, mehrere Conversion-Ziele möglich

🔒 Microsoft Consent Mode

  • Parallel zu Google Consent Mode zu implementieren
  • Parameter: ad_storage und analytics_storage
  • Via GTM: Microsoft-eigenes CMP-Template oder Custom HTML
  • Pflicht für EU-Nutzer seit 2024

⚡ Enhanced Conversions (Bing)

  • Microsoft nennt es "Enhanced Conversions" ab 2024
  • Prinzip identisch zu Google: gehashte First-Party-Daten
  • Aktivierung: Microsoft Ads → Conversion Tracking → Enhanced
  • Empfohlen: via UET Tag + GTM oder direkt via Bing Ads API

📞 Offline Conversions (Bing)

  • MSCLKID (Microsoft Click ID) statt GCLID speichern
  • Formular: verstecktes Feld msclkid
  • Upload: CSV oder via Microsoft Advertising API
  • Auto-Tagging in Microsoft Ads aktivieren (Standard: an)

⚠️ Wichtige Unterschiede zu Google

  • MSCLKID statt GCLID – eigenes Feld im CRM nötig
  • Kein GTM-nativer Support: Custom HTML oder Community-Template
  • Conversion-Fenster max. 90 Tage (identisch)
  • Separate Remarketing-Listen (kein Import aus Google Ads)

👥 Bing Audience-Listen

  • Remarketing via UET Tag (Website-Besucher)
  • Customer Match: E-Mail-Listen hochladen (identisch zu Google)
  • LinkedIn Audience Integration (exklusiv bei Bing Ads)
  • Combined Lists: mehrere Zielgruppen kombinieren

UET Tag via GTM einbinden

UET Tag ID aus Microsoft Ads holen

Microsoft Ads → Tools → UET Tags → Neuen UET Tag erstellen. Tag ID notieren (6-stellige Nummer).

GTM: Custom HTML Tag für UET

<script> (function(w,d,t,r,u){w[u]=w[u]||[];w[u].push({'projectId':'10000','properties': {'pixelId':'DEINE_UET_ID'}});var s=d.createElement(t);s.src=r;s.async=true; s.onload=s.onreadystatechange=function(){var y,rs=this.readyState,c=w[u]; if(rs&&rs!="complete"&&rs!="loaded"){return}try{y=BRAT;for(var i in c) {y(c[i].properties,c[i].projectId)}}catch(ignore){}}; d.getElementsByTagName(t)[0].parentNode.appendChild(s)})(window,document,"script", "//bat.bing.com/bat.js","uetq"); </script>

Conversion-Ziele in Microsoft Ads anlegen

Microsoft Ads → Tools → Conversion Tracking → Neues Ziel. Kategorie wählen, Conversion-Fenster definieren, Wert festlegen. UET Tag verknüpfen.

MSCLKID in Formulare integrieren

Analog zur GCLID-Integration: verstecktes Feld msclkid, JavaScript liest den Parameter aus der URL und befüllt das Feld. Wichtig: Auto-Tagging in Microsoft Ads aktiviert lassen.

Checkliste: Bing Ads Tracking

  • UET Tag auf allen Seiten eingebunden (via GTM oder direkt)
  • UET Tag Helper (Chrome Extension) zeigt "Tag found"
  • Microsoft Consent Mode implementiert (parallel zu Google)
  • Conversion-Ziele in Microsoft Ads angelegt und mit UET Tag verknüpft
  • MSCLKID wird in Formularen als verstecktes Feld gespeichert
  • CRM speichert MSCLKID separat vom GCLID
  • Remarketing-Listen aufgebaut (mind. 1.000 Nutzer für Search)
  • Enhanced Conversions in Microsoft Ads aktiviert (falls verfügbar)

Customer Match & Automatisierter Upload First-Party Data

Customer Match erlaubt das Targeting bestehender Kunden über gehashte E-Mail-Listen. Essentiell für Upselling, Loyalitätskampagnen und als Ausschluss-Liste für Neukunden-Kampagnen.

⚠️ Konto-Voraussetzungen (Google)

  • Konto mind. 90 Tage alt
  • Mindest-Ausgaben-Historie erforderlich
  • Policy-Compliance: Customer Match Richtlinie akzeptiert
  • Kein Verstoß gegen Personalisierungsrichtlinien

🔒 Datenschutz & Hashing (Pflicht)

  • E-Mails müssen SHA-256-gehasht werden
  • Kleinbuchstaben, keine Leerzeichen vor dem Hashing
  • Google akzeptiert auch ungehashte Daten (hasht selbst)
  • Nur mit explizitem Nutzer-Consent verwenden

📋 Verwendbare Datenfelder

  • E-Mail-Adresse (primär, höchste Match-Rate)
  • Telefonnummer (E.164-Format, z.B. +4917...)
  • Vorname, Nachname, Postleitzahl, Land
  • Kombination erhöht Match-Rate deutlich

📤 Upload-Methoden

  • Manuell (CSV): Gut für Ersttest
  • Google Data Manager: Direkte DB-Verbindung
  • Zapier/Make: CRM-Automatisierung
  • Google Ads API: Echtzeit, vollautomatisch

CSV-Upload (manuell)

FeldFormatPflicht
Emaillowercase, SHA-256 gehasht oder RohformPflicht
PhoneE.164: +4917xxxxxxxxOptional
First NameKleinbuchstaben, kein TitelOptional
Last NameKleinbuchstabenOptional
CountryISO 3166-1 Alpha-2 (z.B. DE, AT, CH)Optional
ZipPLZ ohne LeerzeichenOptional

Automatisierter Upload (Google Data Manager)

Data Manager öffnen

Google Ads → Tools → Data Manager. Neues Segment erstellen → Kundenliste → Datenquelle verbinden.

Datenquelle auswählen

Verfügbare Quellen: BigQuery, Google Cloud Storage, Amazon S3, Snowflake, Salesforce, PostgreSQL, MySQL, SFTP. Für CRM-Systeme: Zapier-Integration oder API nutzen.

Felder mappen und Transformationen anwenden

Datenbankfelder auf Google-Felder mappen. Transformation möglich: z.B. Telefonnummer in E.164 konvertieren, E-Mail trimmen und auf Kleinbuchstaben normalisieren.

Synchronisierung konfigurieren

Empfehlung: tägliche Synchronisierung. Maximale Listengültigkeit: 540 Tage. Einträge älter als 540 Tage werden automatisch entfernt. Mindestens 1.000 aktive Einträge für Ausspielung.

Conversion-basierte Kundenlisten aktivieren

Google Ads → Kontoeinstellungen → "Conversion-basierte Kundenlisten aktivieren". Google erstellt automatisch Zielgruppen aus Nutzern, die eine Conversion ausgelöst haben – Echtzeit-Update.

Automatisierter Upload via Google Ads API

// Beispiel: User List Member hinzufügen (Python-Pseudocode) client = GoogleAdsClient.load_from_storage() user_data_service = client.get_service("UserDataService") request = client.get_type("UploadUserDataRequest") request.customer_id = customer_id request.job = f"customers/{customer_id}/offlineUserDataJobs/{job_id}" # User-Daten mit SHA-256 hashen import hashlib email_hash = hashlib.sha256("user@example.com".lower().encode()).hexdigest() member = request.operations[0].create member.user_identifiers.append(...) # email_hash einsetzen

Checkliste: Customer Match

  • Konto-Voraussetzungen erfüllt (Alter, Ausgaben-Historie, Policy)
  • Expliziter Nutzer-Consent für Verwendung der Daten vorhanden
  • E-Mails vor Upload normalisiert: Kleinbuchstaben, kein Leerzeichen
  • SHA-256-Hashing implementiert (oder Google hasht direkt)
  • Mindestens 1.000 Einträge in Liste für Ausspielung
  • Automatische Synchronisierung eingerichtet (täglich empfohlen)
  • Conversion-basierte Kundenlisten aktiviert
  • Kundenliste als Ausschluss in Neukunden-Kampagnen eingesetzt
  • Für Bing: Customer Match analog mit MSCLKID-Daten eingerichtet