次の方法で共有


カスタム アプリプロモーション キャンペーンを作成する

Windows アプリで実行されるアプリ の 広告キャンペーンを作成するだけでなく、他のチャネルを使用してアプリを宣伝することもできます。 たとえば、サードパーティのアプリ マーケティング プロバイダーを使用してアプリを宣伝したり、ソーシャル メディア サイトにアプリへのリンクを投稿したりできます。 このアクティビティは、カスタムキャンペーンと呼ばれます。

アプリに対してカスタム キャンペーンを実行する場合は、カスタム キャンペーンごとに異なる URL を作成することで、各キャンペーンの相対的なパフォーマンスを追跡できます。各 URL には、異なる キャンペーン ID が含まれています。 Windows 10 を実行しているお客様がキャンペーン ID を含む URL をクリックすると、Microsoft はクリックを対応するカスタム キャンペーンに関連付け、パートナー センターでこのデータを利用できるようにします。

重要

このデータは、Windows 10 のお客様に対してのみ追跡されます。 他のオペレーティング システムを使用しているユーザーは、引き続きアプリの一覧へのリンクをフォローできますが、それらの顧客のアクティビティに関するデータは含まれません。

カスタム キャンペーンには、アプリの Store 登録情報の ページ ビューと、コンバージョンの 2 種類の主なデータがあります。 コンバージョンとは、顧客がカスタム キャンペーン ID を含む URL からアプリのストア登録情報ページを表示した結果のアプリの取得です。 コンバージョンの詳細については、「アプリの取得がコンバージョン と見なされるしくみについて」を参照してください。

アプリのカスタム キャンペーンのパフォーマンス データは、次の方法で取得できます。

  • アプリまたはアドオンのページビューとコンバージョンに関するデータは、キャンペーン ID およびキャンペーンコンバージョンの合計数 のチャート に基づき、アプリのページビューとコンバージョンから確認できます。また、これらは 取得レポートで表示されます。
  • アプリがユニバーサル Windows プラットフォーム (UWP) アプリの場合は、Windows SDK の API を使用して、変換の結果として発生したカスタム キャンペーン ID をプログラムで取得できます。

カスタム キャンペーン シナリオの例

新しいゲームを完成させ、既存のゲームのプレイヤーに宣伝したいと考えているゲーム開発者を考慮してみてください。 彼女は、ゲームの Store 登録情報へのリンクを含め、Facebook ページに新しいゲーム リリースの発表を投稿します。 彼女のプレイヤーの多くは Twitter でもフォローしているため、ゲームの Store 登録情報へのリンクを含むお知らせもツイートしています。

これらの各プロモーション チャネルの成功を追跡するために、開発者はゲームの Store 登録情報への URL の 2 つのバリエーションを作成します。

  • 彼女がFacebookページに投稿するURLには、カスタムキャンペーンID my-facebook-campaignが含まれています。

  • 彼女がTwitterに投稿するURLには、カスタムキャンペーンID my-twitter-campaign が含まれています。

Facebook と Twitter のフォロワーが URL をクリックすると、Microsoft は各クリックを追跡し、対応するカスタム キャンペーンに関連付けます。 その後の対象となるゲームの獲得とアドオン購入は、カスタム キャンペーンに関連付けられ、コンバージョンとして報告されます。

取得がコンバージョンとしてどのように認められるかを理解する

カスタム キャンペーン コンバージョン は、カスタム キャンペーンを通じて宣伝された URL を顧客がクリックすることで発生する成果の取得です。 [取得] レポート[キャンペーン ID ごとのアプリ ページ ビューとコンバージョン][キャンペーンのコンバージョン合計] グラフでコンバージョンであると認められるシナリオと、プログラムによってキャンペーン ID を取得した場合にコンバージョンであると認められるシナリオは異なります。

取得レポートでの変換の修飾

