Erstellen einer Werbekampagne für benutzerdefinierte Apps

Zusätzlich zum Erstellen einer Anzeigenkampagne für Ihre App , die in Windows-Apps ausgeführt wird, können Sie Ihre App auch über andere Kanäle bewerben. Beispielsweise können Sie Ihre App mit einem Drittanbieter für App-Marketing bewerben oder Links zu Ihrer App in sozialen Netzwerken bereitstellen. Diese Aktivitäten werden als benutzerdefinierte Kampagnen bezeichnet.

Wenn Sie benutzerdefinierte Kampagnen für Ihre App ausführen, können Sie die relative Leistung jeder Kampagne nachverfolgen, indem Sie eine andere URL für jede benutzerdefinierte Kampagne erstellen, wobei jede URL eine andere Kampagnen-ID enthält. Wenn ein Kunde, der Windows 10 ausführt, auf eine URL mit einer Kampagnen-ID klickt, ordnet Microsoft den Klick der entsprechenden benutzerdefinierten Kampagne zu und stellt Ihnen diese Daten im Partner Center zur Verfügung.

Wichtig

Diese Daten werden nur für Kunden auf Windows 10 nachverfolgt. Kunden, die andere Betriebssysteme verwenden, können trotzdem den Link zu Ihrem App-Eintrag aufrufen, es werden jedoch keine Daten über die Aktivitäten dieser Kunden eingeschlossen.

Benutzerdefinierten Kampagnen sind zwei Standard Datentypen zugeordnet: Seitenansichten für den Store-Eintrag Ihrer App und Konvertierungen. Eine Konvertierung ist ein App-Erwerb, der sich aus dem Anzeigen der Store-Eintragsseite Ihrer App über eine URL mit einer benutzerdefinierten Kampagnen-ID ergibt. Weitere Informationen zu Konvertierungen finden Sie in diesem Thema unter Grundlegendes dazu, wie App-Käufe als Konvertierungen gelten .

Sie können Leistungsdaten einer benutzerdefinierten Kampagne für Ihre App auf folgende Arten abrufen:

  • Sie können Daten zu Seitenaufrufen und Konvertierungen für Ihre App oder Ihr Add-On über die App-Seitenansichten und -konvertierungen nach Kampagnen-ID und Kampagnenkonvertierungssummendiagrammen im Bericht Akquisitionen anzeigen.
  • Wenn es sich bei Ihrer App um eine Universelle Windows-Plattform-App (UWP) handelt, können Sie APIs im Windows SDK verwenden, um programmgesteuert die benutzerdefinierte Kampagnen-ID abzurufen, die zu einer Konvertierung geführt hat.

Beispielszenario für eine benutzerdefinierte Kampagne

Stellen Sie sich vor, ein Spieleentwickler hat die Entwicklung eines neuen Spiels abgeschlossen und möchte dafür bei Spielern seiner bereits vorhandenen Spiele werben. Sie postet die Ankündigung des neuen Spiels release auf ihrer Facebook-Seite, einschließlich eines Links zum Store-Eintrag des Spiels. Viele ihrer Spieler folgen ihr auch auf Twitter, sodass sie auch eine Ankündigung mit dem Link zum Store-Eintrag des Spiels twittert.

Um den Erfolg jedes dieser Promotionkanäle nachzuverfolgen, erstellt der Entwickler zwei Varianten der URL zum Store-Eintrag des Spiels:

  • Die URL, die sie auf ihrer Facebook-Seite veröffentlicht, enthält die benutzerdefinierte Kampagnen-ID. my-facebook-campaign

  • Die URL, die sie auf Twitter posten wird, enthält die benutzerdefinierte Kampagnen-ID. my-twitter-campaign

Wenn ihre Facebook- und Twitter-Follower auf die URLs klicken, verfolgt Microsoft jeden Klick nach und ordnet ihn der entsprechenden benutzerdefinierten Kampagne zu. Nachfolgende qualifizierende Käufe des Spiels und Käufe von Add-Ons werden der benutzerdefinierten Kampagne zugeordnet und als Konvertierungen gemeldet.

Verstehen, wie Akquisitionen als Konvertierungen gelten

Eine benutzerdefinierte Kampagnenkonvertierung ist eine Akquisition, die sich daraus ergibt, dass ein Kunde auf eine URL klickt, die über eine benutzerdefinierte Kampagne heraufgestuft wird. Es gibt verschiedene Szenarien für die Qualifikation als Konvertierung für die App-Seitenaufrufe und -konvertierungen nach Kampagnen-ID und Gesamtdiagrammen der Kampagnenkonvertierung im Bericht "Akquisitionen" und für die Qualifizierung als Konvertierung für das programmgesteuerte Abrufen der Kampagnen-ID.

