Compartilhar via


Criar uma campanha personalizada de promoção de app

Além de criar uma campanha publicitária para seu aplicativo que será executada em aplicativos do Windows, você também pode promover seu aplicativo usando outros canais. Por exemplo, você pode promover seu aplicativo usando um provedor de marketing de aplicativos de terceiros ou postar links para seu aplicativo em sites de mídia social. Essas atividades são chamadas de campanhas personalizadas.

Se você veicular campanhas personalizadas para seu aplicativo, poderá acompanhar o desempenho relativo de cada campanha criando um URL diferente para cada campanha personalizada, em que cada URL contém um ID de campanha diferente. Quando um cliente que executa o Windows 10 clica em uma URL que contém uma ID de campanha, a Microsoft associa o clique à campanha personalizada correspondente e disponibiliza esses dados para você no Partner Center.

Importante

Esses dados são rastreados apenas para clientes no Windows 10. Os clientes que usam outros sistemas operacionais ainda podem seguir o link para a listagem do seu aplicativo, mas os dados sobre as atividades desses clientes não serão incluídos.

Há dois tipos principais de dados associados a campanhas personalizadas: exibições de página para a página "Detalhes do app" e conversões. Uma conversão é uma aquisição de aplicativo que resulta de um cliente visualizando a página de listagem da Loja do seu aplicativo a partir de uma URL que inclui uma ID de campanha personalizada. Para obter mais detalhes sobre conversões, consulte Noções básicas sobre como as aquisições de aplicativos se qualificam como conversões neste tópico.

Você pode recuperar dados de desempenho de campanha personalizada para seu aplicativo das seguintes maneiras:

  • Você pode visualizar dados sobre exibições de página e conversões do seu aplicativo ou complemento nos gráficos Exibições de página e conversões do aplicativo por ID da campanha e Total de conversões da campanha no Relatório de aquisições.
  • Se seu aplicativo for um aplicativo UWP (Plataforma Universal do Windows), você poderá usar APIs no SDK do Windows para recuperar programaticamente a ID de campanha personalizada que resultou em uma conversão.

Exemplo de cenário de campanha personalizada

Considere um desenvolvedor de jogos que terminou de criar um novo jogo e gostaria de promovê-lo para os jogadores de seus jogos existentes. Ela publica o anúncio do lançamento do novo jogo em sua página do Facebook, incluindo um link para a listagem da loja do jogo. Muitos de seus jogadores também a seguem no Twitter, então ela também twitta um anúncio com o link para a listagem da loja do jogo.

Para acompanhar o sucesso de cada um desses canais de promoção, o desenvolvedor cria duas variantes do URL para a página "Detalhes do jogo" na Loja:

  • O URL que ela publicará em sua página do Facebook inclui o ID da campanha personalizada my-facebook-campaign

  • O URL que ela publicará no Twitter inclui o ID da campanha personalizada my-twitter-campaign

À medida que seus seguidores do Facebook e do Twitter clicam nas URLs, a Microsoft rastreia cada clique e o associa à campanha personalizada correspondente. As aquisições subsequentes qualificadas do jogo e quaisquer compras adicionais são associadas à campanha personalizada e relatadas como conversões.

Noções básicas sobre como as aquisições se qualificam como conversões

Uma conversão de campanha personalizada é uma aquisição que resulta de um cliente clicar em um URL promovido por meio de uma campanha personalizada. Há diferentes cenários para se qualificar como uma conversão para os gráficos de exibições de página e conversões de página do aplicativo por ID da campanha e Total de conversões da campanha no relatório Aquisições e para se qualificar como uma conversão para recuperar programaticamente a ID da campanha.

Conversões qualificadas no Relatório de Aquisições