次のシナリオは、取得レポートキャンペーン ID 別のアプリ ページ ビューとコンバージョン グラフおよび合計キャンペーン コンバージョングラフのコンバージョンとして認められます。

  • 顧客 が認識された Microsoft アカウントを持っているかどうかに関わらず、カスタムキャンペーン ID を含むアプリの URL をクリックすると、そのアプリの Store 登録情報にリダイレクトされます。 その後、同じ顧客がカスタム キャンペーン ID を持つ Microsoft Store URL を最初にクリックしてから 24 時間以内にアプリを取得します。

  • ユーザーがカスタム キャンペーン ID で URL をクリックしたデバイスとは別のデバイスでアプリを取得した場合、顧客が URL をクリックしたときと同じ Microsoft アカウントでサインインしている場合にのみ、コンバージョンがカウントされます。

手記

カスタム キャンペーンのコンバージョンとしてカウントされるアプリの取得の場合、そのアプリ内のすべてのアドオン購入も、同じカスタム キャンペーンのコンバージョンとしてカウントされます。

プログラムでキャンペーン ID を取得するときのコンバージョンの条件を満たす

アプリに関連付けられているキャンペーン ID をプログラムで取得するときにコンバージョンとして認定するには、次の条件を満たす必要があります。

  • Windows 10 バージョン 1607 以降の実行しているデバイスでは、ユーザー (認識された Microsoft アカウントにサインインしているかどうかに関係なく) は、カスタム キャンペーン ID を含む URL をクリックし、アプリのストア登録情報ページにリダイレクトされます。 顧客が URL をクリックすると、その結果としてストアのリストを表示している最中にアプリを取得します。

  • Windows 10 バージョン 1511 以前の実行しているデバイスでは、ユーザー (認識された Microsoft アカウントでサインインする必要があります) は、カスタム キャンペーン ID を含む URL をクリックし、アプリのストア登録情報ページにリダイレクトされます。 顧客が URL をクリックすると、その結果としてストアのリストを表示している最中にアプリを取得します。 これらのバージョンの Windows 10 または Windows 11 では、プログラムによってキャンペーン ID を取得するときに、取得がコンバージョンとして認定されるためには、認識された Microsoft アカウントでユーザーがサインインしている必要があります。

手記

顧客がストアのリスト ページから離れた後、24 時間以内にそのページに戻って (同じデバイス上、または同じ Microsoft アカウントでサインインしている別のデバイス上で) アプリを取得した場合は、取得レポートキャンペーン ID 別のアプリ ページ ビューとコンバージョン グラフと合計キャンペーン コンバージョン グラフでコンバージョンとして認められます。 ただし、プログラムでキャンペーン ID を取得する場合、これはコンバージョンとして認められません

アプリの Microsoft Store ページ URL にカスタム キャンペーン ID を埋め込む

カスタム キャンペーン ID を使用してアプリの Microsoft Store ページ URL を作成するには:

  1. カスタム キャンペーンの ID 文字列を作成します。 この文字列には最大 100 文字を含めることができますが、簡単に識別できる短いキャンペーン ID を定義することをお勧めします。

手記