Qualifizierende Konvertierungen im Akquisitionsbericht

Die folgenden Szenarien gelten als Konvertierung für die Diagramme App-Seitenaufrufe und -konvertierungen nach Kampagnen-ID und Kampagnenkonvertierungssumme im Bericht "Akquisitionen":

  • Ein Kunde mit oder ohne ein erkanntes Microsoft-Konto klickt auf eine App-URL, die eine benutzerdefinierte Kampagnen-ID enthält, und wird zum Store-Eintrag für die App weitergeleitet. Anschließend erwirbt derselbe Kunde die App innerhalb von 24 Stunden, nachdem er zum ersten Mal auf die Microsoft Store-URL mit der benutzerdefinierten Kampagnen-ID geklickt hat.

  • Wenn der Kunde die App auf einem anderen Gerät als dem Gerät erwirbt, auf dem er auf die URL mit der benutzerdefinierten Kampagnen-ID geklickt hat, wird die Konvertierung nur gezählt, wenn der Kunde mit demselben Microsoft-Konto angemeldet ist wie beim Klicken auf die URL.

Hinweis

Bei App-Käufen, die als Konvertierungen für eine benutzerdefinierte Kampagne gezählt werden, werden alle Add-On-Käufe in dieser App auch als Konvertierungen für dieselbe benutzerdefinierte Kampagne gezählt.

Qualifizieren von Konvertierungen beim programmgesteuerten Abrufen der Kampagnen-ID

Damit eine App-Installation beim programmgesteuerten Abrufen der Kampagnen-ID der App als Konvertierung gilt, müssen die folgenden Bedingungen erfüllt sein:

  • Auf einem Gerät, auf dem Windows 10, Version 1607 oder höher ausgeführt wird: Ein Kunde (unabhängig davon, ob er bei einem anerkannten Microsoft-Konto angemeldet ist oder nicht) klickt auf eine URL, die eine benutzerdefinierte Kampagnen-ID enthält, und wird zur Store-Eintragsseite für die App weitergeleitet. Der Kunde erwirbt die App beim Anzeigen des Store-Eintrags durch Klicken auf die URL.

  • Auf einem Gerät, auf dem Windows 10 Version 1511 oder früher ausgeführt wird: Ein Kunde (der mit einem anerkannten Microsoft-Konto angemeldet werden muss) klickt auf eine URL, die eine benutzerdefinierte Kampagnen-ID enthält, und wird zur Store-Eintragsseite für die App weitergeleitet. Der Kunde erwirbt die App beim Anzeigen des Store-Eintrags durch Klicken auf die URL. In diesen Versionen von Windows 10 oder Windows 11 muss der Benutzer mit einem anerkannten Microsoft-Konto angemeldet sein, damit der Erwerb beim programmgesteuerten Abrufen der Kampagnen-ID als Konvertierung gilt.

Hinweis

Wenn der Kunde die Store-Eintragsseite verlässt, aber mit 24 Stunden zur Seite zurückkehrt (entweder auf demselben Gerät oder auf einem anderen Gerät, wenn er mit demselben Microsoft-Konto angemeldet ist) und die App erwirbt, gilt dies als Konvertierung in den Diagrammen "App-Seitenaufrufe" und "Konvertierungen nach Kampagnen-ID" und"Kampagnenkonvertierung gesamt " im Bericht "Akquisitionen". Dies gilt jedoch nicht als Konvertierung, wenn Sie die Kampagnen-ID programmgesteuert abrufen.

Einbetten einer benutzerdefinierten Kampagnen-ID in die Microsoft Store-Seiten-URL Ihrer App

So erstellen Sie eine Microsoft Store-Seiten-URL für Ihre App mit einer benutzerdefinierten Kampagnen-ID:

  1. Erstellen Sie eine ID-Zeichenfolge für Ihre benutzerdefinierte Kampagne. Diese Zeichenfolge kann bis zu 100 Zeichen enthalten. Es wird jedoch empfohlen, kurze, leicht erkennbare Kampagnen-IDs zu definieren.

Hinweis

