Dela via


Skapa en anpassad kampanj för appmarknadsföring

Förutom att skapa en annonskampanj för din app som ska köras i Windows-appar, kan du även höja upp appen med hjälp av andra kanaler. Du kan till exempel marknadsföra din app med hjälp av en tredjepartsleverantör för appmarknadsföring, eller så kan du publicera länkar till din app på sociala medier. Dessa aktiviteter kallas anpassade kampanjer.

Om du kör anpassade kampanjer för din app kan du spåra den relativa prestandan för varje kampanj genom att skapa en annan URL för varje anpassad kampanj, där varje URL innehåller olika kampanj-ID. När en kund som kör Windows 10 klickar på en URL som innehåller ett kampanj-ID associerar Microsoft klicket med motsvarande anpassade kampanj och gör dessa data tillgängliga för dig i Partnercenter.

Viktig

Dessa data spåras endast för kunder i Windows 10. Kunder som använder andra operativsystem kan fortfarande följa länken till appens lista, men data om dessa kunders aktiviteter inkluderas inte.

Det finns två huvudsakliga typer av data som är associerade med anpassade kampanjer: sidvisningar för appens Store-lista och konverteringar. En konvertering är ett appförvärv som är resultatet av att en kund visar appens butikslistningssida från en URL som innehåller ett anpassat kampanj-ID. Mer information om konverteringar finns i Förstå hur appförvärv kvalificerar sig som konverteringar i det här avsnittet.

Du kan hämta anpassade kampanjprestandadata för din app på följande sätt:

  • Du kan visa data om sidvisningar och konverteringar för din app eller tillägg från App-sidvisningar och konverteringar efter kampanj-ID och Totalt antal kampanjkonverteringar diagram i rapporten Förvärv.
  • Om din app är en UWP-app (Universal Windows Platform) kan du använda API:er i Windows SDK för att programmatiskt hämta det anpassade kampanj-ID som resulterade i en konvertering.

Exempel på anpassat kampanjscenario

Överväg en spelutvecklare som har byggt upp ett nytt spel och vill marknadsföra det till spelare i hennes befintliga spel. Hon publicerar tillkännagivandet om det nya spelet på sin Facebook-sida, inklusive en länk till spelets butiksida. Många av hennes spelare följer henne också på Twitter, så hon twittrar även ett meddelande med länken till spelets butikslista.

För att spåra framgången för var och en av dessa kampanjkanaler skapar utvecklaren två varianter av URL:en till spelets butikslista:

  • Url:en som hon kommer att publicera på sin Facebook-sida innehåller det anpassade kampanj-ID:t my-facebook-campaign

  • Url:en som hon publicerar på Twitter innehåller det anpassade kampanj-ID:t my-twitter-campaign

När hennes Facebook- och Twitter-följare klickar på URL:erna spårar Microsoft varje klick och associerar det med motsvarande anpassade kampanj. Efterföljande kvalificerade förvärv av spelet och eventuella tilläggsköp associeras med den anpassade kampanjen och rapporteras som konverteringar.

Förstå hur förvärv kvalificerar sig som konverteringar

En anpassad kampanj konvertering är en anskaffning som resulterar i att en kund klickar på en URL som marknadsförs via en anpassad kampanj. Det finns olika scenarier för att kvalificera sig som konvertering för App-sidvisningar och konverteringar efter kampanj-ID och Totalt antal kampanjkonverteringar diagram i Acquisitions-rapporten och för att kvalificera sig som konvertering för att programmatiskt hämta kampanj-ID:t.

Kvalificerande konverteringar i förvärvsrapporten

Följande scenarier kvalificerar sig som en konvertering för App-sidvisningar och konverteringar efter kampanj-ID och Totalt antal kampanjkonverteringar diagram i rapporten Acquisitions:

  • En kund med eller utan ett känt Microsoft-konto klickar på en app-URL som innehåller ett anpassat kampanj-ID och omdirigeras till Store-listan för appen. Sedan hämtar samma kund appen inom 24 timmar efter att de först klickat på Microsoft Store-URL:en med det anpassade kampanj-ID:t.

  • Om kunden hämtar appen på en annan enhet än den där de klickade på URL:en med det anpassade kampanj-ID:t räknas konverteringen endast om kunden är inloggad med samma Microsoft-konto som när de klickade på URL:en.

Notera

För appförvärv som räknas som konverteringar för en anpassad kampanj räknas även eventuella tilläggsköp i appen som konverteringar för samma anpassade kampanj.

Kvalificerade konverteringar vid programmatiskt hämtande av kampanj-ID

För att kvalificera sig som en konvertering vid programmatisk hämtning av kampanj-ID:t som är associerat med appen, måste följande villkor uppfyllas:

  • På en enhet som kör Windows 10, version 1607 eller senare: En kund (oavsett om han eller hon är inloggad på ett känt Microsoft-konto eller inte) klickar på en URL som innehåller ett anpassat kampanj-ID och omdirigeras till sidan Store-lista för appen. Kunden skaffar appen efter att ha klickat på URL:en och tittar på Store-listan.

  • På en enhet som kör Windows 10, version 1511 eller tidigare: En kund (som måste vara inloggad med ett identifierat Microsoft-konto) klickar på en URL som innehåller ett anpassat kampanj-ID och omdirigeras till sidan Store-lista för appen. Kunden skaffar appen när hen tittar på Store-listan som ett resultat av att klicka på URL:en. I dessa versioner av Windows 10 eller Windows 11 måste användaren loggas in med ett erkänt Microsoft-konto för att förvärvet ska kvalificeras som en konvertering när kampanj-ID:t hämtas programmatiskt.