Os cenários a seguir se qualificam como uma conversão para os gráficos de visualizações de página e conversões de página do aplicativo por ID da campanha e Total de conversões da campanha no relatório Aquisições:

  • Um cliente com ou sem uma conta Microsoft reconhecida clica em uma URL de aplicativo que contém uma ID de campanha personalizada e é redirecionado para a listagem da Loja do aplicativo. Em seguida, esse mesmo cliente adquire o aplicativo dentro de 24 horas após clicar pela primeira vez na URL da Microsoft Store com a ID da campanha personalizada.

  • Se o cliente adquirir o aplicativo em um dispositivo diferente daquele em que clicou na URL com a ID da campanha personalizada, a conversão só será contada se o cliente estiver conectado com a mesma conta da Microsoft de quando clicou na URL.

Observação

Para aquisições de aplicativos que são contadas como conversões para uma campanha personalizada, todas as compras complementares nesse aplicativo também são contadas como conversões para a mesma campanha personalizada.

Conversões qualificadas ao recuperar programaticamente o ID da campanha

Para se qualificar como uma conversão ao recuperar programaticamente o ID da campanha associado ao aplicativo, as seguintes condições devem ser atendidas:

  • Em um dispositivo que executa o Windows 10, versão 1607 ou posterior: um cliente (conectado a uma conta da Microsoft reconhecida ou não) clica em uma URL que contém uma ID de campanha personalizada e é redirecionado para a página de listagem da Loja do aplicativo. O cliente adquire o aplicativo enquanto visualiza a listagem da Loja como resultado de clicar na URL.

  • Em um dispositivo que executa o Windows 10, versão 1511 ou anterior: um cliente (que deve estar conectado com uma conta da Microsoft reconhecida) clica em uma URL que contém uma ID de campanha personalizada e é redirecionado para a página de listagem da Loja do aplicativo. O cliente adquire o aplicativo enquanto visualiza a listagem da Loja como resultado de clicar na URL. Nessas versões do Windows 10 ou Windows 11, o usuário deve estar conectado com uma conta da Microsoft reconhecida para que a aquisição se qualifique como uma conversão ao recuperar programaticamente a ID da campanha.

Observação

Se o cliente sair da página de listagem da Loja, mas retornar à página com 24 horas (no mesmo dispositivo ou em um dispositivo diferente quando conectado com a mesma conta da Microsoft) e adquirir o aplicativo, isso se qualificará como uma conversão nos gráficos Exibições de página do aplicativo e conversões por ID da campanha e Total de conversões de campanha no relatório Aquisições. No entanto, isso não se qualificará como uma conversão se você recuperar programaticamente o ID da campanha.

Inserir uma ID de campanha personalizada na URL da página da Microsoft Store do seu aplicativo

Para criar uma URL de página da Microsoft Store para seu aplicativo com uma ID de campanha personalizada:

  1. Crie uma string de ID para sua campanha personalizada. Essa string pode conter até 100 caracteres, embora seja recomendável que você defina IDs de campanha curtos que sejam facilmente identificáveis.

Observação

