Making money with your apps through the Windows Store
Previously, we’ve discussed how Windows 8 is the single biggest platform opportunity available to developers. This blog post showcases how you can take advantage of this opportunity by diving into how pricing and payment works, as well as providing examples of the options you have for making money with your apps. Arik Cohen, Lead Program Manager for our Commerce and Licensing team, authored this post.
Currently, all the apps that are available in the Windows Store are free for customers to acquire—keeping with the preview nature of the Windows 8 releases to date. At Windows 8 RTM (Release To Manufacturing), all developers signing up for a company account and living in one of the supported countries will be able to publish and offer paid apps.
How app pricing works
You, as the developer of the app, are always in control of the pricing of your app. When you onboard your app, you set its price (and the price of any in-app offers that your app provides) by selecting a price tier. Price tiers range from $1.49 to $999.99; you can see the entire list of price tiers on the Dev Center. The currency you pick for the price tier is based on the currency the Windows Store supports in the country you signed up from.
Price tiers ensure that an equivalent price is selected for selling your app in any currency supported by the Store. The local pricing is derived by foreign exchange rates and rounded to provide the appropriate precision for the standards of a given currency.
How payment works
If you are planning on uploading paid apps, you’ll need to provide both tax information (by filling out the appropriate Internal Revenue Service tax forms based on your country of residence and citizenship) as well as details of a bank account where we can deposit your proceeds. (An upcoming blog post will go into the details of the data that needs to be provided.)
Payments are processed on a monthly basis for all eligible transactions. Transactions become eligible for payment 30 days after the purchase occurred. To receive a payment, all you need to do is accumulate $200 or equivalent in app sales that you haven’t been paid for yet. Remember that app sales represent the total amount sold, while app proceeds represent the amount sold minus the Store fee. Store fees are calculated on a per-transaction basis as well. These fees are based at 30% of the app price, until your app reaches $25,000 or equivalent of lifetime sales (aggregated across app sales and in-app purchases) when they change to 20% of the app price.
Learn more about how terms for payments reward great apps and create greater economic opportunity can be found in Section 5 of the App Developer Agreement available on the Dev Center.
The above terms and processes apply to any transaction that uses our platform. But as a developer you have a variety of options in deciding how you want to monetize your app, content and services. Let’s look at a couple of the different models you can choose:
- Trial with easy conversion to the full paid version of your app
- In app purchases to allow monetization over time
- Advertising within your app
- Billing through your own existing mechanisms
Trials with easy conversion
The developers at Collecting Smiles are the creators of the great painting app Colors. They are interesting in selling this app to users at a particular price, but want to make sure that ALL users have the ability to see the great functionality of the app and be enticed to make a purchase. They have decided to offer a fully functional, time limited trial of their app to enable users to get started. On the Windows Phone, we have seen apps with trials bring up to 5 times the revenue of apps without trials.
By selecting a seven day trial while onboarding their app, they have enabled all users to click the Try button on their app description page to get access to their app – before they decide to buy it.
By using the Store’s trial functionality the app developer receives:
- Analytics to show the conversion process
- A single code base that targets both their trial and full paying customers. This enables customers to seamlessly transition from the trial to the full version, with no need to reenter data, migrate settings or get used to a different app.
- System functionality that stops the trial from being launched after the trial expires
- Access to a set of APIs that allow for prompting for customers purchasing the full version of the app
Learn more about how to create a trial version of your app on the Dev Center.
In app purchases make it easy to collect additional revenue from customers as they get more value from your app. You can sell access to new functionality and provide additional features to purchase in future versions of your app.
For example, Attack Pattern, the developers of the kids’ entertainment app Sticker Tales will be offering their app as a free app in the Store. This gets users access to all of the games and content of the Farm pack (which is available for you to enjoy on the Windows 8 Release Preview today). However, as kids want access to additional content – like a Unicorn Pack, or the Stunt Cars pack – their parents can easily purchase the additional functionality from within the app. Every in-app purchase requires the user to enter their Microsoft Account password to guarantee that they are intentionally making the purchase.
Learn more about how to support in-app purchases in your app on the Dev Center.
Many apps will opt to make money using advertising as opposed to directly charging the customer at time of download or during app usage. You can use any ad provider that meets the technical certification requirements of building a Windows 8 app.
Microsoft offers the Windows 8 Advertising SDK to make it easy for you to integrate ads into your Windows 8 apps.
Using your own billing system
Your app and service may already depend on a particular transaction provider or benefit from ties to other lines of business. Your customers want the trust and efficiency of a familiar, trusted transaction experience. You can use your own transaction provider within your app to provide the experience your customers expect.
If you are not using the Windows Store as your transaction provider, you will want to make sure that your app meets all of the certification requirements such as:
- Identifying the transaction provider to the user during purchase confirmation
- Prompt the user for authentication before processing the transaction
- Your payment processor must meet the current PCI Data Security Standard
Full details on all of the Windows 8 app certification requirements can be found on the Dev Center.
Validating a purchase from your servers
Your app may often request access to specific content and/or functionality that a particular customer should have access to. If you want to validate that a particular customer has actually purchased that functionality, you can use the Store’s receipt functionality to validate a particular purchase.
<Receipt xmlns="http://schemas.microsoft.com/windows/2012/store/receipt" Version="1.0" ReceiptDate="2012-03-15T11:34:05-08:00" ReceiptDeviceId="b809e47cd0110a4db043b3f73e83acd917fe1336"> <AppReceipt Id="182A6BB6-A7CE-4040-94E9-44AF572D7FD5" AppId="contoso.SalesApp_5q2xcn1j1t576" LicenseType="Full" PurchaseDate="2012-03-14T15:48:12-08:00"/> </Receipt>
The receipt is signed with a standard XML digital signature that you can validate to make sure it came from the Windows Store. The ID of each receipt element is unique per user and per device that acquires the app.
The receipt can be used on your service to validate that the caller should appropriately get access to a particular set of functionality and/or content. For example, if your app requires a login, you can securely associate the purchase with the user’s data on your service. That enables you to confidently track a particular usage back to specific purchases from the Store.
Preparing and testing your monetization strategy
While developing your app, you will want to be able to test the various commerce states such as ensuring that the “Purchase Full Version” button in your app is displayed properly when a user is running the trial version of your app. The CurrentAppSimulator object gives you access to all of the functionality that the Store provides via the CurrentApp object with a couple of very important development tools: the ability to simulate any response the Store service could provide (e.g., network unavailable, user cancelled) and an ability to “set” the current users state through a configuration XML file.
The configuration file is split into two parts:
- Listing Information – Provides the data that would normally be provided by the Store service with the latest description and pricing info for the app and its in-app products.
- License Information – Provides the state of the user for any of the available purchases from the app.
It is important to note the CurrentAppSimulator functionality will NOT be available to your app when it has been submitted to the Store. If your app calls any of this functionality when run with a valid user’s license, your app will fail certification (and generate an exception in your code).
With more than 630 million licenses sold to date, across 200+ countries and regions around the world, Windows has an unrivaled global reach. Combined with the flexibility of monetization options that the Store provides, Windows 8 represents the single biggest developer opportunity for any platform.
We look forward to seeing the apps you create!