Die Kampagnen-ID-Zeichenfolge kann für andere Entwickler sichtbar sein, wenn sie den Bericht "Akquisitionen" für ihre Apps anzeigen. Dies kann auftreten, wenn ein Kunde auf Ihre benutzerdefinierte Kampagnen-ID klickt, um in den Store zu gelangen, und die App eines anderen Entwicklers innerhalb derselben Sitzung kauft, wodurch diese Konvertierung Ihrer Kampagnen-ID zugeordnet wird. Dieser Entwickler wird sehen, wie viele Konvertierungen ihrer eigenen App durch einen ersten Klick auf Ihre Kampagnen-ID, einschließlich des Namens der Kampagnen-ID, resultieren, aber sie sehen keine Daten darüber, wie viele Benutzer Ihre eigenen Apps (oder Apps von anderen Entwicklern) erworben haben, nachdem Sie auf Ihre Kampagnen-ID geklickt haben.

  1. Rufen Sie den Link für den Store-Eintrag Ihrer App im HTML- oder Protokollformat ab.

    • Verwenden Sie die HTML-URL, wenn Kunden in einem Browser unter einem beliebigen Betriebssystem zum webbasierten Store-Eintrag Ihrer App navigieren sollen. Auf Windows-Geräten wird die Store-App auch gestartet und der Eintrag Ihrer App angezeigt. Diese URL hat das Format https://www.microsoft.com/store/apps/*your app ID*. Die HTML-URL für Skype lautet z. B https://www.microsoft.com/store/apps/9wzdncrfj364. . Sie finden diese URL auf ihrer App-Identitätsseite .

    • Verwenden Sie das Protokollformat, wenn Sie Ihre App von anderen Windows-Apps heraufstufen, die auf einem Gerät oder Computer mit installierter UWP-App ausgeführt werden, oder wenn Sie wissen, dass sich Ihre Kunden auf einem Gerät befinden, das den Microsoft Store unterstützt. Dieser Link wird direkt zum Store-Eintrag Ihrer App gelangen, ohne einen Browser zu öffnen. Diese URL hat das Format ms-windows-store://pdp/?PRODUCTID=*your app id*. Die Protokoll-URL für Skype lautet beispielsweise ms-windows-store://pdp/?PRODUCTID=9wzdncrfj364.

  2. Fügen Sie am Ende der URL für Ihre App die folgende Zeichenfolge an:

    • Fügen Sie für eine HTML-Format-URL an ?cid=*my custom campaign ID*. Wenn Skype beispielsweise eine Kampagnen-ID mit dem Wert custom_campaign einführt, lautet die neue URL einschließlich der Kampagnen-ID: https://www.microsoft.com/store/apps/skype/9wzdncrfj364?cid=custom\_campaign.

    • Fügen Sie für eine URL im Protokoll-Format &cid=*my custom campaign ID* an. Wenn Skype beispielsweise eine Kampagnen-ID mit dem Wert custom_campaign einführt, lautet die neue Protokoll-URL einschließlich der Kampagnen-ID: ms-windows-store://pdp/?PRODUCTID=9wzdncrfj364&cid=custom\_campaign.

Programmgesteuertes Abrufen der benutzerdefinierten Kampagnen-ID für eine App

Wenn es sich bei Ihrer App um eine UWP-App handelt, können Sie die benutzerdefinierte Kampagnen-ID, die dem Erwerb einer App zugeordnet ist, programmgesteuert abrufen, indem Sie APIs im Windows SDK verwenden. Diese APIs ermöglichen viele Analyse- und Monetarisierungsszenarien. Beispielsweise können Sie feststellen, ob der aktuelle Benutzer Ihre App erworben hat, nachdem er sie über Ihre Facebook-Kampagne entdeckt hat. Dann können Sie die App-Oberfläche entsprechend anpassen. Oder wenn Sie einen Drittanbieter für App-Marketing verwenden, können Sie Daten zurück an den Anbieter senden.

Diese APIs geben eine Kampagnen-ID-Zeichenfolge nur zurück, wenn der Kunde auf Ihre URL mit der eingebetteten Kampagnen-ID geklickt, die Microsoft Store-Seite für Ihre App angezeigt und dann Ihre App abruft, ohne die Seite store-Eintrag zu verlassen. Wenn der Benutzer die Seite verlässt und die App später zurückgibt und abruft, gilt dies bei Verwendung dieser APIs nicht als Konvertierung .