A string de ID da campanha pode ficar visível para outros desenvolvedores quando eles visualizam o relatório "Aquisições" dos apps. Isso pode ocorrer quando um cliente clica na ID da campanha personalizada para entrar na Loja e compra o aplicativo de outro desenvolvedor na mesma sessão, atribuindo essa conversão à ID da campanha. Esse desenvolvedor verá quantas conversões de seu próprio aplicativo resultaram de um clique inicial no ID da campanha, incluindo o nome do ID da campanha, mas não verá dados sobre quantos usuários compraram seus próprios aplicativos (ou aplicativos de outros desenvolvedores) depois de clicar no ID da campanha.

  1. Obtenha o link para a listagem da Loja do seu aplicativo em formato HTML ou de protocolo.

    • Use a URL HTML se quiser que os clientes naveguem até a listagem da Loja baseada na Web do seu aplicativo em um navegador em qualquer sistema operacional. Em dispositivos Windows, o aplicativo da loja também vai abrir e mostrar a listagem do seu aplicativo. Este URL tem o formato https://www.microsoft.com/store/apps/*your app ID*. Por exemplo, a URL HTML do Skype é https://www.microsoft.com/store/apps/9wzdncrfj364. Você pode encontrar esse URL na página Identidade do aplicativo.

    • Use o formato de protocolo se você estiver promovendo seu aplicativo de dentro de outros aplicativos do Windows que estão sendo executados em um dispositivo ou computador com o aplicativo UWP instalado ou quando souber que seus clientes estão em um dispositivo que dá suporte à Microsoft Store. Esse link irá diretamente para a listagem da Loja do seu aplicativo sem abrir um navegador. Este URL tem o formato ms-windows-store://pdp/?PRODUCTID=*your app id*. Por exemplo, a URL do protocolo do Skype é ms-windows-store://pdp/?PRODUCTID=9wzdncrfj364.

  2. Acrescente a seguinte cadeia de caracteres ao final da URL do seu aplicativo:

    • Para um URL de formato HTML, anexe ?cid=*my custom campaign ID*. Por exemplo, se o Skype introduzir uma ID de campanha com o valor custom_campaign, a nova URL, incluindo a ID da campanha, será: https://www.microsoft.com/store/apps/skype/9wzdncrfj364?cid=custom\_campaign.

    • Para um URL de formato de protocolo, acrescente &cid=*my custom campaign ID*. Por exemplo, se o Skype introduzir uma ID de campanha com o valor custom_campaign, a nova URL de protocolo, incluindo a ID da campanha, será: ms-windows-store://pdp/?PRODUCTID=9wzdncrfj364&cid=custom\_campaign.

Recuperar programaticamente o ID da campanha personalizada para um aplicativo

Se seu aplicativo for um aplicativo UWP, você poderá recuperar programaticamente a ID de campanha personalizada associada à aquisição de um aplicativo usando APIs no SDK do Windows. Essas APIs possibilitam muitos cenários de análise e monetização. Por exemplo, você pode descobrir se o usuário atual adquiriu seu aplicativo depois de descobri-lo por meio de sua campanha do Facebook e, em seguida, personalizar a experiência do aplicativo de acordo. Como alternativa, se você estiver usando um provedor de marketing de aplicativos de terceiros, poderá enviar dados de volta ao provedor.

Essas APIs retornarão uma cadeia de caracteres de ID de campanha somente se o cliente clicou em sua URL com a ID de campanha inserida, visualizou a página da Microsoft Store para seu aplicativo e, em seguida, adquiriu seu aplicativo sem sair da página de listagem da Loja. Se o usuário sair da página e depois retornar e adquirir o aplicativo, isso não se qualificará como uma conversão ao usar essas APIs.

Há APIs diferentes para você usar, dependendo da versão do Windows que seu aplicativo se destina:

  • Windows 10, versão 1607 ou posterior: use a classe StoreContext no namespace Windows.Services.Store. Ao usar essa API, você pode recuperar IDs de campanha personalizadas para qualquer aquisição qualificada, independentemente de o usuário estar conectado ou não com uma conta da Microsoft reconhecida.

  • Windows 10, versão 1511 ou anterior: use a classe CurrentApp no namespace Windows.ApplicationModel.Store. Ao usar essa API, você só pode recuperar IDs de campanha personalizadas para aquisições qualificadas em que o usuário está conectado com uma conta da Microsoft reconhecida.

Observação

Embora o namespace Windows.ApplicationModel.Store esteja disponível em todas as versões do Windows 10 ou Windows 11, recomendamos que você use as APIs no namespace Windows.Services.Store se seu aplicativo for direcionado ao Windows 10, versão 1607 ou posterior. Para obter mais informações sobre as diferenças entre esses namespaces, consulte Compras e avaliações no aplicativo. O exemplo de código a seguir mostra como estruturar seu código para usar ambas as APIs no mesmo projeto.

Exemplo de código