キャンペーン ID 文字列は、アプリの 取得レポート を表示するときに、他の開発者に表示される場合があります。 これは、顧客がカスタム キャンペーン ID をクリックしてストアに入り、同じセッション内で別の開発者のアプリを購入した場合に発生する可能性があるため、そのコンバージョンをキャンペーン ID に結び付けます。 その開発者は、キャンペーン ID の最初のクリックによって発生した独自のアプリのコンバージョン数 (キャンペーン ID の名前を含む) を確認できますが、キャンペーン ID をクリックした後に、自分のアプリ (または他の開発者のアプリ) を購入したユーザーの数に関するデータは表示されません。

  1. アプリの Store 登録情報のリンクを HTML またはプロトコル形式で取得します。

    • ユーザーが任意のオペレーティング システム上のブラウザーでアプリの Web ベースのストア登録情報に移動する場合は、HTML URL を使用します。 Windows デバイスでは、ストア アプリも起動し、アプリの登録情報を表示します。 この URL の形式は https://apps.microsoft.com/detail/*your app ID*です。 たとえば、Skype の HTML URL は https://apps.microsoft.com/detail/9wzdncrfj364です。 この URL は、アプリ ID ページにあります。

    • UWP アプリがインストールされているデバイスまたはコンピューターで実行されている他の Windows アプリ内からアプリを昇格させる場合、または顧客が Microsoft Store をサポートするデバイス上にあることがわかっている場合は、プロトコル形式を使用します。 このリンクは、ブラウザーを開かずにアプリの Store 登録情報に直接移動します。 この URL の形式は ms-windows-store://pdp/?PRODUCTID=*your app id*です。 たとえば、Skype のプロトコル URL は ms-windows-store://pdp/?PRODUCTID=9wzdncrfj364

  2. アプリの URL の末尾に次の文字列を追加します。

    • HTML 形式の URL の場合は、?cid=*my custom campaign ID*追加します。 たとえば、Skype でキャンペーン ID に値 custom_campaignが導入されている場合、キャンペーン ID を含む新しい URL は次のようになります:https://apps.microsoft.com/detail/9wzdncrfj364?cid=custom_campaign

    • プロトコル形式の URL の場合は、&cid=*my custom campaign ID*を追加します。 たとえば、Skype が custom_campaign値を持つキャンペーン ID を導入する場合、キャンペーン ID を含む新しいプロトコル URL は次のようになります: ms-windows-store://pdp/?PRODUCTID=9wzdncrfj364&cid=custom_campaign

プログラムによってアプリのカスタム キャンペーン ID を取得する

アプリが UWP アプリの場合は、Windows SDK の API を使用して、アプリの取得に関連付けられているカスタム キャンペーン ID をプログラムで取得できます。 これらの API を使用すると、多くの分析と収益化のシナリオが可能になります。 たとえば、現在のユーザーが Facebook キャンペーンを通じてアプリを検出した後にアプリを取得したかどうかを確認し、それに応じてアプリのエクスペリエンスをカスタマイズできます。 または、サードパーティのアプリ マーケティング プロバイダーを使用している場合は、プロバイダーにデータを返送できます。

これらの API は、顧客がキャンペーン ID が埋め込まれた URL をクリックし、アプリの Microsoft Store ページを表示した後、ストア登録情報ページを離れずにアプリを取得した場合にのみ、キャンペーン ID 文字列を返します。 ユーザーがページを離れ、後で戻ってきてアプリを取得した場合、これらの API を使用するとこれはコンバージョンとして認められません。

アプリが対象とする Windows のバージョンに応じて、さまざまな API を使用できます。

  • Windows 10 バージョン 1607 以降: Windows.Services.Store 名前空間の StoreContext クラスを使用します。 この API を使用する場合は、ユーザーが認識された Microsoft アカウントでサインインしているかどうかに関係なく、認定取得のカスタム キャンペーン ID を取得できます。

  • Windows 10 バージョン 1511 以前: Windows.ApplicationModel.Store 名前空間の CurrentApp クラスを使用します。 この API を使用する場合は、ユーザーが認識された Microsoft アカウントでサインインしている場合に限り、認定を受けた取得案件のためのカスタム キャンペーン ID () のみを取得できます。

手記

Windows.ApplicationModel.Store 名前空間は Windows 10 または Windows 11 のすべてのバージョンで使用できますが、アプリが Windows 10 バージョン 1607 以降を対象とする場合は、Windows.Services.Store 名前空間で API を使用することをお勧めします。 これらの名前空間の違いの詳細については、「アプリ内購入と試用版の」を参照してください。 次のコード例は、同じプロジェクトで両方の API を使用するようにコードを構造化する方法を示しています。

コード例

次のコード例は、カスタム キャンペーン ID を取得する方法を示しています。 この例では、バージョンのアダプティブ コードを使用して、Windows.Services.Store 名前空間と Windows.ApplicationModel.Store 名前空間の両方の API セットを使用します。 このプロセスに従うことで、任意のバージョンの Windows 10 または Windows 11 でコードを実行できます。 このコードを使用するには、プロジェクトのターゲット OS バージョン が Windows 10 Anniversary Edition (10.0;ビルド 14394) 以降。ただし、最小 OS バージョンは以前のバージョンにすることができます。

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

