Challenge
Our client has hundreds of active membership subscriptions in Stripe. These subscriptions are created using Gravity Forms when a new member joins on their WordPress website.
Changing the pricing on the membership joining form will only affect new subscriptions. Existing Stripe subscriptions will continue to by billed using their original products and pricing.
Stripe does not provide a tool for updating subscriptions in bulk, other than connecting via the API.
Individual subscriptions can be edited via the Stripe dashboard. Before we developed our bulk price change process the team were having to apply any changes manually, consuming hours of time every month.
Implementation
We created a bulk update process for Stripe subscriptions.
It isn’t enough to simply write the process and run it blind. We need clear visibility of the existing data and proposed changes, followed by validation the changes have been applied correctly.
Our batch update process for Stripe subscriptions first reads the relevant data from Stripe and populates it into a Google Sheet. These data are:
- Products
- Prices
- Subscriptions
This revealed a number of duplicate products and prices. We used this as an opportunity to clean up the data and consolidate into a single set of products and prices for each of the membership plans.
Our Stripe subscription price change process comprises of several steps:
- Verify if the price change should apply. We do not want to update subscriptions when the next payment should be captured at the existing price level.
- Identify the new price from the data on the subscription.
- Update the subscription to remove the old price and replace it with the new price.
- Log these changes to the Google Sheet.
Results
Our client now has a robust process to quickly and reliably update their Stripe subscriptions on demand.
This has removed a huge administrative burden, allowing them to implement annual price rises with ease. This ensures revenues are not eroded by inflation.