Bing Ads mit Custom Push

In diesem Artikel befassen wir uns damit, wie wir eine Integration in Bing-Ads mit dem Custom-Push umsetzen.

Als Grundlage dieser Integration wird vorausgesetzt, dass im Control Panel bereits ein Microsoft OAuth Account mit dem Scope "https://ads.microsoft.com/msads.manage" eingerichtet ist. Um einen solchen Account einzurichten folgen wir diesem Artikel Microsoft OAuth.

Als Grundlage für diese Anleitung nutzen wir die Methode "ApplyOfflineVersions" der Bing-Ads API. https://docs.microsoft.com/en-us/advertising/campaign-management-service/applyofflineconversions?view=bingads-13

Diese Methode hinterlegt eine Offline-Conversion mit einer gegebenen Microsoft Click Id. 

Zusätzlich zum angelegten OAuth Account wird vorausgesetzt das ein "Offline Conversion Goal" bereits angelegt ist und das "Auto-Tagging von Click ID" aktiviert ist. Wie das geht findet man in der Bing Ads Dokumentation.

Welche Informationen brauchen wir für die Integration?

Variable Beschreibung
CustomerAccountId Die ID des Ads Account in den wir die Daten übertragen. Wo finde ich meine Account und Kunden ID
CustomerId Die ID des Ads Account welcher die Daten einträgt. Wo finde ich meine Account und Kunden ID
DeveloperToken Um Daten über die Bing Ads API übertragen zu können, müssen wir einen Developer Token erzeugen. Developer Token erzeugen

Wo finde ich meine CustomerAccountId & CustomerId?

Hierzu öffnen wir die Übersicht der Kampagnen unseres Accounts in dem wir die Call-Events tracken wollen. In der URL Leiste des Browser sehen wir nun eine URL mit mindestens 2 Werten ("aid" & "cid").

Der Wert hinter "aid=" bis zum nächsten "&" ist die CustomerAccountId. Der Wert hinter "cid=" bis zum nächsten "&" ist die CustomerId. 

Wie richte ich einen Developer Token ein?

Die Einrichtung eines Developer Token wird unter dieser URL von Microsoft beschrieben. Developer Token erzeugen

Einrichtung im Control Panel

Wir öffnen das Control Panel und navigieren zu "Konfiguration"->"Integrations 2.0" und klicken auf die Box "Custom Push".

Danach vergeben wir einen Namen für unseren Push und wählen den Zeitpunkt aus. In diesem Beispiel nennen wir den Push "Bing Ads" und wählen als Zeitpunkt "POST-Call". POST oder PRE-Call was passt besser?

Sobald wir diese Daten gesetzt haben klicken wir auf "Filter hinzufügen" und konfigurieren einen Filter der die Daten nur überträgt wenn eine Microsoft Click ID ("MSCLKID") gesetzt wurde. 

Danach springen wir ans Ende der Seite und konfigurieren wohin die Daten übertragen werden sollen. Für Bing-Ads ist das die folgende URL:

https://campaign.api.bingads.microsoft.com/Api/Advertiser/CampaignManagement/v13/CampaignManagementService.svc

Aufgesplittet und im Control Panel hinterlegt sieht das dann so aus:

Nachdem wir jetzt konfiguriert haben Wann, unter welchen Bedingungen und Wohin Daten übertragen werden sollen, ist es Zeit einzustellen Welche Daten wir übertragen möchten.

Im Bereich "Was?" der Control Panel Seite richten wir als erstes 2 HTTP Request Header ein:

Im Anschluss wählen wir "POST" als HTTP Methode aus.

Nachdem wir "POST" ausgewählt haben, können wir den "POST Body" befüllen.

Da die Bing Ads API eine SOAP API ist müssen wir im Post Body einen Soap Envelope erzeugen. 

<s:Envelope xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Header xmlns="https://bingads.microsoft.com/CampaignManagement/v13">
  <Action mustUnderstand="1">ApplyOfflineConversions</Action>
  <AuthenticationToken i:nil="false"> {{configData.accounts.basicOAuth2Credentials.msoauth.accessToken}} </AuthenticationToken>
  <CustomerAccountId i:nil="false">$CustomerAccountId$</CustomerAccountId>
  <CustomerId i:nil="false">$CustomerId$</CustomerId>
  <DeveloperToken i:nil="false">$DeveloperToken$</DeveloperToken>
  </s:Header>
  <s:Body>
    <ApplyOfflineConversionsRequest xmlns="https://bingads.microsoft.com/CampaignManagement/v13">
      <OfflineConversions i:nil="false">
        <OfflineConversion>
          <ConversionCurrencyCode i:nil="false">EUR</ConversionCurrencyCode>
        <ConversionName i:nil="false">$ConversionGoalName$</ConversionName>
        <ConversionTime> {{callData.totalCallBeginTime.datetimeFormatter(yyyy-MM-ddTHH:mm:ss)}} </ConversionTime>
          <ConversionValue i:nil="false">1</ConversionValue>
        <MicrosoftClickId i:nil="false"> {{webData.location.query.msclkid.attribution(LASTNOTEMPTY)}} </MicrosoftClickId>
        </OfflineConversion>
      </OfflineConversions>
    </ApplyOfflineConversionsRequest>
  </s:Body>
</s:Envelope>

In diesem Post Body tauschen wir einige Platzhalter aus.

Platzhalter Beschreibung
$CustomerAccountId$ Die CustomerAccountId die wir weiter oben ausgelesen haben.
$CustomerId$ Die CustomerId die wir weiter oben ausgelesen haben.
$DeveloperToken$

Der Developer Token den wir weiter oben angelegt haben.

$ConversionGoalName$

Der Name des Zielvorhaben (Conversion Goal) das wir in Bing Ads angelegt haben.

Wir klicken auf "Speichern" und verknüpfen den Push mit einem Pool oder als Partner Push. Damit ist die Einrichtung der Integration abgeschlossen.