Freigeben über


Erstellen einer Werbekampagne für benutzerdefinierte Apps

Sie können nicht nur eine Anzeigenkampagne für Ihre App erstellen, die in Windows Apps durchgeführt wird, sondern Sie können Ihre App auch über andere Kanäle bewerben. Sie können Ihre App beispielsweise mithilfe eines Drittanbieters für App-Marketing bewerben oder Links zu Ihrer App auf Social Media-Websites veröffentlichen. Diese Aktivitäten werden angepasste Kampagnen genannt.

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-IDenthält. Wenn ein Kunde mit Windows 10 auf eine URL klickt, die eine Kampagnen-ID enthält, ordnet Microsoft den Klick der entsprechenden benutzerdefinierten Kampagne zu und stellt Diese Daten Ihnen im Partner Centerzur Verfügung.

Wichtig

Diese Daten werden nur für Kunden unter Windows 10 nachverfolgt. Kunden, die andere Betriebssysteme verwenden, können weiterhin dem Link zum Eintrag Ihrer App folgen, aber Daten zu den Aktivitäten dieser Kunden werden nicht einbezogen.

Es gibt zwei Haupttypen von Daten, die mit angepassten Kampagnen verbunden sind: Seitenaufrufe für den Store-Eintrag Ihrer App und Konversionen. Bei einer Conversion handelt es sich um einen App-Kauf, der von einem Kunden resultiert, der die Store-Listing-Seite Ihrer App über eine URL aufgerufen hat, die eine benutzerdefinierte Kampagnen-ID enthält. Weitere Einzelheiten zu Konversionen finden Sie unter Verstehen, wie App-Käufe als Konversionen gelten in diesem Thema.

Sie können benutzerdefinierte Kampagnenleistungsdaten für Ihre App auf folgende Weise abrufen:

  • Sie können Daten über Seitenaufrufe und Konversionen für Ihre App oder Ihr Add-On in den Diagrammen App-Seitenaufrufe und Konversionen nach Kampagnen-ID und Kampagnenkonversion insgesamt im Akquisitionsbericht einsehen.
  • Wenn Es sich bei Ihrer App um eine UWP-App (Universelle Windows-Plattform) handelt, können Sie APIs im Windows SDK verwenden, um die benutzerdefinierte Kampagnen-ID programmgesteuert abzurufen, die zu einer Konvertierung führte.

Benutzerdefiniertes Kampagnenbeispielszenario

Betrachten Sie einen Spieleentwickler, der das Erstellen eines neuen Spiels abgeschlossen hat, und möchte es für Spieler ihrer vorhandenen Spiele bewerben. Sie veröffentlicht die Ankündigung des neuen Spiels auf ihrer Facebook-Seite, einschließlich eines Links zum Store-Eintrag des Spiels. Viele ihrer Spieler folgen ihr auch auf Twitter, daher twittert sie auch eine Ankündigung mit dem Link zum Store-Eintrag des Spiels.

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

  • Die URL, die sie auf ihrer Facebook-Seite posten wird, 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 und ordnet sie der entsprechenden benutzerdefinierten Kampagne zu. Nachfolgende qualifizierte Käufe des Spiels und etwaige Käufe von Add-Ons werden mit der angepassten Kampagne verknüpft und als Konversionen gemeldet.

Verständnis, wie Erwerbungen als Konvertierungen gelten

Eine angepasste Kampagnen-Konversion ist eine Akquisition, die daraus resultiert, dass ein Kunde auf eine URL klickt, die über eine angepasste Kampagne beworben wird. Es gibt verschiedene Szenarien für die Qualifizierung als Konversion für die App-Seitenaufrufe und Konversionen nach Kampagnen-ID und Kampagnenkonversion insgesamt Diagramme im Akquisitionsbericht und für die Qualifizierung als Konversion für programmgesteuertes Abrufen der Kampagnen-ID.

Qualifizierende Konversionen im Akquisitionsbericht

Die folgenden Szenarien gelten als Konversion für die Diagramme App-Seitenaufrufe und Konversionen nach Kampagnen-ID und Kampagnenkonversionen insgesamt im Akquisitionsbericht:

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

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

Anmerkung

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.

Qualifizierte Konversionen beim programmgesteuerten Abrufen der Kampagnen-ID

