{"id":81638,"date":"2026-09-04T10:22:32","date_gmt":"2026-09-04T10:22:32","guid":{"rendered":"https:\/\/taggrs.io\/?p=81638"},"modified":"2026-09-04T10:36:13","modified_gmt":"2026-09-04T10:36:13","slug":"microsoft-ads-conversions-api","status":"publish","type":"post","link":"https:\/\/taggrs.io\/de\/microsoft-ads-conversions-api\/","title":{"rendered":"Microsoft Ads Conversions API: So misst du weiter, wenn Safari dein UET-Tag blockiert"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Mit der Microsoft Ads Conversions API (CAPI) kannst du Conversion-Events direkt von deinem Server an Microsoft Advertising senden, statt \u00fcber den Browser des Besuchers. Sie nutzt dasselbe \u201eUniversal Event Tracking\u201c (UET)-Ereignismodell wie das JavaScript-Tag, sodass die Messung auch dann weiterl\u00e4uft, wenn Safari oder ein Werbeblocker verhindert, dass das Browser-Tag Microsoft erreicht. Microsoft betreibt dies als Pilotprojekt, daher muss es erst in deinem Konto aktiviert werden, bevor du loslegen kannst.  <\/p>\n\n<p class=\"wp-block-paragraph\">Microsoft Ads misst die meisten Websites nach wie vor mit einem Universal Event Tracking (UET)-Tag im Browser. Dieses Skript liest die Microsoft-Klick-ID (msclkid) aus, setzt Cookies und sendet Seitenaufrufe und Conversions vom Ger\u00e4t des Besuchers an Microsoft. Lange Zeit war das eine sinnvolle Standardeinstellung. Browser haben Pixel von Drittanbietern toleriert, und der Aufruf an bat.bing.com kam in der Regel an.   <\/p>\n\n<p class=\"wp-block-paragraph\">Dieser Weg l\u00e4sst sich nun leicht unterbrechen. In Safari 27, das sich in der Beta-Phase befindet und mit iOS 27 sowie macOS 27 ausgeliefert wird, kann die Verbindung zu den Ad-Servern von Microsoft unterbrochen werden, bevor Daten das Ger\u00e4t verlassen. Werbeblocker weisen dieselbe Anfrage zur\u00fcck. Durch Cookie-Beschr\u00e4nkungen l\u00e4uft die Identit\u00e4t ab, die f\u00fcr Remarketing und Gebotsabgabe weiterhin genutzt wird. Die Kampagnen geben weiterhin Geld aus. Das Conversion-Signal, das das automatisierte Bidding trainieren sollte, kommt zu sp\u00e4t oder gar nicht.     <\/p>\n\n<p class=\"wp-block-paragraph\">Wenn Microsoft Ads schw\u00e4cher abschneidet als Google Ads, liegt das eigentliche Problem manchmal beim Kanal. Oftmals hat es das UET-Tag gar nicht aus dem Browser herausgeschafft. Das ist eine L\u00fccke in der Messinfrastruktur.  <\/p>\n\n<h2 id=\"what-is-universal-event-tracking-uet\" class=\"wp-block-heading\">Was ist Universal Event Tracking (UET)?<\/h2>\n\n<p class=\"wp-block-paragraph\">Universal Event Tracking (UET) ist die Website-Tracking-Ebene von Microsoft Advertising. Ein Tag auf der Website erfasst, was Nutzer nach einem Anzeigenklick tun. Microsoft nutzt diese Daten dann f\u00fcr Konversionsziele, Remarketing und automatisierte Gebote. <\/p>\n\n<p class=\"wp-block-paragraph\">Normalerweise wird JavaScript installiert. Der Browser l\u00e4dt das Tag von Microsoft und kommuniziert dann mit den Endpunkten von Microsoft, vor allem mit bat.bing.com. Beim automatischen Tagging wird \u201emsclkid\u201c an die Landing-URL angeh\u00e4ngt. Das Tag liest diesen Wert, speichert ihn und f\u00fcgt ihn sp\u00e4teren Events hinzu, sodass ein Kauf wieder mit dem Klick verkn\u00fcpft werden kann.   <\/p>\n\n<p class=\"wp-block-paragraph\">Fr\u00fcher reichte die reine Browser-Messung aus, weil diese Anfragen vollst\u00e4ndig ausgef\u00fchrt werden konnten. Ziele f\u00fcr Ziel-URLs erfassten das Laden der Seiten. Benutzerdefinierte Events wurden beim Bezahlvorgang ausgel\u00f6st. Remarketing-Pools f\u00fcllten sich, weil Microsoft wiederkehrende Besucher im Browser erkennen konnte. Die UET-Helper-Erweiterung kann in Chrome immer noch gut funktionieren, w\u00e4hrend Safari und blockierte Browser fast gar keine Daten senden.    <\/p>\n\n<h2 id=\"why-safari-and-ad-blockers-break-the-bing-uet-tag\" class=\"wp-block-heading\">Warum Safari und Werbeblocker das Bing-UET-Tag st\u00f6ren<\/h2>\n\n<p class=\"wp-block-paragraph\">UET ist ein clientseitiges Tag. Wenn das Skript nie geladen wird oder der Netzwerkaufruf nie abgeschlossen wird, wird der Besuch bei Microsoft gar nicht erfasst. <\/p>\n\n<p class=\"wp-block-paragraph\">Safari 27 ist der entscheidende Fall. Der Tracking-Schutz von WebKit kann bat.bing.com auf Domain-Ebene und nach IP-Bereich blockieren \u2013 und zwar auf der Netzwerkebene, anstatt die Seite zu \u00fcberpr\u00fcfen. Das Skript kann im Google Tag Manager (GTM) liegen. Die Verbindung bricht trotzdem ab. Ein First-Party-Proxy, der lediglich den Ladeort des Skripts \u00e4ndert, hilft nicht, da der Browser weiterhin die Ad-Server von Microsoft erreichen muss. Genau diese IPs kann Safari blockieren. Der Bericht <a href=\"https:\/\/taggrs.io\/de\/safari-27-tracking-schutz\/\">zum Tracking-Schutz in Safari 27<\/a> behandelt diesen Mechanismus, einschlie\u00dflich der Frage, warum Bing UET zusammen mit LinkedIn auf der Liste der exponierten Dienste steht.      <\/p>\n\n<p class=\"wp-block-paragraph\">Werbeblocker behandeln UET wie jedes andere Werbepixel. Filter nach dem Vorbild von EasyList blockieren das Skript oder die Anfrage an bat.bing.com, und strenge Tracking-Schutzmodi in Firefox und Edge tun dasselbe. Der Besucher kauft trotzdem. Microsoft Ads erh\u00e4lt jedoch nie die Kaufdaten. <a href=\"https:\/\/taggrs.io\/de\/tracking-beyond-ad-blockers\/\">Wie sich Werbeblocker auf die Messung auswirken<\/a>, ist die umfassendere Version dieser Geschichte.   <\/p>\n\n<p class=\"wp-block-paragraph\">Cookies sind ein langsameres Leck. Die \u201eIntelligent Tracking Prevention\u201c (ITP) von Safari begrenzt die G\u00fcltigkeitsdauer vieler JavaScript-Cookies auf sieben Tage, bei manchen seiten\u00fcbergreifenden Landing-Mustern sogar noch k\u00fcrzer. Remarketing-Listen schrumpfen. Bei einer Conversion, die bei einem erneuten Besuch stattfindet, geht die Klick-ID verloren, die UET im Browser gespeichert hatte.   <\/p>\n\n<p class=\"wp-block-paragraph\">Der Link-Tracking-Schutz von Safari kann auch \u201emsclkid\u201c im privaten Modus und bei Links, die \u00fcber \u201eMail\u201c oder \u201eNachrichten\u201c ge\u00f6ffnet werden, entfernen \u2013 genauso wie er \u201egclid\u201c und \u201efbclid\u201c entfernt. Wenn die Klick-ID nie auf der Seite landet, kann das UET-Tag nichts zuordnen, selbst wenn der Netzwerkaufruf erfolgreich ist. <\/p>\n\n<h2 id=\"what-the-microsoft-ads-conversions-api-does\" class=\"wp-block-heading\">Was die Microsoft Ads Conversions API macht<\/h2>\n\n<p class=\"wp-block-paragraph\">Die Microsoft Ads Conversion API (CAPI), die auch als UET Conversion API dokumentiert ist, ist der Serverpfad f\u00fcr das gleiche UET-Ereignismodell. Anstatt dass der Browser Daten an Bing sendet, sendet dein Backend (oder ein GTM-Server-Container) einen POST-Request an: <\/p>\n\n<figure class=\"wp-block-embed\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/capi.uet.microsoft.com\/v1\/{tagId}\/events\n<\/div><\/figure>\n\n<p class=\"wp-block-paragraph\">Die Autorisierung erfolgt \u00fcber ein Bearer-Token, das an diesen UET-Tag gebunden ist. Die aktuelle Anleitung von Microsoft ist <a href=\"https:\/\/learn.microsoft.com\/en-us\/advertising\/guides\/uet-conversion-api-integration\" target=\"_blank\" rel=\"noopener\">die \u201eConversions API\u201c (CAPI)<\/a>. Server-side GTM wird dort als unterst\u00fctzte Methode zum Senden der Events aufgef\u00fchrt.  <\/p>\n\n<p class=\"wp-block-paragraph\">F\u00fcr Websites sind zwei Arten von Events wichtig:<\/p>\n\n<p class=\"wp-block-paragraph\"><strong>Events beim Laden einer Seite.<\/strong>  Einer pro Seitenaufruf, einschlie\u00dflich Routenwechsel bei Single-Page-Anwendungen (SPA). Sie enthalten die Seiten-URL, den Referrer, den Titel und eine \u201epageLoadId\u201c. Ziele f\u00fcr Ziel-URLs und ein Gro\u00dfteil des Remarketing-Kontexts h\u00e4ngen davon ab. Diese zu \u00fcberspringen und nur K\u00e4ufe zu \u00fcbermitteln, ist der h\u00e4ufigste Fehler bei der Einrichtung.   <\/p>\n\n<p class=\"wp-block-paragraph\"><strong>Benutzerdefinierte Events.<\/strong>  K\u00e4ufe, Leads, \u201eIn den Warenkorb\u201c, Suchanfragen \u2013 was auch immer mit deinen Konversionszielen zusammenh\u00e4ngt. Hier findest du detailliertere Felder: Wert, W\u00e4hrung, Transaktions-ID, Produkt-IDs. <\/p>\n\n<p class=\"wp-block-paragraph\">Bevor du mit dem Senden beginnst, m\u00fcssen Konversionsziele vorhanden sein. CAPI \u00fcbermittelt Ereignisse an Ziele, die du bereits in Microsoft Ads erstellt hast. Wenn kein Ziel mit diesem UET-Tag verkn\u00fcpft ist und zu deinem \u201eeventName\u201c passt, akzeptiert Microsoft deine Ereignisse mit einer 200-Antwort, und es wird keine Konversion in der Benutzeroberfl\u00e4che angezeigt.  <\/p>\n\n<p class=\"wp-block-paragraph\">Eine Besonderheit, die du ber\u00fccksichtigen solltest: Der Umsatz kann nicht an ein Seitenladeereignis gekoppelt werden. Wenn ein Ziel-URL-Ziel einen variablen Umsatz erfordert, ist die L\u00f6sung von Microsoft ein zweites benutzerdefiniertes Event, das nur den Umsatzwert und die dazugeh\u00f6rige pageLoadId enth\u00e4lt. <\/p>\n\n<p class=\"wp-block-paragraph\">Benutzerdefinierte Ereignisse sollten die \u201epageLoadId\u201c der Seite wiederverwenden, auf der sie aufgetreten sind. Microsoft m\u00f6chte, dass diese ID als universell eindeutiger Identifikator (UUID) der Version 4 vorliegt. Ohne diese ID ist die Konvertierung vom Seitenkontext abgekoppelt, den das JavaScript-Tag sonst automatisch gesendet h\u00e4tte.  <\/p>\n\n<p class=\"wp-block-paragraph\">Microsoft empfiehlt, CAPI wann immer m\u00f6glich zusammen mit UET zu verwenden. Der Grund: UET erfasst browserbasierte Aktivit\u00e4ten und den Seitenkontext, w\u00e4hrend CAPI als Serverpfad f\u00fcr zus\u00e4tzliche Events und Details dient, nachdem UET ausgel\u00f6st wurde. Derselbe Leitfaden behandelt CAPI als Alternative, wenn JavaScript nicht verwendet werden kann \u2013 was bei Safari und bei Werbeblockern der Fall ist. Das CAPI-Schema enth\u00e4lt bereits die Seiten-URL, den Referrer, den User-Agent, die IP-Adresse, die msclkid und die gehasht E-Mail-Adresse. Wenn der Server-Container diese Felder erhalten hat, werden sie im POST-Request mitgesendet. Dieser Serveraufruf ist es, der Microsoft auch dann noch erreicht, wenn bat.bing.com blockiert ist.     <\/p>\n\n<p class=\"wp-block-paragraph\">The events must be current. \u201eeventTime\u201c is a UNIX time stamp in seconds, and Microsoft rejects time stamps that are older than seven days. Almost real-time delivery is the most sensible mode. Nightly data dumps are in conflict with bidding systems that seek conversions while the click is still fresh.   <\/p>\n\n<p class=\"wp-block-paragraph\">Hashwerte f\u00fcr E-Mail-Adressen und Telefonnummern (SHA-256, gem\u00e4\u00df den Normalisierungsregeln von Microsoft) verbessern den Abgleich, wenn Cookies und Klick-IDs fehlen. Microsoft nennt das \u201eerweiterte Konversionen\u201c. Die Daten werden \u00fcber dieselbe CAPI-Nutzlast \u00fcbertragen.  <\/p>\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><\/td><td><strong>UET-JavaScript-Tag<\/strong><\/td><td><strong>Conversions-API<\/strong><\/td><\/tr><tr><td>Wo es l\u00e4uft<\/td><td>Browser des Besuchers<\/td><td>Dein Server<\/td><\/tr><tr><td>Wird von Safari und Werbeblockern blockiert<\/td><td>Ja<\/td><td>Nein<\/td><\/tr><tr><td>Liest \u201emsclkid\u201c automatisch aus<\/td><td>Ja<\/td><td>Du speicherst es und verschickst es<\/td><\/tr><tr><td>Seitenkontext (URL, Referrer, Titel)<\/td><td>Automatisch<\/td><td>Schick es einfach<\/td><\/tr><tr><td>Offline- und CRM-Events<\/td><td>Nein<\/td><td>Ja<\/td><\/tr><tr><td>F\u00fcr jedes Konto verf\u00fcgbar<\/td><td>Ja<\/td><td>Nur Pilot-Konten<\/td><\/tr><\/tbody><\/table><\/figure>\n\n<h2 id=\"access-is-not-automatic\" class=\"wp-block-heading\">Der Zugriff erfolgt nicht automatisch<\/h2>\n\n<p class=\"wp-block-paragraph\">CAPI ist zwar umfassend dokumentiert, befindet sich aber noch in der Pilotphase. Microsoft richtet es pro Konto ein, und du kannst es nicht selbst aktivieren. Die Support-Antworten von Microsoft sind diesbez\u00fcglich ganz klar: Der Weg dorthin f\u00fchrt \u00fcber deinen Kundenbetreuer oder den Microsoft Advertising-Support, damit die Kunden-ID (CID) registriert wird.  <\/p>\n\n<p class=\"wp-block-paragraph\">Sobald das Konto registriert ist, findest du das Token unter dem UET-Tag in der Microsoft Advertising-Benutzeroberfl\u00e4che: Bearbeite das Tag, w\u00e4hle <strong>\u201eConversions-API verwenden\u201c<\/strong> aus und kopiere das Token. Es gibt au\u00dferdem einen Aufruf der Campaign Management API (UetTagAuthKey\/Query), der denselben Schl\u00fcsseltyp zur\u00fcckgibt. <\/p>\n\n<p class=\"wp-block-paragraph\">Vor der Registrierung taucht diese Option einfach gar nicht auf dem Bildschirm auf. Erst die GTM-Tags erstellen und dann nach einem leeren Token-Bildschirm suchen \u2013 das ist eine typische Methode, um eine Woche zu verschwenden. <\/p>\n\n<p class=\"wp-block-paragraph\">Das Kennzeichen ist im Kundenkonto hinterlegt, dem das UET-Tag geh\u00f6rt. Ein Agenturmanager-Konto kann zwar vollst\u00e4ndig eingerichtet aussehen, w\u00e4hrend die CID des Kunden noch keinen CAPI-Zugriff hat. <\/p>\n\n<h2 id=\"the-part-teams-skip-client-side-id-sync\" class=\"wp-block-heading\">Was die Teams oft \u00fcbersehen: die clientseitige ID-Synchronisierung<\/h2>\n\n<p class=\"wp-block-paragraph\">CAPI verlagert die Events serverseitig. Der Identit\u00e4tsabgleich f\u00fcr das Remarketing wird dabei nicht vollst\u00e4ndig mitverlagert. <\/p>\n\n<p class=\"wp-block-paragraph\">Microsoft m\u00f6chte nach wie vor ein Pixel zur clientseitigen ID-Synchronisierung, damit es deine Besucher-IDs den Microsoft-IDs zuordnen kann. In der Dokumentation steht, dass es im Browser ausgel\u00f6st werden soll, nicht vom Server aus, damit Microsoft zum Zeitpunkt der Synchronisierung den Browserkontext auslesen kann. Der dokumentierte Endpunkt sieht so aus:  <\/p>\n\n<figure class=\"wp-block-embed\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/c.bing.com\/c.gif?vid={VID}&Red3=BACID_{customerId}\n<\/div><\/figure>\n\n<p class=\"wp-block-paragraph\">Die Felder kann man leicht verwechseln.<\/p>\n\n<ul class=\"wp-block-list\">\n<li><strong>Red3<\/strong> ist erforderlich. Das Format lautet \u201eBACID_\u201c gefolgt von der Microsoft-Kunden-ID. Diese CID ist nicht die UET-Tag-ID. Ein Kundenkonto kann mehrere UET-Tags enthalten. Bei Konten mit mehr als einer CID sollte die prim\u00e4re CID verwendet werden, sofern Microsoft nichts anderes angibt.    <\/li>\n\n\n\n<li><strong>VID<\/strong> (Besucher-ID) ist erforderlich. Eine anonyme Gast-ID, vorzugsweise eine UUID der Version 1, die sich von der pageLoadId unterscheidet, bei der Microsoft eine UUID der Version 4 verlangt. Der gleiche Wert muss als anonymousId an CAPI \u00fcbermittelt werden. Wenn die Werte voneinander abweichen, kann Microsoft das Server-Ereignis nicht mit der Synchronisierung verkn\u00fcpfen.   <\/li>\n\n\n\n<li><strong>Die UID<\/strong> ist optional. Eine anonymisierte Benutzer-ID eines angemeldeten Nutzers. Auf der CAPI-Seite entspricht diese der \u201eexternalId\u201c.  <\/li>\n<\/ul>\n\n<p class=\"wp-block-paragraph\">Microsoft bezeichnet die ID-Synchronisierung als erforderlich f\u00fcr die Erstellung von Zielgruppen und das Remarketing, einschlie\u00dflich des dynamischen Remarketings. F\u00fcr die Konversionsqualit\u00e4t wird sie \u201edringend empfohlen\u201c, insbesondere wenn die msclkid-ID oder die gehashten E-Mail-Adressen und Telefonnummern fehlen. Microsoft empfiehlt, dies nach M\u00f6glichkeit siteweit und mindestens einmal pro Benutzersitzung durchzuf\u00fchren.  <\/p>\n\n<p class=\"wp-block-paragraph\">Das ist die Hybridl\u00f6sung, die viele \u00fcbersehen: ein Thin-Client-Beacon f\u00fcr die Identit\u00e4tsfeststellung und Server-zu-Server-Events f\u00fcr die Konvertierungsdaten, die Browser immer wieder blockieren.<\/p>\n\n<p class=\"wp-block-paragraph\">Die ID-Synchronisierung erfolgt nach wie vor \u00fcber einen Browser-Aufruf an Microsoft. Safari und Werbeblocker k\u00f6nnen c.bing.com genauso blockieren wie bat.bing.com. Das ist frustrierend. Das ist auch der Grund, warum gehashtes E-Mail, gehashtes Telefonnummer und msclkid weiterhin zum Server-Event geh\u00f6ren. Das Pixel hilft, wenn es ausgel\u00f6st wird. CAPI muss sich weiterhin auf Identifikatoren st\u00fctzen, die du selbst kontrollierst.     <\/p>\n\n<h2 id=\"why-msclkid-still-matters\" class=\"wp-block-heading\">Warum msclkid immer noch wichtig ist<\/h2>\n\n<p class=\"wp-block-paragraph\">msclkid ist die Klick-ID von Microsoft. Wenn die automatische Tagging-Funktion aktiviert ist, f\u00fcgt Microsoft sie nach einem Anzeigenklick an die Ziel-URL an. Fr\u00fcher hat das UET-JavaScript das f\u00fcr dich \u00fcbernommen. Bei CAPI musst du das selbst erledigen.   <\/p>\n\n<p class=\"wp-block-paragraph\">Die Vorgaben von Microsoft sind eindeutig: Speichere die aktuellste msclkid pro Nutzer (First-Party-Cookie, lokaler Speicher oder Serverspeicher), \u00fcberschreibe sie, sobald eine neue vorliegt, bewahre sie etwa 90 Tage lang auf und sende sie bei sp\u00e4teren UET-Events f\u00fcr diesen Nutzer mit. Das Format ist eine UUID. Die Besucher-ID allein ist ein schwacher Ersatz, wenn zuvor eine Klick-ID vorhanden war.  <\/p>\n\n<p class=\"wp-block-paragraph\">Und ja, das lohnt sich auch dann noch, wenn die gehashte E-Mail-Adresse bereits in der Payload enthalten ist. Das Abgleichen von Klick-IDs und optimierte Conversions schlie\u00dfen unterschiedliche L\u00fccken. <\/p>\n\n<p class=\"wp-block-paragraph\">Auch ohne msclkid k\u00f6nnen CAPI-Events weiterhin in der Pipeline von Microsoft landen. Die Zuordnung zu dem Klick, der den Besuch tats\u00e4chlich bezahlt hat, wird dadurch ungenauer. Das automatisierte Bidding trainiert dann auf der Grundlage eines unsch\u00e4rferen Graphen.  <\/p>\n\n<p class=\"wp-block-paragraph\">Safari kann \u201emsclkid\u201c entfernen, bevor die Seite geladen wird \u2013 und zwar in denselben F\u00e4llen des Link-Tracking-Schutzes, von denen bereits die Klick-IDs von Google und Meta betroffen sind. Server-side GTM kann einen Abfrageparameter nicht wiederherstellen, der nie auf deiner Website aufgetaucht ist. Eine sinnvolle Vorgehensweise ist es, ihn beim ersten Aufruf zu speichern, sofern er vorhanden ist. Bei Sitzungen, bei denen er fehlt, dienen gehashtes E-Mail-Adressen und Telefonnummern als Backup, das Microsoft weiterhin abgleichen kann.   <\/p>\n\n<h2 id=\"how-to-set-up-microsoft-capi-in-server-side-gtm\" class=\"wp-block-heading\">So richtest du Microsoft CAPI im server-side GTM ein<\/h2>\n\n<p class=\"wp-block-paragraph\">In den Microsoft-Dokumenten wird ein Tag-Manager oder ein server-side Tag-Manager als g\u00fcltiger \u00dcbertragungsweg behandelt. Die Architektur entspricht derjenigen, die auch f\u00fcr Meta CAPI oder Google Ads-Server-Tags verwendet wird. Der Browser kommuniziert mit einer First-Party-Domain, die du kontrollierst. Der Server-Container sendet eine POST-Anfrage an capi.uet.microsoft.com. Safari bekommt diesen Microsoft-Aufruf nie mit.    <\/p>\n\n<p class=\"wp-block-paragraph\">Die Platzierung folgt der \u00fcblichen Aufteilung. Conversion-Events geh\u00f6ren in den Server-Container. Das ID-Sync-Pixel bleibt im Web-Container, da es clientseitig ausgef\u00fchrt werden muss. Der <a href=\"https:\/\/taggrs.io\/de\/which-platforms-support-server-side-gtm\/\">server-side GTM-Plattform-Checker (sGTM)<\/a> spiegelt die allgemeine Aufteilung zwischen Web- und Server-Platzierung wider. Bei Microsoft CAPI gilt dasselbe Muster: Server f\u00fcr den Event-Body, Web f\u00fcr das Identit\u00e4ts-Beacon.    <\/p>\n\n<p class=\"wp-block-paragraph\">\u00dcbergeordneter Pfad:<\/p>\n\n<ol class=\"wp-block-list\">\n<li><strong>Token- und Tag-ID.<\/strong>  Sobald CAPI im Konto angezeigt wird, kopiere die UET-Tag-ID und das Authentifizierungstoken. Speichere beides als GTM-Servervariablen. Die aktuellen Microsoft-Empfehlungen f\u00fcr Dual-Signal-Konfigurationen lauten, dieselbe UET-Tag-ID wiederzuverwenden und sowohl beim Browser-Event als auch beim CAPI-Event dieselbe \u201eeventId\u201c und denselben \u201eeventName\u201c zu senden, damit Microsoft Duplikate entfernen kann.  <\/li>\n\n\n\n<li><strong>F\u00fcge die Website-Events in den Server-Container ein.<\/strong>  Web GTM liest die Datenschicht (Kauf, \u201egenerate_lead\u201c und die Seitenaufrufe, die als CAPI-Seitenaufrufe gelten sollen). Google Analytics 4 (GA4) ist der \u00fcbliche Transportweg in den Server-Container. Ein Daten-Client kann auch Webhooks von einem Shop oder einem CRM empfangen. Achte darauf, dass die Namen und Umsatzfelder mit den Angaben \u00fcbereinstimmen, die du bereits an Google und Meta sendest.   <\/li>\n\n\n\n<li><strong>Erstelle die `pageLoadId` und die `eventId` fr\u00fchzeitig.<\/strong>  F\u00fcr jeden Seitenaufruf oder jeden SPA-Navigationsschritt wird eine neue UUID vergeben. Benutzerdefinierte Ereignisse auf dieser Seite verwenden diese wieder. Die \u201eConversion eventId\u201c muss konsistent sein: Es muss sich um denselben String sowohl beim UET-JavaScript-Event als auch beim CAPI-Event handeln, falls beide ausgel\u00f6st werden. Eine Bestell-ID plus ein Suffix ist in Ordnung, solange sie eindeutig bleibt.   <\/li>\n\n\n\n<li><strong>Sende den CAPI-POST vom Server-Container aus.<\/strong>  Server GTM verf\u00fcgt \u00fcber ein integriertes HTTP-Request-Tag. Ein POST-Request an capi.uet.microsoft.com mit einem \u201eBearer\u201c-Header und einem JSON-Body reicht aus, wenn du die Nutzdaten selbst zuordnest. Es gibt Vorlagen in der Template Gallery, falls du dir die Zuordnung der Felder von GA4 zu UET abnehmen lassen m\u00f6chtest. Einige dieser Vorlagen k\u00f6nnen den Browser auch anweisen, das ID-Sync-Pixel auszul\u00f6sen. Die Anfrage ben\u00f6tigt weiterhin die Tag-ID im Pfad, \u201epageLoad\u201c und\/oder benutzerdefinierte Ereignisse, \u201euserData\u201c mit mindestens einem Identifikator, \u201emsclkid\u201c, falls vorhanden, sowie \u201epageLoadId\u201c, um benutzerdefinierte Ereignisse mit Seitenladungen zu verkn\u00fcpfen. User-Agent, IP, gehashtes E-Mail-Adress, gehashtes Telefonnummer und \u201eanonymousId\u201c, die mit der VID \u00fcbereinstimmt, helfen alle beim Abgleich.     <\/li>\n\n\n\n<li><strong>Behalte die ID-Synchronisierung im Web-Container bei.<\/strong>  Bildpixel oder \u00c4hnliches mit VID und Red3. Laut Microsofts Dokumentation muss es sich dabei um ein clientseitiges Pixel handeln, nicht um eine HTTP-Anfrage vom Server. <\/li>\n\n\n\n<li><strong>Zugang nur mit Einwilligung.<\/strong>  CAPI unterst\u00fctzt \u201eadStorageConsent\u201c: G f\u00fcr \u201eerteilt\u201c, D f\u00fcr \u201everweigert\u201c. Verweigerte Ereignisse werden nicht f\u00fcr die Attribution oder das Retargeting verwendet. Wenn du das Feld wegl\u00e4sst, behandelt Microsoft die Einwilligung als erteilt. Leite die Signale der Consent Management Platform (CMP) an den GTM-Server weiter und passe das Microsoft-Tag an dieselben ads-storage-Regeln an, die du bereits f\u00fcr Google und Meta verwendest.   <\/li>\n\n\n\n<li><strong>Teste es, bevor du die Gebote \u00e4nderst.<\/strong>  GTM-Vorschau im Web und auf dem Server. Ein 200er-Status von CAPI ist nicht dasselbe wie eine Konvertierung in der Benutzeroberfl\u00e4che, und ein 200er-Status kann trotzdem Warnungen f\u00fcr Felder enthalten, die Microsoft entfernt hat. \u00dcberpr\u00fcfe die Konvertierungs- und UET-Diagnosen von Microsoft und f\u00fchre anschlie\u00dfend einen Testkauf oder ein Test-Lead mit einer bekannten msclkid durch. Beobachte auch das Batch-Verhalten: Standardm\u00e4\u00dfig f\u00fchrt ein ung\u00fcltiges Ereignis zum Fehlschlagen der gesamten Anfrage. Setze daher \u201econtinueOnValidationError\u201c, wenn du lieber m\u00f6chtest, dass die g\u00fcltigen Ereignisse verarbeitet und die fehlerhaften gemeldet werden. Vergleiche \u00fcber einen l\u00e4ngeren Zeitraum das Volumen im Browser mit dem auf dem Server, bevor das automatisierte Bidding beginnt, aus dem neuen Feed zu lernen.    <\/li>\n<\/ol>\n\n<h2 id=\"where-taggrs-fits\" class=\"wp-block-heading\">Wo TAGGRS passt<\/h2>\n\n<p class=\"wp-block-paragraph\">Microsoft CAPI ben\u00f6tigt einen Server-GTM-Container auf einer eigenen Domain, eine an einem Ort zentralisierte Einwilligungslogik und einen sauberen Ereignisstrom, den du neben Google Ads, Meta und <a href=\"https:\/\/taggrs.io\/de\/linkedin-server-side-tracking\/\">LinkedIn<\/a> auch an Microsoft senden kannst.<\/p>\n\n<p class=\"wp-block-paragraph\">TAGGRS hostet diesen Server-Container, ordnet deiner Domain eine Subdomain (oder einen Same-Origin-Pfad) zu und bietet dir eine zentrale Stelle, an der du Events verarbeiten kannst, bevor sie an Werbeplattformen weitergeleitet werden. Die Zuordnung von Microsoft-Token und Payload bleibt in GTM. Das Hosting, die First-Party-Auslieferung und die operative Ebene, die das server-side Tagging erst praktikabel macht, liegen bei TAGGRS.  <\/p>\n\n<p class=\"wp-block-paragraph\">Wenn <a href=\"https:\/\/taggrs.io\/de\/ga4-server-side-tracking\/\" data-type=\"link\" data-id=\"https:\/\/taggrs.io\/ga4-server-side-tracking\/\">GA4<\/a> bereits in einen TAGGRS-Server-Container flie\u00dft, ist Microsoft CAPI ein weiteres Ziel-Tag in diesem Datenstrom. Es handelt sich dabei nicht um einen zweiten Tracking-Stack. Das ID-Sync-Pixel bleibt in jedem Fall im Web-Container.  <\/p>\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/dashboard.taggrs.io\/de\/register\">Erstelle ein kostenloses TAGGRS-Konto<\/a> und stelle sicher, dass der Server-Container l\u00e4uft, bevor du von Microsoft die CAPI-Zugangsdaten erh\u00e4ltst, oder<a href=\"https:\/\/taggrs.io\/de\/demo-anfordern\/\"> buche eine Demo<\/a>, wenn du dir die Einrichtung lieber erst einmal auf deiner eigenen Website ansehen m\u00f6chtest.<\/p>\n\n<h2 id=\"conclusion\" class=\"wp-block-heading\">Fazit<\/h2>\n\n<p class=\"wp-block-paragraph\">Das Browser-UET hat sich als unzuverl\u00e4ssiger Standard f\u00fcr die Messung von Microsoft Ads erwiesen. Safari 27 und Werbeblocker blockieren einen erheblichen Teil der UET-Aufrufe, bevor sie Microsoft erreichen, und durch Cookie-Beschr\u00e4nkungen l\u00e4uft dann die Identit\u00e4t ab, auf der das Remarketing basiert. Die Conversions-API verlagert diese events auf einen Serverpfad, den du kontrollierst, wobei das UET-JavaScript-Tag weiterhin \u00fcberall dort ausgef\u00fchrt wird, wo es geladen wird.  <\/p>\n\n<p class=\"wp-block-paragraph\">F\u00fcr die meisten Teams ist der Zugang das gr\u00f6\u00dfere Hindernis als die Umsetzung. CAPI ist ein Pilotprojekt \u2013 bitte deinen Microsoft-Kundenbetreuer also, es f\u00fcr deine Kunden-ID zu aktivieren, und nutze die Wartezeit, um den Server-Container und den Ereignisstrom einzurichten. Wenn du bereits <a href=\"https:\/\/taggrs.io\/de\/meta-capi-gateway-hosting\/\" data-type=\"link\" data-id=\"https:\/\/taggrs.io\/meta-capi-gateway-hosting\/\">Meta CAPI<\/a> nutzt, handelt es sich um denselben Arbeitsaufwand f\u00fcr einen Kanal, den du derzeit mit geringerer Genauigkeit misst, als du denkst.  <\/p>\n\n<h2 id=\"faq\" class=\"wp-block-heading\">FAQ<\/h2>\n\n<p class=\"wp-block-paragraph\"><strong>Brauche ich das UET-JavaScript-Tag noch?<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">Ja, \u00fcberall dort, wo es noch geladen wird. Microsoft empfiehlt, CAPI zusammen mit UET zu nutzen, da das JavaScript-Tag die Browseraktivit\u00e4t und den Seitenkontext erfasst, die ein Server-Ereignis nicht automatisch \u00fcbermittelt. Wenn beide dieselbe Konversion melden, verwende dieselbe eventId, denselben eventName und dieselbe UET-Tag-ID, damit Microsoft sie nur einmal z\u00e4hlt.  <\/p>\n\n<p class=\"wp-block-paragraph\">Microsoft beschreibt CAPI au\u00dferdem als Alternative f\u00fcr F\u00e4lle, in denen JavaScript nicht ausgef\u00fchrt werden kann \u2013 wie bei Safari und Werbeblockern, die oben bereits angesprochen wurden. Eine vollst\u00e4ndige CAPI-Einrichtung besteht laut ihrer Dokumentation aus zwei Teilen: den Server-zu-Server-Events und dem clientseitigen ID-Synchronisierungs-Pixel. Seiten-URL, Referrer, User-Agent, IP und msclkid sind alle Teil des CAPI-Schemas.  <\/p>\n\n<p class=\"wp-block-paragraph\"><strong>Ist Microsoft CAPI allgemein verf\u00fcgbar?<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">Nein. Die Dokumentation ist \u00f6ffentlich und vollst\u00e4ndig, aber der Zugriff erfolgt noch im Rahmen eines Pilotprojekts, das Microsoft pro Konto gew\u00e4hrt. Wenn die <strong>Option \u201eUse Conversions API\u201c<\/strong> auf dem UET-Tag fehlt, ist das der erwartete Zustand f\u00fcr ein Konto, das noch von niemandem registriert wurde. Bitte deinen Microsoft-Kundenbetreuer oder den Support, die CID hinzuzuf\u00fcgen.   <\/p>\n\n<p class=\"wp-block-paragraph\"><strong>Kann ich K\u00e4ufe nur server-side senden?<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">Du kannst nur benutzerdefinierte Conversion-Events per POST senden. Die Zielvorgaben und Zielgruppen werden schlechter aussehen, als sie sollten. Plane Seitenladungen und benutzerdefinierte Events gemeinsam.  <\/p>\n\n<p class=\"wp-block-paragraph\"><strong>My events give 200 back, but no conversions are shown. Why? <\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">In den meisten F\u00e4llen ist die Antwort das Konversionsziel. \u00dcberpr\u00fcfe, ob in Microsoft Ads ein Ziel vorhanden ist, ob es mit derselben UET-Tag-ID verkn\u00fcpft ist, an die du Daten \u00fcbermittelst, und ob die Ereignisaktion genau mit deinem \u201eeventName\u201c \u00fcbereinstimmt. \u00dcberpr\u00fcfe anschlie\u00dfend, ob die \u201eeventTime\u201c innerhalb des Sieben-Tage-Fensters liegt und ob \u201emsclkid\u201c oder eine gehashtete Kennung im Ereignis vorhanden ist.  <\/p>\n\n<p class=\"wp-block-paragraph\"><strong>Ersetzt das den Import von Offline-Conversions?<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">CAPI kann auch CRM-, Offline- und App-Events \u00fcber denselben Endpunkt \u00fcbertragen. Das ist eine andere Ereignisquelle als das Laden von Webseiten. F\u00fcr Conversions, die erst Tage sp\u00e4ter im CRM erfasst werden, gibt es nach wie vor klassische Offline-Import-Workflows. Das \u201eeventTime\u201c-Datum der Website muss innerhalb der letzten sieben Tage liegen, daher schl\u00e4gt die Validierung bei einem veralteten CRM-Dump fehl.   <\/p>\n\n<p class=\"wp-block-paragraph\"><strong>Wo passt Microsoft CAPI in GTM hinein?<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">Server-Container f\u00fcr den CAPI-POST. Web-Container f\u00fcr das ID-Sync-Pixel. Microsoft empfiehlt au\u00dferdem, das UET-JavaScript-Tag dort zu belassen, wo es geladen werden kann, und eine gemeinsame \u201eeventId\u201c zu verwenden, falls beide Seiten dieselbe Conversion senden.  <\/p>\n\n<p class=\"wp-block-paragraph\"><strong>Was ist, wenn Safari auch das ID-Sync-Pixel blockiert?<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">Dann kann Microsoft deine Besucher-ID in diesen Sitzungen nicht mit seinen eigenen IDs verkn\u00fcpfen, sodass dieser Traffic in den Remarketing-Listen nicht erfasst wird. Die Conversion kann trotzdem stattfinden, da der CAPI-POST von deinem Server und nicht von Safari gesendet wird. F\u00fcge diesem Event \u201emsclkid\u201c, \u201eanonymousId\u201c und die gehashte E-Mail-Adresse oder Telefonnummer hinzu, damit Microsoft es weiterhin einem Klick oder einem bekannten Nutzer zuordnen kann.  <\/p>\n\n<p class=\"wp-block-paragraph\"><strong>Wie vermeide ich Doppelz\u00e4hlungen?<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">Eine \u201eeventId\u201c f\u00fcr dieselbe Conversion bei UET-JavaScript und CAPI, dieselbe UET-Tag-ID, kompatibler \u201eeventName\u201c. \u00dcberpr\u00fcfe, ob beide Tags diese ID tats\u00e4chlich senden. Die Zahlen sollten anhand von Bestellungen oder im CRM abgeglichen werden, nicht nur anhand der Conversion-Spalte in Microsoft Ads.  <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mit der Microsoft Ads Conversions API (CAPI) kannst du Conversion-Events direkt von deinem Server aus ...<\/p>\n","protected":false},"author":15,"featured_media":81629,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[336],"tags":[],"class_list":["post-81638","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-fortgeschrittene"],"acf":[],"_links":{"self":[{"href":"https:\/\/taggrs.io\/de\/wp-json\/wp\/v2\/posts\/81638","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/taggrs.io\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/taggrs.io\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/taggrs.io\/de\/wp-json\/wp\/v2\/users\/15"}],"replies":[{"embeddable":true,"href":"https:\/\/taggrs.io\/de\/wp-json\/wp\/v2\/comments?post=81638"}],"version-history":[{"count":2,"href":"https:\/\/taggrs.io\/de\/wp-json\/wp\/v2\/posts\/81638\/revisions"}],"predecessor-version":[{"id":81640,"href":"https:\/\/taggrs.io\/de\/wp-json\/wp\/v2\/posts\/81638\/revisions\/81640"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/taggrs.io\/de\/wp-json\/wp\/v2\/media\/81629"}],"wp:attachment":[{"href":"https:\/\/taggrs.io\/de\/wp-json\/wp\/v2\/media?parent=81638"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/taggrs.io\/de\/wp-json\/wp\/v2\/categories?post=81638"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/taggrs.io\/de\/wp-json\/wp\/v2\/tags?post=81638"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}