Obs

Om kunden lämnar butikslistningssidan men återgår till sidan inom 24 timmar (antingen på samma enhet eller på en annan enhet när inloggad med samma Microsoft-konto) och förvärvar appen, kommer detta att kvalificera sig som en konvertering i diagrammen för appens sidvisningar och konverteringar efter kampanj-ID samt totala kampanjkonverteringar i förvärvsrapport. Den här kommer dock inte att kvalificera som konvertering om du hämtar kampanj-ID:t programmatiskt.

Bädda in ett anpassat kampanj-ID till appens Url för Microsoft Store-sidan

Så här skapar du en URL för Microsoft Store-sidan för din app med ett anpassat kampanj-ID:

  1. Skapa en ID-sträng för din anpassade kampanj. Den här strängen kan innehålla upp till 100 tecken, men vi rekommenderar att du definierar korta kampanj-ID:t som är lätta att identifiera.

Not

Kampanj-ID-strängen kan vara synlig för andra utvecklare när de visar Acquisitions-rapporten för sina appar. Detta kan inträffa när en kund klickar på ditt anpassade kampanj-ID för att ange Store och köper en annan utvecklarapp inom samma session, vilket tillskriver konverteringen till ditt kampanj-ID. Utvecklaren ser hur många konverteringar av sin egen app som har resulterat i ett första klick på ditt kampanj-ID, inklusive namnet på kampanj-ID:t, men de ser inga data om hur många användare som har köpt dina egna appar (eller appar från andra utvecklare) efter att ha klickat på ditt kampanj-ID.

  1. Hämta länken för din apps Store-lista i HTML- eller protokollformat.

    • Använd HTML-URL:en om du vill att kunderna ska navigera till appens webbaserade store-lista i en webbläsare i valfritt operativsystem. På Windows-enheter kommer Store-appen också att starta och visa appens lista. Den här URL:en har formatet https://apps.microsoft.com/detail/*your app ID*. HTML-URL:en för Skype är till exempel https://apps.microsoft.com/detail/9wzdncrfj364. Du hittar den här URL:en på sidan App-identitet.

    • Använd protokollformatet om du marknadsför din app från andra Windows-appar som körs på en enhet eller dator med UWP-appen installerad, eller när du vet att dina kunder finns på en enhet som stöder Microsoft Store. Den här länken går direkt till din apps Store-lista utan att öppna en webbläsare. Den här URL:en har formatet ms-windows-store://pdp/?PRODUCTID=*your app id*. Protokoll-URL:en för Skype är till exempel ms-windows-store://pdp/?PRODUCTID=9wzdncrfj364.

  2. Lägg till följande sträng i slutet av URL:en för din app:

    • För en URL i HTML-format lägger du till ?cid=*my custom campaign ID*. Om Skype till exempel introducerar ett kampanj-ID med värdet custom_campaignär den nya URL:en inklusive kampanj-ID:t: https://apps.microsoft.com/detail/9wzdncrfj364?cid=custom_campaign.

    • För en URL för protokollformat lägger du till &cid=*my custom campaign ID*. Om Skype till exempel introducerar ett kampanj-ID med värdet custom_campaignär den nya protokoll-URL:en inklusive kampanj-ID:t: ms-windows-store://pdp/?PRODUCTID=9wzdncrfj364&cid=custom_campaign.

Hämta det anpassade kampanj-ID:t för en app programmatiskt

Om din app är en UWP-app kan du programmatiskt hämta det anpassade kampanj-ID som är associerat med en apps förvärv med hjälp av API:er i Windows SDK. Dessa API:er gör många analys- och intäktsscenarier möjliga. Du kan till exempel ta reda på om den aktuella användaren har köpt din app efter att ha upptäckt den via din Facebook-kampanj och sedan anpassa appupplevelsen i enlighet med detta. Om du använder en tredjepartsleverantör för appmarknadsföring kan du också skicka tillbaka data till leverantören.

Dessa API:er returnerar endast en kampanj-ID-sträng om kunden klickar på din URL med det inbäddade kampanj-ID:t, visar Microsoft Store-sidan för din app och sedan hämtar din app utan att lämna store-listsidan. Om användaren lämnar sidan och senare returnerar och hämtar appen, kommer detta inte att kvalificera sig som en konvertering när du använder dessa API:er.