Um als Konversion zu gelten, wenn die mit der App verbundene Kampagnen-ID programmgesteuert abgerufen wird, müssen die folgenden Bedingungen erfüllt sein:

  • Auf einem Gerät, das Windows 10, Version 1607, oder höher ausführt: Ein Kunde (unabhängig davon, ob er bei einem erkannten Microsoft-Konto angemeldet ist oder nicht) klickt auf eine URL, die eine angepasste Kampagnen-ID enthält, und wird zur Store-Listing-Seite für die App umgeleitet. Der Kunde erwirbt die App, während er die Store-Auflistung als Ergebnis des Klicks auf die URL anschaut.

  • Auf einem Gerät, das Windows 10, Version 1511, oder früher ausführt: Ein Kunde (der mit einem erkannten Microsoft-Konto angemeldet sein muss) klickt auf eine URL, die eine angepasste Kampagnen-ID enthält, und wird auf die Seite mit dem Store-Angebot für die App umgeleitet. Der Kunde erwirbt die App, während er die Store-Auflistung als Ergebnis des Klicks auf die URL anschaut. Bei diesen Versionen von Windows 10 oder Windows 11 muss der Benutzer mit einem anerkannten Microsoft-Konto angemeldet sein, damit der Erwerb als Konvertierung qualifiziert wird, wenn die Kampagnen-ID programmgesteuert abgerufen wird.

Anmerkung

Wenn der Kunde die Seite mit dem Store-Angebot verlässt, aber innerhalb von 24 Stunden zu dieser 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, wird dies als Konversion in den Diagrammen App-Seitenaufrufe und Konversionen nach Kampagnen-ID und Gesamte Kampagnenkonversionen im Akquisitionsbericht gewertet. Allerdings wird dies nicht als Konversion gewertet, wenn Sie die Kampagnen-ID programmgesteuert abrufen.

Einfügen einer benutzerdefinierten Kampagnen-ID in die URL der Microsoft Store-Seite Ihrer App

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

  1. Erstellen Sie eine Zeichenfolge für die ID Ihrer angepassten Kampagne. Diese Zeichenfolge kann bis zu 100 Zeichen enthalten, es wird jedoch empfohlen, kurze Kampagnen-IDs zu definieren, die leicht identifizierbar sind.

Anmerkung

Die Zeichenfolge der Kampagnen-ID kann für andere Entwickler sichtbar sein, wenn sie den Akquisitionsbericht 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 in derselben Sitzung kauft, wodurch diese Konvertierung Ihrer Kampagnen-ID zugewiesen wird. Dieser Entwickler wird sehen, wie viele Konvertierungen ihrer eigenen App aus einem anfänglichen Klick auf Ihre Kampagnen-ID resultierten, einschließlich des Namens der Kampagnen-ID, 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. Holen Sie sich den Link für den Store-Eintrag Ihrer App im HTML- oder Protokollformat.

    • Verwenden Sie die HTML-URL, wenn Kunden in einem Browser auf jedem Betriebssystem zum webbasierten Store-Eintrag Ihrer App navigieren sollen. Auf Windows-Geräten wird die Store-App auch den Eintrag Ihrer App starten und anzeigen. Diese URL weist das Format https://apps.microsoft.com/detail/*your app ID*auf. Die HTML-URL für Skype ist z. B. https://apps.microsoft.com/detail/9wzdncrfj364. Sie finden diese URL auf Ihrer App Identität Seite.

    • Verwenden Sie das Protokollformat, wenn Sie Ihre App aus anderen Windows-Apps heraus bewerben, die auf einem Gerät oder Computer mit installierter UWP-App ausgeführt werden, oder wenn Sie wissen, dass Ihre Kunden auf einem Gerät sind, das den Microsoft Store unterstützt. Dieser Link wechselt direkt zum Store-Eintrag Ihrer App, ohne einen Browser zu öffnen. Diese URL weist das Format ms-windows-store://pdp/?PRODUCTID=*your app id*auf. Beispielsweise ist die Protokoll-URL für Skype ms-windows-store://pdp/?PRODUCTID=9wzdncrfj364.

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

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

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

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

Wenn Es sich bei Ihrer App um eine UWP-App handelt, können Sie die benutzerdefinierte Kampagnen-ID programmgesteuert abrufen, die dem Erwerb einer App zugeordnet ist, indem Sie APIs im Windows SDK verwenden. Diese APIs ermöglichen viele Analyse- und Monetarisierungsszenarien. Sie können z. B. herausfinden, ob der aktuelle Benutzer Ihre App erworben hat, nachdem sie über Ihre Facebook-Kampagne entdeckt wurde, und dann die App-Erfahrung entsprechend anpassen. Alternativ können Sie, wenn Sie einen Drittanbieter für App-Marketing verwenden, Daten an den Anbieter zurücksenden.

Diese APIs geben nur dann eine Zeichenfolge für die Kampagnen-ID zurück, wenn der Kunde auf Ihre URL mit der eingebetteten Kampagnen-ID geklickt hat, die Microsoft Store-Seite für Ihre App aufgerufen hat und dann Ihre App erwirbt, ohne die Store-Listenseite zu verlassen. Wenn der Benutzer die Seite verlässt und später zurückkehrt und die App erwirbt, wird dies bei der Verwendung dieser APIs nicht als Konversion gewertet.