このコードでは、次の処理が行われます。

  1. まず、Windows.Services.Store 名前空間の StoreContext クラスが現在のデバイスで使用できるかどうかを確認します (つまり、デバイスは Windows 10 バージョン 1607 以降を実行しています)。 その場合、コードはこのクラスの使用に進みます。

  2. 次に、現在のユーザーが認識された Microsoft アカウントを持っている場合のカスタム キャンペーン ID の取得を試みます。 これを行うために、コードは現在のアプリ SKU を表す StoreSku オブジェクトを取得し、CampaignId プロパティにアクセスしてキャンペーン ID (使用可能な場合) を取得します。

  3. その後、コードは、現在のユーザーが認識された Microsoft アカウントを持っていない場合のキャンペーン ID の取得を試みます。 この場合、キャンペーン ID はアプリ ライセンスに埋め込まれます。 このコードは、GetAppLicenseAsync メソッドを使用してライセンスを取得し、customPolicyField1という名前のキーの値 ライセンスの JSON コンテンツを解析します。 この値にはキャンペーン ID が含まれます。

  4. Windows.Services.Store 名前空間の StoreContext クラスを使用できない場合、コードは、Windows.ApplicationModel.Store 名前空間の GetAppPurchaseCampaignIdAsync メソッドを使用してカスタム キャンペーン ID を取得するためにフォールバックします (この名前空間は、Windows 10 または Windows 11 のすべてのバージョンで使用できます)。 この方法を使用する場合は、ユーザーが認識された Microsoft アカウントを持っている、認められた取得のカスタム キャンペーン ID しか取得できないことに注意してください。

Windows.ApplicationModel.Store 名前空間のプロキシ ファイルでキャンペーン ID を指定する

Windows.ApplicationModel.Store 名前空間には、CurrentAppSimulatorが含まれています。これは、アプリをストアに送信する前にコードをテストするためのストア操作をシミュレートする特別なクラスです。 このクラスは、ローカルファイル の名前 Windows.StoreProxy.xml のファイルからデータを取得します。 前のコード例では、CurrentAppCurrentAppSimulator の両方をプロジェクトのデバッグ コードと非デバッグ コードに含める方法を示します。 デバッグ環境でこのコードをテストするには、次の例に示すように、AppPurchaseCampaignId 要素を開発用コンピューター上の WindowsStoreProxy.xml ファイルに追加します。 アプリを実行すると、GetAppPurchaseCampaignIdAsync メソッドは常にこの値を返します。

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

Windows.Services.Store 名前空間には、テスト中にライセンス情報をシミュレートするために使用できるクラスは用意されていません。 代わりに、アプリをストアに発行し、そのアプリを開発デバイスにダウンロードして、そのライセンスをテストに使用する必要があります。 詳細については、「アプリ内購入と試用版の」を参照してください。

カスタム キャンペーンをテストする

カスタム キャンペーン URL を宣伝する前に、次の手順を実行してカスタム キャンペーンをテストすることをお勧めします。

  1. テストに使用しているデバイス上の Microsoft アカウントにサインインします。

  2. カスタム キャンペーン URL をクリックします。 アプリ ページが表示されていることを確認し、UWP アプリまたはブラウザー ページを閉じます。

  3. URL をもう数回クリックし、アプリのページにアクセスするたびに UWP アプリまたはブラウザー ページを閉じます。 アプリのページへの複数回の訪問のうち、1 回でアプリを取得してコンバージョンを生成します。 URL をクリックした回数の合計をカウントします。

  4. 必要とされるページビューおよびコンバージョンが、キャンペーン ID による アプリのページビューとコンバージョンのグラフならびに 合計キャンペーンコンバージョン のグラフが Acquisitions レポートに表示されているかどうかを確認し、また上記の API を使用してアプリのコードをテストし、キャンペーン ID を正常に取得できるかどうかを確認します。