사용자 지정 앱 프로모션 캠페인 만들기
Windows 앱에서 실행되는 앱 대한
앱에 대한 사용자 지정 캠페인을 실행하는 경우 각 사용자 지정 캠페인에 대해 다른 URL을 만들어 각 캠페인의 상대적인 성능을 추적할 수 있습니다. 여기서 각 URL에는 다른 캠페인 ID가. Windows 10을 실행하는 고객이 캠페인 ID가 포함된 URL을 클릭하면 Microsoft는 클릭을 해당 사용자 지정 캠페인과 연결하며, 이 데이터를 파트너 센터에서 사용할 수 있도록 제공합니다.
중요하다
이 데이터는 Windows 10의 고객에 대해서만 추적됩니다. 다른 운영 체제를 사용하는 고객은 앱 목록에 대한 링크를 계속 따를 수 있지만 해당 고객의 활동에 대한 데이터는 포함되지 않습니다.
사용자 지정 캠페인과 관련된 두 가지 주요 데이터 유형은 앱의 스토어 목록에 대한 페이지 조회와 전환입니다. 변환은 고객이 사용자 지정 캠페인 ID를 포함하는 URL에서 앱의 스토어 목록 페이지를 볼 때 발생하는 앱 획득입니다. 변환에 대해 더 알고 싶다면 이 항목의 앱 획득이 변환으로 인정되는 방식 이해 부분을 참조하세요.
다음과 같은 방법으로 앱에 대한 사용자 지정 캠페인 성능 데이터를 검색할 수 있습니다.
- 앱 또는 추가 기능에 대한 페이지 보기 및 변환 데이터를 구입 보고서의 캠페인 ID 및 총 캠페인 변환 차트를 통해 볼 수 있습니다.
- 앱이 UWP(유니버설 Windows 플랫폼) 앱인 경우 Windows SDK의 API를 사용하여 변환을 초래한 사용자 지정 캠페인 ID를 프로그래밍 방식으로 검색할 수 있습니다.
사용자 지정 캠페인 시나리오 예제
새 게임 빌드를 완료하고 기존 게임의 플레이어에게 홍보하려는 게임 개발자를 고려해 보세요. 그녀는 게임의 스토어 목록에 대한 링크를 포함하여 자신의 페이스 북 페이지에 새로운 게임 릴리스의 발표를 게시합니다. 그녀의 선수들 중 많은 이들은 트위터에서 그녀를 팔로우하기 때문에, 그녀는 또한 게임의 스토어 목록 링크와 함께 공지를 트윗합니다.
이러한 각 프로모션 채널의 성공을 추적하기 위해 개발자는 게임의 스토어 목록에 URL의 두 가지 변형을 만듭니다.
Facebook 페이지에 게시할 URL에는 사용자 지정 캠페인 ID
my-facebook-campaign
포함됩니다.Twitter에 게시할 URL에는 사용자 지정 캠페인 ID
my-twitter-campaign
포함됩니다.
그녀의 페이스 북과 트위터 팔로워가 URL을 클릭하면 Microsoft는 각 클릭을 추적하고 해당 사용자 지정 캠페인과 연결합니다. 게임 및 추가 기능 구매의 후속 적격 획득은 사용자 지정 캠페인과 연결되고 변환으로 보고됩니다.
인수가 변환으로 인정되는 방법 이해
사용자 지정 캠페인 전환은 고객이 사용자 지정 캠페인을 통해 홍보된 URL을 클릭하여 발생하는 전환입니다. 획득 보고서에서 앱 페이지 보기 및 캠페인 ID별 전환, 그리고 총 캠페인 전환 차트와 캠페인 ID을 프로그래밍 방식으로 검색하는 것을 전환으로 간주하는 시나리오는 서로 다릅니다.
자격 변환이 포함된 취득 보고서
다음 시나리오는
고객이 인식된 Microsoft 계정을 사용하거나 사용하지 않는 사용자 지정 캠페인 ID가 포함된 앱 URL을 클릭하고 앱의 스토어 목록으로 리디렉션됩니다. 그런 다음, 동일한 고객이 사용자 지정 캠페인 ID를 사용하여 Microsoft Store URL을 처음 클릭한 후 24시간 이내에 앱을 획득합니다.
고객이 사용자 지정 캠페인 ID를 사용하여 URL을 클릭한 것과 다른 장치에서 앱을 획득하는 경우 고객이 URL을 클릭할 때와 동일한 Microsoft 계정으로 로그인한 경우에만 변환이 계산됩니다.
메모
사용자 지정 캠페인의 변환으로 계산되는 앱 구입의 경우 해당 앱의 모든 추가 기능 구매는 동일한 사용자 지정 캠페인에 대한 변환으로 계산됩니다.
프로그래밍 방식으로 캠페인 ID를 검색할 때 전환 조건 설정
앱과 연결된 캠페인 ID를 프로그래밍 방식으로 검색할 때 변환으로 한정하려면 다음 조건을 충족해야 합니다.
Windows 10 버전 1607 이상에서 실행 중인 장치에서: 고객(인식된 Microsoft 계정에 로그인 여부)이 사용자 지정 캠페인 ID가 포함된 URL을 클릭하고 앱의 스토어 목록 페이지로 리디렉션됩니다. 고객은 URL을 클릭하여 스토어 페이지를 보는 동안 앱을 획득합니다.
Windows 10, 버전 1511 또는 이전
실행 중인 장치에서: 인식된 Microsoft 계정으로 로그인해야 하는 고객(인식된 Microsoft 계정으로 로그인해야 하는 고객)이 사용자 지정 캠페인 ID가 포함된 URL을 클릭하고 앱의 스토어 목록 페이지로 리디렉션됩니다. 고객은 URL을 클릭하면 스토어 목록을 보는 동안 앱을 획득합니다. 이러한 버전의 Windows 10 또는 Windows 11에서는 캠페인 ID를 프로그래밍 방식으로 검색할 때 인수가 변환으로 인정되려면 사용자가 인식된 Microsoft 계정으로 로그인해야 합니다.
메모
고객이 스토어 목록 페이지를 떠났다가 24시간 내에 동일한 장치에서 또는 동일한 Microsoft 계정으로 다른 장치에 로그인하여 페이지로 돌아와 앱을 획득하면, 이는
앱의 Microsoft Store 페이지 URL에 사용자 지정 캠페인 ID 포함
사용자 지정 캠페인 ID를 사용하여 앱에 대한 Microsoft Store 페이지 URL을 만들려면 다음을 수행합니다.
- 사용자 지정 캠페인에 대한 ID 문자열을 만듭니다. 이 문자열은 최대 100자를 포함할 수 있지만 쉽게 식별할 수 있는 짧은 캠페인 ID를 정의하는 것이 좋습니다.
메모
캠페인 ID 문자열은 다른 개발자가 자신의 앱에 대한 획득 보고서를 볼 때 표시될 수 있습니다. 이는 고객이 사용자 지정 캠페인 ID를 클릭하여 스토어를 입력하고 동일한 세션 내에서 다른 개발자의 앱을 구매하여 해당 변환을 캠페인 ID로 귀속할 때 발생할 수 있습니다. 해당 개발자는 캠페인 ID의 이름을 포함하여 캠페인 ID를 처음 클릭하면 발생한 앱의 변환 수를 볼 수 있지만 캠페인 ID를 클릭한 후 자신의 앱(또는 다른 개발자의 앱)을 구매한 사용자 수에 대한 데이터는 표시되지 않습니다.
HTML 또는 프로토콜 형식으로 앱의 스토어 목록에 대한 링크를 가져옵니다.
고객이 모든 운영 체제의 브라우저에서 앱의 웹 기반 스토어 목록으로 이동하려면 HTML URL을 사용합니다. Windows 디바이스에서 스토어 앱도 앱 목록을 시작하고 표시합니다. 이 URL의 형식은
https://apps.microsoft.com/detail/*your app ID*
. 예를 들어 Skype의 HTML URL은https://apps.microsoft.com/detail/9wzdncrfj364
. 앱 ID 페이지에서 이 URL을 찾을 수 있습니다.App을 UWP 앱이 설치된 디바이스 또는 컴퓨터에서 실행 중인 다른 Windows 앱 내부에서 홍보할 때, 또는 고객이 Microsoft Store를 지원하는 디바이스를 사용 중임을 알고 있는 경우 프로토콜 포맷을 사용합니다. 이 링크는 브라우저를 열지 않고 앱의 스토어 목록으로 직접 이동합니다. 이 URL의 형식은
ms-windows-store://pdp/?PRODUCTID=*your app id*
. 예를 들어 Skype의 프로토콜 URL은ms-windows-store://pdp/?PRODUCTID=9wzdncrfj364
.
앱의 URL 끝에 다음 문자열을 추가합니다.
HTML 형식 URL의 경우
?cid=*my custom campaign ID*
추가합니다. 예를 들어 Skype에서 값이 custom_campaign인 캠페인 ID를 도입하는 경우, 캠페인 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를 사용하는 것이 좋습니다. 이러한 네임스페이스 간의 차이점에 대한 자세한 내용은 앱 내 구매 및 평가판
코드 예제
다음 코드 예제에서는 사용자 지정 캠페인 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
}
}
이 코드는 다음을 수행합니다.
먼저 Windows.Services.Store 네임스페이스의 StoreContext 클래스를 현재 디바이스에서 사용할 수 있는지 확인합니다(즉, 디바이스가 Windows 10, 버전 1607 이상을 실행 중임). 이 경우 코드는 이 클래스를 계속 사용합니다.
다음으로, 현재 사용자에게 인식된 Microsoft 계정이 있는 경우의 사용자 지정 캠페인 ID를 가져오려고 시도합니다. 이를 위해 코드는 현재 앱 SKU를 나타내는 StoreSku 개체를 가져오고 CampaignId 속성에 액세스하여 캠페인 ID를 검색합니다(사용 가능한 경우).
그런 다음 코드는 현재 사용자에게 인식된 Microsoft 계정이 없는 경우의 캠페인 ID를 검색하려고 시도합니다. 이 경우 캠페인 ID가 앱 라이선스에 포함됩니다. 이 코드는
메서드를 사용하여 라이선스를 검색한 다음, customPolicyField1GetAppLicenseAsync 키 값에 대한 라이선스의 JSON 콘텐츠를 구문 분석합니다. 이 값에는 캠페인 ID가 포함됩니다. Windows.Services.Store 네임스페이스의 StoreContext 클래스를 사용할 수 없는 경우 코드는 Windows.ApplicationModel.Store 네임스페이스의 GetAppPurchaseCampaignIdAsync 메서드를 사용하여 사용자 지정 캠페인 ID를 검색합니다(이 네임스페이스는 모든 버전의 Windows 10 또는 Windows 11에서 사용할 수 있음). 이 방법을 사용할 때, 사용자 지정 캠페인 ID는 인증된 Microsoft 계정이 있어야 하는 사용자에 한하여 정규화된 취득에 대해서만 검색할 수 있습니다.
Windows.ApplicationModel.Store 네임스페이스의 프록시 파일에서 캠페인 ID 지정
Windows.ApplicationModel.Store 네임스페이스에는 앱을 스토어에 제출하기 전에 코드를 테스트하기 위한 Store 작업을 시뮬레이션하는 특수 클래스인 CurrentAppSimulator포함됩니다. 이 클래스는 로컬 파일 Windows.StoreProxy.xml 파일에서
<CurrentApp>
...
<AppPurchaseCampaignId>your custom campaign ID</AppPurchaseCampaignId>
</CurrentApp>
Windows.Services.Store 네임스페이스는 테스트 중에 라이선스 정보를 시뮬레이션하는 데 사용할 수 있는 클래스를 제공하지 않습니다. 대신 스토어에 앱을 게시하고 해당 앱을 개발 디바이스에 다운로드하여 해당 라이선스를 테스트에 사용해야 합니다. 자세한 내용은 앱 내 구매 및 평가판
사용자 지정 캠페인 테스트
사용자 지정 캠페인 URL을 승격하기 전에 다음을 수행하여 사용자 지정 캠페인을 테스트하는 것이 좋습니다.
테스트에 사용하는 디바이스에서 Microsoft 계정에 로그인합니다.
사용자 지정 캠페인 URL을 클릭합니다. 앱 페이지로 이동되었는지 확인한 다음 UWP 앱 또는 브라우저 페이지를 닫습니다.
URL을 여러 번 클릭하여 앱 페이지를 방문할 때마다 UWP 앱 또는 브라우저 페이지를 닫습니다. 앱 페이지 방문 중에 앱을 통한 전환을 생성하십시오. URL을 클릭한 총 횟수를 계산합니다.
예상 페이지 보기 및 변환이 앱 페이지 보기 및 캠페인 ID 의한 변환 및 총 캠페인 변환구입 보고서차트에 표시되는지 확인하고, 위에서 설명한 API를 사용하여 캠페인 ID를 성공적으로 검색할 수 있는지 여부를 확인하기 위해 앱의 코드를 테스트합니다.
Windows developer