How to Price Your AppExchange App

In my previous post, we explored communicating to customers the value they should expect to receive from your AppExchange app. This value represents their side of the “value contract.” The idea of the value contract is simple: you provide the customer something of value, and in return, they provide value back to you (typically in the form of monetary compensation or some other means). Most often your price represents to the customer the value you are expecting to provide.

Let’s take a look a closer look at how to approach pricing your AppExchange app.

Getting Started

To start, it is important to understand that pricing your app is more art than science. The goal early on is to get in the ballpark of your optimal price. Pricing is not a set it and forget it activity but an iterative process that extends through the life of your app.

There are many great resources related to pricing a SAAS app and I will provide a list at the end of this post. I will focus on 3 steps that are specific to pricing an AppExchange app that will help you get started on your journey:

  1. Evaluate your AppExchange pricing model options
  2. Understand your customers category and pricing expectations
  3. Consider your app’s price in relations to Salesforce pricing

Let’s take a closer look at each.

Evaluate your AppExchange pricing model options

For the purposes of this article I will focus on pricing a traditional ISVforce app that is not using Checkout. Part of pricing your app is understanding the pricing model options available to you on your AppExchange listing.

Example AppExchange Listing Pricing Options

The first thing you need to consider is the unit by which you will price your app. The AppExchange provides you the following options:

  1. User — This is the most popular unit and the one Salesforce uses most often for pricing their own products. It can be an ideal choice because customers understand it since they have likely purchased products from Salesforce before. It works best when each user in a Salesforce org will get distinct value from your app. An example would be the ability for a user to generate a document from a template.
  2. Company — This unit is used most often when the value your app provides is at an org-wide basis versus a per user. An example would be a service that automates the deduping of data across a customer’s Salesforce org.
  3. Custom — This unit is the least used because unlike the other two options mentioned above there is no simple way to manage your app’s IP related to it. The Salesforce’s License Management App supports managing licenses on a per user or org-wide basis only. If you decide to use a custom pricing unit your developers will have to build a way to manage the IP related to your app on their own. This could take development resources away from building valuable features into your app.

In addition to determining your Pricing Units, you are also able to define customer billing frequency. Although you will see the options below, you should only select “Monthly” or “Yearly” if you have an ISVforce contract. These are the only options you are able to contract under.

  • Monthly
  • Yearly
  • One-Time*

*Even though “One-Time” shows up as an option it is only intended for use when selling individual Lighting components under the Salesforce Checkout agreement.

Pro Tip: Per the Salesforce ISVforce agreement you must pay Salesforce monthly for any licenses you sell. However, you can sell licenses to customers on a yearly billing cycle. Strengthen your cash flow position by requiring customers to pay via an annual billing cycle whenever you can and have that money upfront even though you will pay Salesforce their PNR over the following 12 months.

Finally, the AppExchange currently supports listing your price to customers in the following currencies:

  • USD
  • CAD
  • EUR
  • GBP
  • JPY
  • AUD

However, the Salesforce ISVforce agreement only allows you to pay Salesforce for the licenses you sell in the following currencies

  • USD
  • GBP
  • EUR
  • AUD
  • JPY

Bottom line, of the 6 currencies you can take payment from customers in, you can pay Salesforce in all of them but CAD.

Here is an example of how you calculate PNR from a foreign currency:

  • €5,000 Monthly subscriptions for Partner Application (before Sales Tax) + Withholding Tax, if applicable
  • €5,000 x applicable conversion rate**$6,530.64 = Converted to USD
  • $979.60 = 15% PNR Owed by Partner to SFDC for monthly subscription ($6,530.64 X 15% PNR)

Understand your customer’s category and pricing expectations

Whether you want them to or not, your customers will mentally place your app into a category. They will say to themselves, “this seems like these other apps I have looked at,” and begin comparing your features and price to theirs. Understanding your customer’s expectations around what category your app falls into and what your price should be is critical to getting your pricing right.

A shortcut to understanding the category your customers see your app in is to find out what other apps they used or considered. Here are 2 questions you can use to accomplish this:

  • How did you address this problem prior to our app?
  • What alternatives did you consider prior to discovering our app?

Pro Tip: Focus on interviewing customers that are paying for your app versus prospects or customers that are not. Paying customers tend to provide you information that will help you attract additional paying customers. Free customers will teach you how to get more free customers.

Next, find the apps your customers mentioned on the AppExchange. You can do this by searching for their listing and then looking at the links right above their app name.

Drive Connect AppExchange Listing

Then click on the last breadcrumb link and you will be taken to the category page associated to them:

AppExchange Integration Category

This will give you a good sense of what other apps your customers might consider. Now research these app’s pricing and features set in relation to your own.

A final set of questions to ask customers to narrow down your app’s price is:

  1. What would you consider to be a fair price for our app?
  2. At what price would you feel our app is too expensive?

These two questions will provide you with a range of data points to consider. In general it is always better to price your app a bit higher than feels right. You can always come down but it is hard to increase your price once you have set expectations with the market. Try to price your app somewhere in the top of the range between what customers feel is fair and too expensive.

If you are new and have less features than you might want to price your app below the competition.

Consider your app’s price in relation to Salesforce pricing

When a Salesforce customer sees your price, they will instinctively calculate the ratio of value to cost they experience with their Salesforce product versus their expectations for yours. It is critical to understand this and consider this fact when pricing your AppExchange app.

For example, our customer’s for Drive Connect tend to use Sales Cloud Enterprise Edition which is priced at $150 per user.

Salesforce Sales Cloud Pricing

When we did our category and pricing research we concluded that $16 per user would be a fair price. This ended up being roughly 10% of what our customer’s Salesforce pricing is and therefore seemed like a reasonable place to start.

Drive Connect AppExchange Listing

Given our feature set in relation to Salesforce’s, if we had priced our app at $75 per user, I would expect that most customers would have thought that 50% of Sales Cloud Enterprise Edition’s cost was unreasonable.

Conclusion

Now that you have these 3 steps to jump-start your AppExchange app pricing journey, it is time to put them into action. Remember, as you bring on paying customers, you should interview each one. As new information presents itself, do not be afraid to adjust your app’s pricing. It is a journey and you should plan to revisit pricing, at minimum, annually.

Pro Tip: When you change your pricing, let your initial cohort of customers keep their original pricing or give them a generous grace period. They took a risk being an early adopter and likely dealt with some of your app’s rough edges. It is not worth generating bad will with your strongest supporters. Make them feel special and raise prices only for new customers moving forward.

Here are some additional great resources that you will find useful:

--

--