Es gibt unterschiedliche APIs, die Sie je nach Der Version von Windows verwenden können, auf die Ihre App ausgerichtet ist:

  • 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 angepasste Kampagnen-IDs für alle qualifizierten Käufe abrufen, unabhängig davon, ob der Benutzer mit einem erkannten Microsoft-Konto angemeldet ist oder nicht.

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

Anmerkung

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

Codebeispiel

Das folgende Codebeispiel zeigt, wie die benutzerdefinierte Kampagnen-ID abgerufen wird. In diesem Beispiel werden beide API-Gruppen in den Namespaces Windows.Services.Store und Windows.ApplicationModel.Store verwendet, indem versionsadaptiver Code verwendet wird. Wenn Sie diesem Prozess folgen, kann Ihr Code auf einer beliebigen Version von Windows 10 oder Windows 11 ausgeführt werden. Um diesen Code zu verwenden, muss die Zielbetriebssystemversion Ihres Projekts mindestens Windows 10 Anniversary Edition (10.0; Build 14394) oder höher sein, obwohl die Mindestbetriebssystemversion 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
    }
}

Dieser Code macht Folgendes:

  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 ausführt). 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, dass der aktuelle Benutzer über ein erkanntes Microsoft-Konto verfügt. Dazu holt sich der Code ein StoreSku-Objekt, das die aktuelle App SKU darstellt, und greift dann auf die CampaignId-Eigenschaft zu, um die Kampagnen-ID abzurufen, falls eine vorhanden ist.

  3. Der Code versucht dann, die Kampagnen-ID für den Fall abzurufen, in dem der aktuelle Benutzer nicht über ein erkanntes Microsoft-Konto verfügt. 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 für den Wert eines Schlüssels mit dem Namen customPolicyField1. Dieser Wert enthält die Kampagnen-ID.

  4. Wenn die Klasse StoreContext im Namespace Windows.Services.Store nicht verfügbar ist, greift der Code auf die Methode GetAppPurchaseCampaignIdAsync im Namespace Windows.ApplicationModel.Store zurück, um die angepasste 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, bei denen der Benutzer über ein erkanntes Microsoft-Konto verfügt.

Geben Sie die Kampagnen-ID in der Proxydatei für den Windows.ApplicationModel.Store-Namespace an.

Der Windows.ApplicationModel.Store-Namespace enthält CurrentAppSimulator, eine spezielle Klasse, die Store-Vorgänge zum Testen des Codes simuliert, bevor Sie Ihre App an den Store übermitteln. Diese Klasse ruft Daten aus einer lokalen Datei namens Windows.StoreProxy.xml Datei ab. Das vorherige Code-Beispiel zeigt, wie Sie sowohl CurrentApp als auch CurrentAppSimulator in Debug- und Nicht-Debug-Code in Ihrem Projekt verwenden können. Um diesen Code in einer Debug-Umgebung zu testen, fügen Sie der Datei WindowsStoreProxy.xml 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 Lizenzinformationen während des Tests simulieren können. Stattdessen müssen Sie eine App im Store veröffentlichen und diese App auf Ihr Entwicklungsgerät herunterladen, um die Lizenz zum Testen zu verwenden. Weitere Informationen finden Sie unter In-App-Käufe und Testversionen.

Testen der angepassten Kampagne

Bevor Sie eine benutzerdefinierte Kampagnen-URL bewerben, sollten Sie Ihre benutzerdefinierte Kampagne wie folgt testen:

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

  2. Klicken Sie auf Ihre benutzerdefinierte Kampagnen-URL. Stellen Sie sicher, dass Sie zu Ihrer App-Seite weitergeleitet werden, und schließen Sie dann die UWP-App oder die Browserseite.

  3. Klicken Sie mehrmals auf die URL, indem Sie die UWP-App oder die Browserseite nach jedem Besuch der App-Seite schließen. Erwerben Sie Ihre App bei einem der Besuche auf der Seite Ihrer App, um eine Konversion zu generieren. Zählen Sie die Gesamtzahl der Male, mit denen Sie auf die URL geklickt haben.

  4. Bestätigen Sie, ob die erwarteten Seitenaufrufe und Konversionen in den Diagrammen App-Seitenaufrufe und Konversionen nach Kampagnen-ID und Kampagnenkonversionen insgesamt im Akquisitionsbericht erscheinen, und testen Sie den Code Ihrer App, um zu bestätigen, ob er die Kampagnen-ID mithilfe der oben beschriebenen APIs erfolgreich abrufen kann.