Det finns olika API:er som du kan använda beroende på vilken version av Windows som appen riktar in sig på:

  • Windows 10, version 1607 eller senare: Använd klassen StoreContext i Windows.Services.Store-namnområdet. När du använder det här API:et kan du hämta anpassade kampanj-ID:n för alla kvalificerade förvärv, oavsett om användaren är inloggad med ett erkänt Microsoft-konto eller inte.

  • Windows 10, version 1511 eller tidigare: Använd klassen CurrentApp i Windows.ApplicationModel.Store-namnområdet. När du använder det här API:et kan du bara hämta anpassade kampanj-ID:n för kvalificerade förvärv där användaren är inloggad med ett erkänt Microsoft-konto.

Notera

Även om Windows.ApplicationModel.Store namnområdet är tillgängligt i alla versioner av Windows 10 eller Windows 11 rekommenderar vi att du använder API:erna i Windows.Services.Store namnområdet om din app riktar sig mot Windows 10, version 1607 eller senare. För mer information om skillnaderna mellan dessa namnområden, se köp i appen och prövoperioder. I följande kodexempel visas hur du strukturerar koden så att båda API:erna används i samma projekt.

Kodexempel

I följande kodexempel visas hur du hämtar det anpassade kampanj-ID:t. I det här exemplet används båda uppsättningarna API:er i namnrymderna Windows.Services.Store och Windows.ApplicationModel.Store med hjälp av versionsanpassad kod. Genom att följa den här processen kan koden köras på valfri version av Windows 10 eller Windows 11. Om du vill använda den här koden måste måloperativsystemets version av projektet vara Windows 10 Anniversary Edition (10.0; Build 14394) eller senare, även om den lägsta operativsystemversionen kan vara en tidigare version.

// 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
    }
}

Den här koden gör följande:

  1. Först kontrollerar den om StoreContext-klassen i Windows.Services.Store namnområdet är tillgänglig på den aktuella enheten (det innebär att enheten kör Windows 10, version 1607 eller senare). I så fall fortsätter koden att använda den här klassen.

  2. Därefter försöker den hämta det anpassade kampanj-ID:t för det fall där den aktuella användaren har ett känt Microsoft-konto. För att göra detta hämtar koden ett StoreSku- objekt som representerar den aktuella app-SKU:n och sedan kommer den åt egenskapen CampaignId för att hämta kampanj-ID:t, om ett är tillgängligt.

  3. Koden försöker sedan hämta kampanj-ID:t för det fall där den aktuella användaren inte har ett känt Microsoft-konto. I det här fallet är kampanj-ID:t inbäddat i applicensen. Koden hämtar licensen med hjälp av metoden GetAppLicenseAsync och parsar sedan JSON-innehållet i licensen för värdet för en nyckel med namnet customPolicyField1. Det här värdet innehåller kampanj-ID:t.

  4. Om StoreContext-klassen i Windows.Services.Store namnområdet inte är tillgänglig återgår koden till att använda metoden GetAppPurchaseCampaignIdAsync i Windows.ApplicationModel.Store namnområdet för att hämta det anpassade kampanj-ID:t (det här namnområdet är tillgängligt i alla versioner av Windows 10 eller Windows 11). Observera att när du använder den här metoden kan du bara hämta anpassade kampanj-ID:er för kvalificerade förvärv där användaren har ett känt Microsoft-konto.

Ange kampanj-ID:t i proxyfilen för Windows.ApplicationModel.Store-namnområdet

Namnområdet Windows.ApplicationModel.Store innehåller CurrentAppSimulator, en särskild klass som simulerar Store-åtgärder för att testa koden innan du skickar appen till Store. Den här klassen hämtar data från en lokal fil med namnet Windows.StoreProxy.xml fil. I föregående kodexempel visas hur du inkluderar användning både CurrentApp och CurrentAppSimulator i felsöknings- och icke-felsökningskod i projektet. Om du vill testa den här koden i en felsökningsmiljö lägger du till ett AppPurchaseCampaignId- element i WindowsStoreProxy.xml-filen på utvecklingsdatorn, som du ser i följande exempel. När du kör appen returnerar metoden GetAppPurchaseCampaignIdAsync alltid det här värdet.

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

Windows.Services.Store-namnområdet tillhandahåller inte en klass som du kan använda för att simulera licensinformation under testningen. I stället måste du publicera en app till Store och ladda ned appen till din utvecklingsenhet för att använda dess licens för testning. För mer information, se köp i appen och testversioner.

Testa din anpassade kampanj

Innan du höjer upp en anpassad kampanj-URL rekommenderar vi att du testar din anpassade kampanj genom att göra följande:

  1. Logga in på ett Microsoft-konto på den enhet som du använder för testning.

  2. Klicka på din anpassade kampanj-URL. Se till att du kommer till appsidan och stäng sedan UWP-appen eller webbläsarsidan.

  3. Klicka på URL:en flera gånger till och stäng UWP-appen eller webbläsarsidan efter varje besök på appens sida. Under en av besöken på appens sida hämtar du appen för att generera en konvertering. Räkna det totala antalet gånger som du klickade på URL:en.

  4. Bekräfta om de förväntade sidvisningarna och konverteringarna visas i appsidans vyer och konverteringar efter kampanj-ID och Totalt antal kampanjkonverteringar diagram i rapporten Förvärvoch testa appens kod för att bekräfta om den kan hämta kampanj-ID:t med hjälp av API:erna som beskrivs ovan.