Tier-based pricing is an effective strategy to monetize APIs based upon form and function. Let’s look at two methods for deploying tiered pricing.
What is Apigee?
Apigee is an API management platform that has been part of the Google ecosystem since it was acquired in 2016. It offers a range of tools for the creation, deployment, and managing of APIs, including tools focused on API proxies, traffic segmentation, governance, security, and monetization. Apigee can often be quite a complex system to utilize and deploy, but it is nonetheless quite powerful and feature-rich.
What is Moesif?
Moesif is an advanced API monitoring and insights solution. It provides real-time analytics and insights, and helps businesses unlock monetization at scale, identity and resolve issues across APIs, and improve ongoing operations. Moesif offers extensive support for a variety of monetization strategies, allowing businesses to develop their own business logic and approach to revenue generation. The product is known for being very user-friendly and simple to use, even with complex monetization strategies.
What is Tier-Based Pricing
Tier-based pricing is a pricing strategy that allows businesses to set tiers of available resources, and then to charge based on the use of those tiers. For example, a product may offer multiple tier price points with different features associated. A “free” tier that provides base level functionality such as API logging in JSON, but support for custom data models or transformation may be locked behind a different tier, one that has more premium benefits with a higher price.
Tier pricing allows businesses to provide ample systems for low or no cost to their customer base, which keeping more resource-intensive functions or specific business value behind a revenue generating tier barrier. By having different price point offerings, a tiered pricing structure can capture a larger audience than a traditional flat rate pricing model or subscription pricing strategy. A tiered pricing method can deliver unprecedented value at scale, especially when trying to balance costs with availability and extensibility.
Tier-Based Pricing in Apigee
In Apigee, each collection of APIs that is monetized as a whole is considered a single monetized container, and this container is referred to as an “API Product Bundle”. In essence, if you move behind an API Gateway and into a collection of microservices, you can start to see those services bundled into specific types – on the Apigee side, you can bundle these projects into groupings. For example, all of your User APIs could be bundled into a single collection, all of the Transformation APIs could similarly have their own bundle, and so forth.
Navigate to the Bundles Page
Assuming you have your APIs segmented into these groupings, you can enable Tier-Based pricing by utilizing the Product Bundles page. Navigate to the API Product Bundles page, and select “Publisj > Monetization > Product Bundles” in the left-hand navigation pane.
Create Your Bundle
From here, click “+ API Product Bundle”. At this point, you will be asked to provide the name of the API product in the Add a Product field. You will want to select one of the API Products that you have internally added to Apigee. Click your product – if you have multiple API products that represent a collection, e.g. multiple microservices that, when bundled together, represent the “User” or “Product” segment of your offering, then you will want to select additional products at this time.
Once you have selected your products, you will have to configure the transaction recording policy. This policy allows you to configure the various attributes for each product – while the Apigee documentation goes into this in greater detail, for now, you’ll just want to set the following fields:
- ‘’’Transaction Success Criteria’’’ – the specific criteria that marks an event as monetizable.
- ‘’’Status’’’ – the value that is used by the Transaction Success Criteria field.
- ‘’’Use Optional Attributes’’’ – a toggle and optional field that allows you to set custom values in the monetization flow, such as reporting an Error Code or setting a Currency type.
From here, select “Save Product Bundle” to enable.
Tier-Based Pricing in Moesif
Moesif makes it much easier to get started with a tiered pricing structure - just one of the many value-based pricing options available to deploy. Part of the reason the Apigee approach is so complex is that it bundles things together, which can make the approach quite unwieldy. Moesif, on the other hand, breaks things into a much cleaner set of operations. We’re going to use Stripe for this tiered pricing example.
Define the Tiers in Stripe
To get started, you must first define your tiers and tiered pricing rules. In your Stripe dashboard, navigate to your Product Catalog, and select “Add product”. From here, scroll down, and under Price information, set the pricing model to “Standard pricing”. Set your price for the tier you are creating, and set it to “Recurring”.
Next, check the “Usage is metered” checkbox, and set the “Charge” value to “Sum of usage values during period”. Under “Additional options”, give the price a name – it’s best practice to match this to the tier name, so if you’re making a “Pro” tier, call it Pro!
Now you can start adding other tiers. Repeat these steps to add them all in, and then click “Save product” in the upper right-hand corner.
Create the Billing Meter in Moesif
Next, we will want to create a Billing Meter to track each tier. Log in to Moesif, and select “Billing Meters”. Here, click “Add Billing Meter”, and give the Billeting Meter a name for the tier you are creating. Under “Link to > Billing Provider”, select “Stripe”, then click the Product and Price connected to your tier.
Next, create a “Filter” to set up an event trigger that will detect when a tier is utilized. Finally, create a “Metric” as “Event Count” to count each utilization and bill it as a single instance. Repeat these steps for each tier.
In theory, you’re done – that being said, you should also set up governance rules to ensure that your tiers are not broken out of. By enforcing usage based pricing with your subscription pricing model, you can stop overuse of your API product and create up sell opportunities to your existing customers, giving them reason to convert to higher price tiers. To do this, you will first need to create a group of customer users that fall into a specific tier so that Moesif knows what to measure.
To do this, head to the “Quotas & Governance” screen, and click “Add New”. Select “Start”. Now, click “Create New Company Cohort”, and enter the filter value under “Companies Where”. Set the Who Performed > Event Where parameters to match the filter in the Billing Meter, and set the Period to “Current Monthly Billing Period”. Click “Create Cohort”.
Now that you have your cohort, you’ll need to make a Governance Rule to use it. Add a name for the Governance Rule in the name field, and Override Response Status and Override Response Body to what you want the user to see when they go beyond their tier. Once you have set this, click “Create/Save Cohort”. Set the rule to “ON”, and you’re good to go!
The big gain in Moesif is in the way it handles the different pricing tiers and different levels of usage. With Apigee, you need to adopt a design-centric way of handling this tier – and in a lot of situations, that may result in a sprawl of microservices that requires more gateway implementations and complications in logging and monitoring. Moesif allows you instead to filter by specific functions and oversee the process that way, which is more in line with smaller or less complex API environments for a more targeted tiered pricing strategy. This also gives you an easier method to deploy your tiered pricing model rapidly without having to change the underlying API structures to get simple tier based pricing in the wild.