Excel is a powerful tool that has been widely used in the business world for decades. While it is commonly associated with financial analysis and data management, entrepreneurs often use Excel to build applications that are viable and specifically tailored to a niche audience. Selling an Excel file to customers can be a viable business model for many entrepreneurs, but it can also present a number of issues including intellectual property concerns, compatibility issues, limited functionality, and lack of version control.
Hence, many entrepreneurs convert their Excel files into web applications using SpreadsheetWeb. But automating the subscription and payment process can be challenging. In this article, we will provide a step-by-step guide to implement a subscription-based model for your SpreadsheetWeb application.
Choosing the Best Subscription Model and Options for Your Business
Deciding on subscription plans for your product can be a challenging but crucial aspect of building a successful subscription-based business. The first step is to evaluate your service and determine what features or value propositions are most valuable to your customers. Consider the price point that your target audience is willing to pay, as well as the frequency at which they will use your service.
Next, determine the pricing structure for your subscription plans. You may want to offer a free trial period or a low-cost entry-level plan to entice customers to sign up. From there, you can offer tiered pricing with additional features or services as customers upgrade to higher subscription tiers.
It's also important to consider how frequently customers will be billed and how they will be able to cancel or modify their subscription. Additionally, you may want to offer special promotions or discounts for customers who commit to longer subscription periods.
Building the Subscription Workflow
The workflow of implementing the subscription model for your product will require integration between SpreadsheetWeb, Stripe, and Zapier. We assume that you have already converted your Excel model into a web application running on SpreadsheetWeb.
While there are many other options available in the market, we used Stripe for payment processing in this article. Stripe is incredibly user-friendly and easy to set up, making it a great option for businesses that want to start accepting payments quickly. Additionally, Stripe offers a high level of security and fraud protection, which can give customers peace of mind when making payments online. Stripe also offers a wide range of payment options, including credit and debit cards, Apple Pay, and Google Pay, which can make it easier for customers to pay for your product.
Subscriber management is a critical component of any subscription model. It involves several key activities, such as adding new subscribers, handling cancellations or upgrades, and tracking customer engagement and usage. SpreadsheetWeb’s user management module is used for managing subscribers.
Zapier is a platform that allows businesses to automate workflows between different services, streamlining processes and saving time and resources. By creating "Zaps," businesses can transfer data between services automatically. Zapier also offers advanced features such as filters, delays, and multi-step Zaps, allowing businesses to create complex workflows that match their specific needs. These advanced features along with integrations with SpreadsheetWeb and Stripe makes Zapier an ideal choice for building the workflow of the entire subscription-based model.
Setting up Subscriptions on Stripe
Setting up subscriptions on Stripe is a relatively straightforward process. First, you will need to create a Stripe account if you haven't already. Once you're logged in, you can navigate to the "Products" section of the Stripe dashboard. From there, you can create a new product plan and set the pricing and billing intervals. Be sure to choose the "Recurring" option in the pricing details.
You can create multiple pricing options for the same product. This is especially useful if you have different pricing for monthly and annual payments.
Next, click on the "Create a Payment Link" button. Stripe will generate unique payment links for each product and pricing options.
It is also important to create a customer portal link and share it on your site or send it directly to your customers. Customers will be able to cancel or change their subscription as the implementation outlined in this article does not cover cancellation or subscription changes.
Subscriber Registration Templates
User identity templates were generated for each subscription type, including a trial period, to map each subscriber to a specific product in SpreadsheetWeb's user database. The IDs from the identity templates are required to invite and update user actions through Zapier workflows. Once the identity template IDs are generated, they should be added to the corresponding product on Stripe as metadata.
A registration application was developed on SpreadsheetWeb to collect user information such as email and subscription details. This application also initiates an email event that sends the subscriber's email address payment link from Stripe and the selected subscription's template ID.
Implementing Workflows using Zapier
Managing the entire subscription process requires implementing multiple workflows in Zapier. For instance, a workflow can be set up to automatically send a welcome email to new subscribers when they sign up for a paid subscription. Additionally, workflows can be set up to handle failed payments, sending notifications to subscribers when their payment fails and giving them an opportunity to update their payment information.
Trial User Creation
The trial period is a crucial aspect of subscription-based businesses. It allows potential customers to try out the service before committing to a paid subscription, which can attract new customers who may be hesitant to subscribe otherwise. During the trial period, you can showcase the value of your product by providing access to certain features and functionalities. By providing a positive trial experience, you can reduce churn and increase the likelihood that trial users will continue using the service after the trial period ends.
When a new user is registered through the registration application, the workflow is triggered. A Zapier filter is incorporated to ascertain whether the registration is for a trial or paid subscription. If it is a trial, the "Invite User" action in SpreadsheetWeb Hub sends an email inviting the trial user to create a new account on SpreadsheetWeb. This allows the trial user to register for an account on the platform.
Trial User Check
Handling trial users is an essential part of managing a subscription-based business. The process involves providing a limited trial period during which users can try out the service for free. As the trial period approaches expiration, you should take steps to encourage trial users to upgrade to a paid subscription, such as sending reminder emails that highlight the benefits of the paid subscription or offering discounts or promotions to incentivize users to upgrade. When the trial period expires, trial users lapse. If a trial user lapses, you may choose to send follow-up emails or other communication to encourage the user to sign up for a paid subscription.
The workflow for managing trial accounts begins with periodic checks to ensure they don't exceed their trial period. The workflow loops through all trial users and verifies the creation dates for their accounts. A Zapier formatter calculates the difference between the current date and the trial creation date. A Zapier filter is then incorporated to pass the IDs of those trial accounts that have exceeded the trial period. The workflow then removes those accounts using a "Remove User" event in SpreadsheetWeb Hub. Additionally, an email is sent to the subscribers to notify them that their subscription has expired and their account has been removed.
The subscription payment workflow begins with a "New Subscription" event in Stripe. This can be initiated either by a user selecting a paid subscription from the registration form or by a trial user upgrading to a paid subscription. This creates a new subscriber in Stripe, triggering an "Invite User" event in SpreadsheetWeb. An email message is then sent to the subscriber to create a new account. It is important to note that if the user is upgrading from a trial account, no invitation emails would be needed as the user already has an account in the system.
Updating subscriptions is an important aspect of managing a subscription-based business. Stripe's customer portal provides subscribers with a self-service interface for updating their subscriptions. This allows subscribers to make changes to their subscription, such as upgrading or downgrading their subscription plan or changing their payment method.
The workflow is initiated by an "updated subscription in Stripe" event. The corresponding subscriber is identified on SpreadsheetWeb Hub using the "Find User" event. The user's subscription template is then updated by passing the template ID from the previous step using the "Update User Template" event. Additionally, an email notification can be incorporated into the workflow to notify the user that their subscription has been successfully updated.
Check for Failed Payments
A subscription payment can fail in Stripe for a variety of reasons. The most common reason is an insufficient balance in the customer's payment method. Other reasons could be an expired or cancelled payment method, incorrect payment details, fraud detection, or technical issues.
If a customer's payment fails, there are several steps you can take to help the customer complete the payment and ensure a positive customer experience. One of the first steps is to reach out to the customer to let them know that their payment has failed and offer assistance in resolving the issue. Stripe typically sends an email notification to the business and the customer indicating the reason for the failure. But, you may want to add an Email notification step in your Zapier workflow to send a more personalized email message. Make sure to provide clear and detailed information about why the payment has failed. This could involve explaining that the payment method associated with the subscription is expired or that there were insufficient funds to cover the payment. If the customer needs to update their payment information or take other steps to complete the payment, provide clear and detailed instructions on how to do so. This could involve providing a link to a payment portal or providing step-by-step instructions for updating payment details.
Depending on the specific circumstances, you may want to offer customers a grace period to resolve the issue, such as a few days or a week. During this time, you can provide clear instructions on how to fix the issue and offer assistance as needed. This grace period can be handled by adding a Delay in your Zapier workflow.
If the payment fails at the end of the delay period, the remaining workflow triggers and removes the user from SpreadsheetWeb's user database. It is important to note that this workflow does not include optional steps such as sending an email or adding a delay to provide a grace period.
Stripe provides several options for canceling subscriptions, depending on the specific circumstances and the preferences of the business. One option is to cancel the subscription manually through the Stripe dashboard. Another option is to allow customers to cancel their own subscriptions through a self-service portal.
The account cancellation workflow is initiated by a cancellation event on Stripe, which then removes the user from the SpreadsheetWeb database based on their email address. An email notification can also be included in the workflow to inform the user that their subscription has been successfully cancelled.