Es gibt verschiedene APIs, die Sie verwenden können, abhängig von der Windows-Version, auf die Ihre App abzielt:

  • Windows 10 Version 1607 oder höher: Verwenden Sie die StoreContext-Klasse im Windows.Services.Store-Namespace. Wenn Sie diese API verwenden, können Sie benutzerdefinierte Kampagnen-IDs für alle qualifizierten Akquisitionen abrufen, unabhängig davon, ob der Benutzer mit einem anerkannten Microsoft-Konto angemeldet ist oder nicht.

  • Windows 10 Version 1511 oder früher: Verwenden Sie die CurrentApp-Klasse im Windows.ApplicationModel.Store-Namespace. Wenn Sie diese API verwenden, können Sie nur benutzerdefinierte Kampagnen-IDs für qualifizierte Akquisitionen abrufen, bei denen der Benutzer mit einem anerkannten Microsoft-Konto angemeldet ist.

Hinweis

Obwohl der Windows.ApplicationModel.Store-Namespace in allen Versionen von Windows 10 oder Windows 11 verfügbar ist, empfiehlt es sich, die APIs im Windows.Services.Store-Namespace zu verwenden, wenn Ihre App auf Windows 10 Version 1607 oder höher ausgerichtet ist. Weitere Informationen zu den Unterschieden zwischen diesen Namespaces finden Sie unter In-App-Käufe und Testversionen. Das folgende Codebeispiel zeigt, wie Sie Ihren Code so strukturieren, dass beide APIs im selben Projekt verwendet werden.

Codebeispiel

Im folgenden Codebeispiel wird gezeigt, wie Die benutzerdefinierte Kampagnen-ID abgerufen wird. In diesem Beispiel werden sowohl Sätze von APIs im Windows.Services.Store als auch Windows.ApplicationModel.Store Namespaces mithilfe adaptiven Versionscodes verwendet. Wenn Sie diesen Prozess ausführen, kann Ihr Code auf jeder Version von Windows 10 oder Windows 11 ausgeführt werden. Um diesen Code verwenden zu können, muss die Zielbetriebssystemversion Ihres Projekts Windows 10 Anniversary Edition (10.0; Build 14394) oder höher, obwohl die Mindestversion des Betriebssystems eine frühere Version sein kann.

// This example assumes the code file has using statements for
// System.Linq, System.Threading.Tasks, Windows.Data.Json,
// and Windows.Services.Store.
public async Task<string> GetCampaignId()
{
    // Use APIs in the Windows.Services.Store namespace if they are available
    // (the app is running on a device with Windows 10, version 1607, or later).
    if (Windows.Foundation.Metadata.ApiInformation.IsTypePresent(
         "Windows.Services.Store.StoreContext"))
    {
        StoreContext context = StoreContext.GetDefault();

        // Try to get the campaign ID for users with a recognized Microsoft account.
        StoreProductResult result = await context.GetStoreProductForCurrentAppAsync();
        if (result.Product != null)
        {
            StoreSku sku = result.Product.Skus.FirstOrDefault(s => s.IsInUserCollection);

            if (sku != null)
            {
                return sku.CollectionData.CampaignId;
            }
        }

        // Try to get the campaign ID from the license data for users without a
        // recognized Microsoft account.
        StoreAppLicense license = await context.GetAppLicenseAsync();
        JsonObject json = JsonObject.Parse(license.ExtendedJsonData);
        if (json.ContainsKey("customPolicyField1"))
        {
            return json["customPolicyField1"].GetString();
        }

        // No campaign ID was found.
        return String.Empty;
    }
    // Fall back to using APIs in the Windows.ApplicationModel.Store namespace instead
    // (the app is running on a device with Windows 10, version 1577, or earlier).
    else
    {
#if DEBUG
        return await Windows.ApplicationModel.Store.CurrentAppSimulator.GetAppPurchaseCampaignIdAsync();
#else
        return await Windows.ApplicationModel.Store.CurrentApp.GetAppPurchaseCampaignIdAsync() ;
#endif
    }
}

