Track
Pixel- & Plattform-IntegrationenTutorialFortgeschrittene

Microsoft Advertising Conversions API: UET-Tag plus Server-Events mit msclkid

Wie die Microsoft Advertising Conversions API neben dem UET-Tag funktioniert — der Events-Endpunkt je Tag-ID, eventId-Deduplizierung, msclkid und gehashte Kennungen, Batch-Limits und zeilenweise Fehlerbehandlung.

Von
Track-Redaktion
Veröffentlicht
Zuletzt fachlich geprüft
Lesedauer
2 Min. Lesezeit

Das Wichtigste in Kürze

  • CAPI nimmt Server-Events je UET-Tag-ID unter capi.uet.microsoft.com mit einem OAuth-Bearer-Token (Scope msads.manage) an; Ziele matchen Server-Events genauso wie Tag-Events.
  • continueOnValidationError lässt den Endpunkt gültige Zeilen annehmen und ungültige mit Index melden; Track markiert diese Zeilen als ungültig und wiederholt nur 5xx und 429.
  • Gib auf UET-Tag und API dieselbe eventId und denselben Eventnamen mit, damit Microsoft die Conversion einmal zählt.
  • Die nach Marketing-Consent erfasste msclkid ist der primäre Match-Schlüssel, ergänzt um gehashte E-Mail und Telefon; ein Test-Flag gibt es nicht, gib Staging deshalb eine eigene UET-Tag-ID.

Die Bausteine

  • Ein UET-Tag (Tools → UET-Tags). Seine numerische ID ist öffentlich und steht im JavaScript-Snippet.
  • Ein Conversion-Ziel vom Typ „Ereignis“ oder „Ziel-URL“, das an dieses Tag gebunden ist; Server-Events werden über Eventname, Kategorie, Label und Wert genauso gegen Ziele gematcht wie Tag-Events.
  • Ein OAuth-2.0-Access-Token für die Microsoft Advertising API (Scope msads.manage), ausgestellt für das Konto, dem das Tag gehört. Track holt und erneuert ihn über die Microsoft-OAuth-Verbindung und bewahrt ihn im Tresor auf.

Der Request

POST https://capi.uet.microsoft.com/v1/{tagId}/events mit Authorization: Bearer <token> und einem JSON-Array von Events:

json
{
  "data": [{
    "eventType": "custom",
    "eventName": "purchase",
    "eventId": "01J9EXAMPLESOURCEEVENTID00",
    "eventTime": 1767225600000,
    "eventSourceUrl": "https://shop.example/danke",
    "userData": { "em": "<sha256>", "ph": "<sha256>", "msclkid": "…", "clientUserAgent": "…", "clientIpAddress": "…" },
    "eventData": { "eventValue": 129.9, "eventCurrency": "EUR", "items": [{ "id": "SKU-1", "name": "Produkt", "price": 99.9, "quantity": 1 }] }
  }],
  "continueOnValidationError": true
}

eventTime sind Millisekunden seit Epoch. eventType ist custom für Conversion-Events und pageLoad für Seitenaufrufe. Mit continueOnValidationError: true nimmt der Endpunkt die gültigen Zeilen an und meldet die ungültigen mit ihrem Index; Track markiert diese Zeilen als ungültige Payload und wiederholt sie nicht, während HTTP 5xx und 429 mit Backoff wiederholt werden.

Bis zu 1.000 Events passen in einen Request.

Deduplizierung mit dem UET-Tag

Feuert auch das UET-JavaScript-Tag das Event, müssen beide Wege dieselbe eventId und denselben Eventnamen teilen. Im Browser gibst du die ID in den Event-Parametern mit (window.uetq.push('event', 'purchase', { revenue_value: 129.9, currency: 'EUR', event_id: '…' })); der Server sendet denselben Wert in eventId. Microsoft zählt die Conversion dann einmal. Das Track-SDK erzeugt eine ID pro Aktion und reicht sie gleichermaßen an das UET-Template und den Collector.

Kennungen

  • msclkid — die Click-ID, die Microsoft an Landingpage-URLs anhängt. Nach Marketing-Consent erfassen und First-Party speichern; ohne sie lassen sich Server-Events nur über gehashte Kennungen zuordnen.
  • em und ph — SHA-256-Hashes der normalisierten E-Mail und Telefonnummer.
  • anid — die Microsoft-Werbe-ID für App-Traffic.
  • clientUserAgent und clientIpAddress — für Web-Events empfohlen und im Collector verfügbar, wenn die Policy das Weiterleiten der IP erlaubt.

Testen

Die API kennt kein Test-Flag. Ein aus dem Assistenten gesendetes Testevent ist ein echtes Event auf der konfigurierten Tag-ID; gib der Staging-Umgebung deshalb eine eigene UET-Tag-ID und behalte die Produktions-Tag-ID für die Produktion — der Assistent zeigt Microsofts zeilenweise Antwort in beiden Fällen. Verlässt die Destination den Testmodus, erhält die Tag-ID der Produktionsumgebung die Events.

Fehler

AntwortBedeutungBehandlung
401Token abgelaufen oder falscher Tenantwird automatisch erneuert; neu verbinden, wenn die Erneuerung scheitert
403Konto hat keinen Zugriff auf die Tag-IDTag-Eigentümerschaft prüfen
400 mit Zeilendetailsungültige FeldwerteZeile als ungültig markiert; Mapping korrigieren
429Rate-LimitWiederholung mit Backoff
5xxFehler auf Microsoft-SeiteWiederholung; Circuit Breaker bei Andauern

Jeder Versuch, auch die von Microsoft abgelehnten Zeilen, ist im Destination-Monitor mit geschwärzter Payload-Vorschau sichtbar.

Primärquellen

Dokumentationen und Standards, auf denen dieser Artikel beruht.

  1. Microsoft Advertising — Conversions API (CAPI) Integration Guidelearn.microsoft.com
  2. Microsoft Advertising — Universal Event Trackinghelp.ads.microsoft.com

War dieser Artikel hilfreich?

Fachlich verantwortlich

Track-Redaktion

Produkt & Engineering

Die Menschen hinter Track: Engineers und Analysts, die täglich an Server-Side Tracking, Consent-Tooling und Connector-Integrationen arbeiten.