Discover the latest updates to App Store pricing capabilities and tools. Learn how you can manage pricing for your apps and in-app purchases within App Store Connect and the App Store Connect API, how to set pricing by region, and more.
Hello, and welcome. My name is Chong. I'm an engineering manager on the App Store Connect team. Later, I will be joined by my colleague, Claire, and in this session, we are going to explore what's new in App Store pricing.
In March of this year, we released the largest set of upgrades to App Store pricing capabilities since the App Store first launched. Today, we'll walk you through the new global pricing features and demonstrate how to use them to set prices for your apps and in-app purchases in App Store Connect.
Additionally, we'll explore advanced pricing tools tailored for managing pricing by region, which can support more intricate use cases.
Let's dive into our first topic: enhanced global pricing.
At the App Store, we understand the challenges of managing pricing across 44 currencies and 175 regions, with many of these regions also incorporating local taxes.
To streamline this process, we've developed global pricing tools that simplify pricing of your apps, in-app purchases, globally.
To provide you with more pricing flexibility, we have significantly increased the number of available price points, which now totals up to 900 price point for apps, in-app purchases, and subscriptions. By default, you have access to 800 price points, and upon request, an additional 100 higher price points will be available.
These expanded price points are also available for 44 different currencies.
In addition to the expanded price points, we have also introduced a pricing tool that allows you to configure a base region for your base price from any of 175 regions, facilitating streamlined global pricing. Let me give you an example to illustrate this process more clearly.
You can start by choosing a base region for your base price. The base region can be decided by taking into account various factors, such as your target market, the location of your user base, or any business-related reasons.
In this example, I will select the United States for my base region. Next, you can choose a price from any of 900 price points to serve as the basis.
In this example, I will set $7.99 as my base price.
The App Store will then use this base price to generate equivalent prices for the remaining regions, factoring in foreign exchange rate and certain taxes.
Global equalization also follows the most common pricing convention in each region, ensuring that customers see prices that are most relevant to their local currency.
Moreover, the generated prices will be automatically adjusted to keep global prices in line with your base price as foreign exchange rate and tax fluctuate. For instance, if the UK pound and Japanese yen weaken against the US dollar and other currencies, prices in the UK and Japan would increase to maintain price equalization with the base US price.
It is important to note that the base price will not be automatically adjusted since it's set as the base for other prices.
You can also schedule a global price change in the future. In this example, I will schedule a price increase for my base price to $9.99 on January 1, 2024, and just like the initial price setup, the App Store will generate equivalent prices with a new upcoming base price in the remaining regions with the same future start date. Next up, Claire will provide a comprehensive walkthrough of how to make the most of the new global pricing features in App Store Connect, as well as the associated App Store Connect APIs. Over to you, Claire.
Thanks, Chong! My name is Claire Liu. I'm a software engineer for App Store Connect.
Over the next few minutes, I'll walk you through how to set up your global pricing in App Store Connect and with the App Store Connect APIs.
I'll use the app Backyard Birds as an example, set its price to $7.99, and schedule a global price change next year. To set up initial pricing for your apps, in the sidebar, click Pricing and Availability. Then, under the Price Schedule, click Add Pricing.
From here, select a base country or region. The App Store will use this base to provide comparable prices on the other 174 regions. You can change this base configuration later at any time. I'm going to choose the United States for this app.
After selecting a base country or region, select a price from the drop-down menu.
Initially, the list displays 25 price points that follow the most common pricing convention for each country or region.
To view more available price points, scroll to the end of the menu and click See Additional Prices.
I'm going to choose 7.99 for Backyard Birds. Next, you will see a screen with comparable prices for all the other countries or regions. By default, the App Store will automatically adjust prices for you. You don't have to make any changes if this is what you want.
Alternatively, you can choose different prices for individual countries or regions. However, if you select your own prices, you will not benefit from the automatic repricing for foreign exchange and tax rate, and you will be responsible for reflecting those changes in your prices. I'm happy with the comparable prices provided by the App Store, so I will keep the original values and go to the next step.
Finally, I will review and confirm the prices.
After confirming my initial pricing, I can see my base country or region and prices in the Price Schedule section. The label "May Adjust Automatically" indicates that the prices for listed countries or regions other than the base may be adjusted to account for changes in foreign exchange or tax rate. So you might be wondering: what happens when the prices are adjusted? Whenever an automatic adjustment happens, the upcoming changes will be displayed in App Store Connect at least 14 days in advance. For example, I can see that there's an upcoming price change on September 1 in two countries or regions. I'll click on the effective date to check what the new prices will be.
In the pop-up modal, I can see the prices in Japan and UK will increase on September 1, 2023.
Let's come back to my initial price schedule, which has no adjustments. Now, I'd like to schedule a price increase for my app, so I will click the plus button.
There are three types of price changes you can schedule: global, temporary, and custom.
I will talk about the last two options later, but in this example, I'm going to schedule the global price change for my app. Next, I will choose January 1, 2024, as the effective date. Then, I'm going to increase the base price of my app to $9.99.
Next, the App Store will provide the comparable prices on the other 174 countries or regions based on the new price.
I will review the prices in each region carefully and confirm.
After confirming, I can see that there is a price change on January 1, 2024, in the Upcoming Changes section.
That's how enhanced global pricing works in App Store Connect. Now I'm going to show you how it works with App Store Connect APIs. You can get your app's price schedule, including current prices and upcoming changes, from the AppPriceSchedules resource. AppPriceSchedule has three relationships: base territory, manual prices, and automatic prices.
Manual Prices and automatic prices contain multiple app prices.
Each AppPrice resource is linked to an AppPricePoint, which is linked to a territory. App price point and Territory are read-only reference data. So, I need to make three API calls to get the entire price schedule.
I'll go over the three APIs one by one, using the initial price schedule I just set for Backyard Birds app as an example. First, use Get/appPriceSchedules /appId/baseTerritory to get the base country or region of the app's price schedule.
I can see that it is currently the United States.
Then use Get/manualPrices. I will include the price point and territory relations to get the price point information.
In this example, it contains only one app price that I set for the United States.
Finally, I can list the automatically generated prices by calling the Get/automaticPrices API. The response will contain the automatic prices for regions you haven't manually set prices for. In my app Backyard Birds, it will return 174 prices, much more than what I can fit on the screen. Now you know how to read the full price schedule. If you'd like to make changes to your app's price schedule, you can update the baseTerritory and manualPrices relationships in the AppPriceSchedules resource.
The App Store will provide comparable automatic prices based on the base territory and manual prices. Let's take a look at the APIs you need when updating the price schedule one by one.
First, get all the price points of your selected base country or region. Choose a base price. Next, preview the comparable price points in other countries or regions. Finally, update the price schedule with all the necessary data.
I'm going to schedule a price increase for Backyard Birds. Let's take a closer look at how to use these APIs to achieve it.
First, I get all the available price points in my app of my selected base territory, US.
The price point resource includes detailed pricing information. I'll choose this $9.99 price point and keep a record of its ID.
Before setting the chosen price point in my price schedule, I'd like to know what the comparable prices will be. I will get the comparable price points of the price point I chose earlier, in the previous step, using the Get/equalizations API. I will include territory relation in the request to identify the location of the comparable price point.
For example, I can see the comparable price in Canada is $12.99.
Next, I will need to update the appPriceSchedule with the Post/appPriceSchedules API. AppPriceSchedule doesn't have any attributes, just three relationships. First, add the app ID in app relationship. Next, specify the base country or region's ID in base territory relationship. I will use USA.
Finally, I need to define the manual prices for the base country or region.
Since this is a Post API, my new schedule will overwrite my existing schedule, so I will need to include current prices and add new prices.
I'm going to define a new current price and assign it a temporary ID. newprice-0. If you're familiar with the App Store Connect APIs, you know that you can use any values you want for these temporary IDs, as long as they follow this syntax with a dollar sign and braces around the ID.
To schedule a global price change, I'll add a new app price and assign it another temporary ID, newprice-1.
Now I need to define the two new app prices. This is my app's current price that I got earlier from the Get/manualPrices API.
First, set the ID to be same as we defined in the payload in the previous step. Next, define the price point ID. I will keep the current price point. To schedule a global price change, I need to end the current price on the new price's start date: January 1, 2024.
Next, define the new price's resource with another temporary ID. I need to set the new price's start date to 2024, January 1, and assign the new price point ID to the price.
Coming back to the request entity, I'll add an "included" section. Then I take the new price resources that I just defined and insert them into this included array.
The final payload looks like this… Before sending this payload to Post/appPriceSchedules API, keep in mind that if a price's start date is null in the payload, the price will go live immediately in the associated region. So I recommend testing this API with an app that is not live in the App Store yet.
That's how you would use the new pricing tools to effortlessly set global prices and let the App Store do all the heavy lifting. If you want full control over your prices, we have more options for you. I will hand over to Chong to introduce the new features for managing pricing by region. Chong? Thanks, Claire! As you can see from Claire's walkthrough, the global pricing features provide you with an easy way to price your apps and in-app purchases globally. Up next, let's explore the new advanced pricing tools designed for managing pricing by region.
In addition to the automated global pricing, we also provide you with more control over your pricing at the regional level. The advanced pricing tool facilitate manually setting custom prices and temporary prices with any price point on a per-region basis. Let's start with temporary prices.
This is a way to manually set prices for a short period of time.
Let me demonstrate this with an example.
Here, I have set $7.99 in the US as the base price and autogenerated prices for the rest of the regions. And I plan to run a special promotion in Canada and France for a few days.
For this promotion, I will lower the price to $4.99 in Canada and €4.99 in France from February 1 to February 3, 2024. After February 3, the price will go back to the initial price, equalized to my base price. During the temporary price change period, the prices for Canada and France will not be automatically adjusted. And there's no limit to the number of regions you can manually manage. And you have the option to manually manage prices in certain regions while having the App Store automatically adjust prices in others, as demonstrated in this example.
You can also set up custom regional prices on a permanent basis. Let me show you how it works. Here, I want to set up custom prices for all the regions, using USD as a currency, to make their prices consistent. In this example, I will set custom prices to $9.99 for the United States and Argentina.
You may notice that in this example, I have set a custom price to my base region. Setting a custom price for the base region disables the automatic adjustment of the prices for all the other regions. Therefore, it is critical to ensure you understand and review your price changes before they become effective for your customers.
The custom price feature provide the ability to manually manage prices for any region on a permanent basis, but it comes with the need for extra caution.
Once a custom price is set, the App Store no longer makes automatic adjustment, meaning you will need to keep track of and modify your pricing strategies to accommodate fluctuations in exchange rates and taxes. And now, I will hand it over to Claire once again. She will provide you with step-by-step guidance and insightful tips on how to effectively utilize the advanced pricing tools in App Store Connect, as well as the related App Store Connect APIs. Over to you, Claire.
Thanks, Chong! In the next few minutes, I'm going to show you how to set up temporary prices, custom prices, and show you some API examples. Let's take a look at how to set up temporary prices first. For example, I'd like to schedule a regional spring promotion for Backyard Birds.
In the Pricing and Availability section, next to Price Schedule, I'll click the plus button.
From there, I will select the Temporary Price Change option. I'm going to schedule a temporary promotion in early spring, so I will choose February 1 to February 3 next year as my start and end date. Then, in the next step, I'm going to choose Canada and France for this promotion and then click Next. Select a country or region and a price. The App Store will use this to provide comparable prices across the selected countries or regions. I'm going to choose a lower price of €4.99 in France, since this is a promotion outside of my base region. You can review the comparable prices for each selected country or region and make any necessary changes. I'm happy with the comparable prices, so I will click Next to review and then confirm my changes.
After I confirmed my temporary price change, the manually adjusted temporary prices appeared in the Upcoming Changes section, and the prices will go back to be automatically adjusted after the promotion.
Next, let's take a look at how to set up custom prices. I already have the initial pricing schedule set up. In this example, I'd like to have full control over my app's pricing starting October, so I will click the plus button and select Custom Price Change option in the modal. Next, I'm going to choose October 1, 2023, as the effective date.
If you'd like to setup custom prices in only a few regions, select the first option, "Manually manage prices in specific countries or regions." Then, use the same steps as in the temporary price change flow. Make your price selections. However, I would like to manually manage price in all 175 countries or regions, so I will choose the second option. In the next step, I will select a price for my base country or region. This price must be selected for you to manually manage prices in all 175 countries or regions. You can keep the current base price as is or update it.
To have more consistent prices in USD, I'm going to increase the prices to $9.99 in countries or regions that use USD. I'm not going to change the other prices. I'll click Next and review the prices for the countries or regions that I didn't select a price for. If you select a base country or region in temporary price change flow, you will see this step too.
Next, I will review and confirm my custom prices in all countries or regions.
After confirming the changes, now I can see the Manually Adjusted custom prices in the Upcoming Changes section.
App Store Connect provides a guided experience for you to manually manage prices by region, and you can set up manual prices in each region with APIs too. It is important to remember that temporary prices and custom prices are manual prices. I will show you an example of scheduling a spring promotion in Canada with the API.
To schedule a temporary manual price, I will use the Post/appPriceSchedules API to overwrite my current price schedule.
Replace the manual prices with the base price and the new temporary price in Canada.
Before I define a temporary price in Canada, I need to define the current base price in USA. I will not change this price.
To define a temporary price in Canada, I will link it to a Canadian price point and set the start and end date.
Coming back to the request entity, I will include the two manual prices I defined and send the payload to the Post/appPriceSchedules endpoint. Once I configured my manual prices, the App Store will provide comparable automatic prices during the times I haven't manually set a price for each country or region other than the base. In this example, there will be two automatic prices in Canada, before and after the promotion, and one automatic price per region in the rest of 173 countries or regions.
That's how to manage manual prices by region in App Store Connect! With the new pricing capabilities, managing pricing for your products in the App Store will be much easier. Over to you, Chong! Thanks, Claire! And that's it for the advanced pricing tools for managing pricing by region.
The App Store's new pricing capabilities provides you with remarkable flexibility and control. This enables you to create tailored pricing strategies that meet the needs of your users and offer an even better experience to the users around the globe.
As our wrap-up, I'd like to share some useful pricing tips. First, we've expanded the number of price points available, offering you more regional pricing options and flexibility. I encourage you to explore these new price point to find the best pricing option for your business.
However, I also highly advise carefully reviewing all the price changes, including autogenerated prices, before they become effective for your customers.
Additionally, for all the apps and in-app purchases created before March 9 of this year, the United States is set as default base region.
I recommend reviewing your base region settings for your apps and in-app purchases in App Store Connect and configuring them as needed.
However, keep in mind that changing the base region will reset the existing price schedules.
Therefore, it is crucial to carefully review the changes to ensure all the pricing configurations are set as expected.
Finally, with the recent 2.3 release of the App Store Connect APIs, we have introduced a new set of pricing APIs. To accommodate the new pricing capabilities in the App Store Connect APIs, we needed to phase out some older APIs related to app pricing. Although you can continue using the deprecated APIs, we intend to retire them later this year.
As a result, I strongly recommend transitioning to the new APIs to take full advantage of the advanced pricing capabilities and expanded price points.
We are thrilled about these new pricing capabilities, and we look forward to seeing how you take advantage of them. Thanks for watching.
Looking for something specific? Enter a topic above and jump straight to the good stuff.
An error occurred when submitting your query. Please check your Internet connection and try again.