Im Code werden folgende Schritte ausgeführt:

  1. Zunächst wird überprüft, ob die StoreContext-Klasse im Windows.Services.Store-Namespace auf dem aktuellen Gerät verfügbar ist (dies bedeutet, dass das Gerät Windows 10 Version 1607 oder höher ausgeführt wird). Wenn dies der Fall ist, verwendet der Code diese Klasse.

  2. Als Nächstes wird versucht, die benutzerdefinierte Kampagnen-ID für den Fall abzurufen, in dem der aktuelle Benutzer über ein erkanntes Microsoft-Konto verfügt. Dazu ruft der Code ein StoreSku-Objekt ab, das die aktuelle App-SKU darstellt, und greift dann auf die CampaignId-Eigenschaft zu, um die Kampagnen-ID abzurufen, sofern eine verfügbar ist.

  3. Der Code versucht dann, die Kampagnen-ID für den Fall abzurufen, in dem der aktuelle Benutzer kein erkanntes Microsoft-Konto hat. In diesem Fall ist die Kampagnen-ID in die App-Lizenz eingebettet. Der Code ruft die Lizenz mithilfe der GetAppLicenseAsync-Methode ab und analysiert dann den JSON-Inhalt der Lizenz auf den Wert eines Schlüssels mit dem Namen customPolicyField1. Dieser Wert enthält die Kampagnen-ID.

  4. Wenn die StoreContext-Klasse im Windows.Services.Store-Namespace nicht verfügbar ist, greift der Code auf die Verwendung der GetAppPurchaseCampaignIdAsync-Methode im Windows.ApplicationModel.Store Namespace zurück, um die benutzerdefinierte Kampagnen-ID abzurufen (dieser Namespace ist in allen Versionen von Windows 10 oder Windows 11 verfügbar). Beachten Sie, dass Sie bei Verwendung dieser Methode nur benutzerdefinierte Kampagnen-IDs für qualifizierte Käufe abrufen können, wenn der Benutzer über ein erkanntes Microsoft-Konto verfügt.

Angeben der Kampagnen-ID in der Proxydatei für den Windows.ApplicationModel.Store Namespace

Der Windows.ApplicationModel.Store Namespace enthält CurrentAppSimulator, eine spezielle Klasse, die Store-Vorgänge zum Testen Ihres Codes simuliert, bevor Sie Ihre App an den Store übermitteln. Diese Klasse ruft Daten aus einer lokalen Datei mit dem Namen Windows.StoreProxy.xml Datei ab. Im vorherigen Codebeispiel wird gezeigt, wie Sie die Verwendung von CurrentApp und CurrentAppSimulator in Debugcode und Nicht-Debugcode in Ihr Projekt einschließen. Um diesen Code in einer Debugumgebung zu testen, fügen Sie der WindowsStoreProxy.xml-Datei auf Ihrem Entwicklungscomputer ein AppPurchaseCampaignId-Element hinzu, wie im folgenden Beispiel gezeigt. Wenn Sie die App ausführen, gibt die GetAppPurchaseCampaignIdAsync-Methode immer diesen Wert zurück.

<CurrentApp>
    ...
    <AppPurchaseCampaignId>your custom campaign ID</AppPurchaseCampaignId>
</CurrentApp>

Der Windows.Services.Store-Namespace stellt keine Klasse bereit, mit der Sie während der Tests Lizenzinformationen simulieren können. Stattdessen müssen Sie eine App im Store veröffentlichen und diese App auf Ihr Gerät für die Entwicklung herunterladen, um die Lizenz zum Testen zu verwenden. Weitere Informationen finden Sie unter In-App-Käufe und Testversionen.

Testen der benutzerdefinierten Kampagne

Bevor Sie eine URL für eine benutzerdefinierte Kampagnen bewerben, empfehlen wir, Ihre benutzerdefinierte Kampagne folgendermaßen zu testen:

  1. Melden Sie sich bei einem Microsoft-Konto auf dem Gerät an, das Sie zum Testen verwenden.

  2. Klicken Sie auf die URL für Ihre benutzerdefinierte Kampagne. Stellen Sie sicher, dass Sie zu Ihrer App-Seite gelangen, und schließen Sie dann die UWP-App oder die Browserseite.

  3. Klicken Sie mehrmals auf die URL, und schließen Sie die UWP-App oder die Browserseite nach jedem Besuch der App-Seite. Erwerben Sie während eines Der Besuche auf der Seite Ihrer App Ihre App, um eine Konvertierung zu generieren. Zählen Sie, wie oft Sie insgesamt auf die URL geklickt haben.

  4. Überprüfen Sie, ob die erwarteten Seitenaufrufe und -konvertierungen in den Diagrammen App-Seitenaufrufen und -konvertierungen nach Kampagnen-ID und Kampagnenkonvertierungen insgesamt im Bericht "Käufe" angezeigt werden, und testen Sie den Code Ihrer App, um zu überprüfen, ob die Kampagnen-ID mithilfe der oben beschriebenen APIs erfolgreich abgerufen werden kann.