O exemplo de código a seguir mostra como recuperar a ID da campanha personalizada. Este exemplo usa conjuntos de APIs nos namespaces Windows.Services.Store e Windows.ApplicationModel.Store usando o código adaptável de versão. Seguindo esse processo, seu código pode ser executado em qualquer versão do Windows 10 ou Windows 11. Para usar esse código, a versão do sistema operacional de destino do seu projeto deve ser Windows 10 Anniversary Edition (10.0; Build 14394) ou posterior, embora a versão mínima do sistema operacional possa ser uma versão anterior.

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

Este código faz o seguinte:

  1. Primeiro, ele verifica se a classe StoreContext no namespace Windows.Services.Store está disponível no dispositivo atual (isso significa que o dispositivo está executando Windows 10, versão 1607 ou posterior). Nesse caso, o código continua a usar essa classe.

  2. Em seguida, ele tenta obter a ID de campanha personalizada para o caso em que o usuário atual tem uma conta da Microsoft reconhecida. Para fazer isso, o código obtém um objeto StoreSku que representa o SKU do aplicativo atual e, em seguida, acessa a propriedade CampaignId para recuperar a ID da campanha, se houver uma disponível.

  3. Em seguida, o código tenta recuperar a ID da campanha para o caso em que o usuário atual não tem uma conta da Microsoft reconhecida. Nesse caso, o ID da campanha é incorporado à licença do aplicativo. O código recupera a licença usando o método GetAppLicenseAsync e, em seguida, analisa o conteúdo JSON da licença para o valor de uma chave chamada customPolicyField1. Esse valor contém o ID da campanha.

  4. Se a classe StoreContext no namespace Windows.Services.Store não estiver disponível, o código voltará a usar o método GetAppPurchaseCampaignIdAsync no namespace Windows.ApplicationModel.Store para recuperar a ID da campanha personalizada (esse namespace está disponível em todas as versões do Windows 10 ou Windows 11). Observe que, ao usar esse método, você só pode recuperar IDs de campanha personalizadas para aquisições qualificadas em que o usuário tem uma conta da Microsoft reconhecida.

Especifique o ID da campanha no arquivo proxy para o namespace Windows.ApplicationModel.Store

O namespace Windows.ApplicationModel.Store inclui CurrentAppSimulator, uma classe especial que simula operações da Loja para testar seu código antes de enviar seu aplicativo para a Loja. Essa classe recupera dados de um arquivo local chamado Windows.StoreProxy.xml arquivo. O exemplo de código anterior mostra como incluir o uso de CurrentApp e CurrentAppSimulator no código de depuração e não depuração em seu projeto. Para testar esse código em um ambiente de depuração, adicione um elemento AppPurchaseCampaignId ao arquivo WindowsStoreProxy.xml no computador de desenvolvimento, conforme mostrado no exemplo a seguir. Quando você executa o aplicativo, o método GetAppPurchaseCampaignIdAsync sempre retornará esse valor.

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

O namespace Windows.Services.Store não fornece uma classe que você pode usar para simular as informações de licença durante o teste. Em vez disso, você deve publicar um aplicativo na Loja e baixá-lo em seu dispositivo de desenvolvimento para usar sua licença para teste. Para obter mais informações, confira Compras e avaliações no aplicativo.

Testar sua campanha personalizada

Antes de promover um URL de campanha personalizada, recomendamos que você teste sua campanha personalizada fazendo o seguinte:

  1. Entre em uma conta da Microsoft no dispositivo que você está usando para teste.

  2. Clique no URL da sua campanha personalizada. Verifique se você foi levado para a página do aplicativo e feche o aplicativo UWP ou a página do navegador.

  3. Clique na URL várias vezes, fechando o aplicativo UWP ou a página do navegador após cada visita à página do aplicativo. Durante uma das visitas à página do seu aplicativo, adquira seu aplicativo para gerar uma conversão. Conte o número total de vezes que você clicou no URL.

  4. Confirme se as visualizações de página e as conversões esperadas aparecem nos gráficos Visualizações de página e conversões de página do aplicativo por ID da campanha e Total de conversões da campanha no Relatório de aquisições e teste o código do aplicativo para confirmar se ele pode recuperar o ID da campanha usando as APIs descritas acima.