Collapse Menu
Documentation
FastSpring App
Contact Support

Free Trial Periods

Overview

How to set up, limit, and customize Free Trial Periods for Subscriptions

Table of Contents:

You can add a free trial period to a subscription, during which FastSpring does not charge the customer for the service. The subscription’s first billing will take place the day after you configure the free trial to expire. 

If you configure a subscription with free trial days to have a fixed number of rebills, the initial transaction does not count as one of those rebills. The charge following the trial period will be the first rebill.

Add a Free Trial to your Subscription

  1. In the FastSpring App, navigate to Products > Subscriptions. Select the subscription to which you would like to add a free trial period. The Details page appears. 
  2. In the Pricing section, click Edit, the Edit Subscription Pricing popup appears. 
  3. In the Subscription Type section of the popup, enter the number of days you want the free trial to last in the Free Trial Days field. 
  4. Click Save at the bottom of the dialog. To configure other parts of the subscription, see Create and Edit a Subscription

Customer Experience

Web Storefront

On the checkout page, subscriptions with free trial periods appear with the price of 0. However, customers must input their payment information on Automatic-Renewal Subscriptions in order for FastSpring to be able to bill them at the end of the trial period. Customers can click Subscription Terms under the price to expand details regarding the billing schedule. 
If there are no other items in the order, the button in the payment information dialog is labeled Save Payment Details instead of Pay $_

The order completion page displays a summary of the free transaction, and future charges. The customer can click on the Subscription Terms link to see more details regarding upcoming billing cycles. 

Popup Storefront

When the customer places an order for a subscription with a free trial period, they are notified in the popup that they will not be charged that day. After the consumer fills out the information for future charges, the popup window reads “You have not been charged today”. The Storefront saves the payment information for future charges. 

Manual Renewal Subscriptions

If you allow customers to create a Manual Renewal Subscription, no payment details are required. Customers who do this are not prompted to enter any payment details in your Storefront. For FastSpring to be able to charge them for future subscriptions, they must provide payment details in the Account Management page before the end of the free trial period.
 

Trial Reminders

FastSpring automatically emails a trial reminder to the customer before charges occur. However, you can edit the timing, content, and type of reminder that is sent to your customers in the Subscription Notifications and Cancellation section of the subscription details page. To customize trial reminders, see Email Notifications and Customer Notifications for additional information. 

Incorporating Product Discounts

If you configure a product discount on a subscription with a free trial, the discount does not apply until the first billing after the free transaction. In the example below, the 25% discount applies the day after the free trial ends. The following billing on April 16, 2020 is full price.

Product Discount Instead of Free Trial

To create a free trial period without using the Free Trial Days field, you can also apply a discount. In this case, if the subscription charge has a monthly charge interval, the first month is free. If the subscription’s charge interval is annual, the first year is free.

  1. Navigate to the Discount section of the Details page, and click Edit
  2. Select Use Volume Duration and place a 100% discount in the corresponding field. 
  3. Type 1 under Discount Duration to implement one trial period as the duration for the first billing period. If you type 2, the first two billing periods will be free.


The subscription's first billing date will be excluded from the order. If you configure your subscription to rebill for a fixed number of periods, the number of actual payments will be reduced by one. For example, if your subscription is configured to rebill for 12 periods, including the initial transaction, the first transaction will be free, followed by 11 billings.

When you use a product discount to make the initial subscription billing period free, you can optionally enter an explanation for the discount in the discount's Reason field. If a visitor to your Web Storefront clicks the Subscription terms link, this text appears as in the example below.

Repeated Free Trial Sign-Ups

If you detect that a customer has repeatedly signed up for the same free trial, you can potentially determine who the customer is and cancel their subsequent subscriptions. However, this requires technical skills and utilizing Webhooks and the API

If you subscribe to the subscription.activated webhook event, FastSpring notifies you when a new subscription is activated. This payload includes the customer’s Account ID. FastSpring automatically creates a new customer account when an order is placed from an email that is unaffiliated with the previous store orders. If the consumer inputs a known email address, FastSpring automatically associates the new order with the same Account ID. 

You can use the consumer account ID from subscription.activated to check for previous orders of the same free trial subscription product (by product ID).There are 2 ways to do this, depending on whether or not you automatically populate your own External Database from all Webhook data.

Option 1: Check Your External Database

If your Webhook script populates an external database each time new Webhook events come in, you can design to detect duplicate trial orders. Then, the script will react to subscription.activated events for a given free trial product by checking your database for previous orders of the same product bearing the same consumer account ID.

Option 2: Check Previous Orders with the API

Look up accounts by the parameters of it. 

  1. Design your Webhook script to react to subscription.activated events for a given free trial product by triggering a GET request to the /accounts endpoint of the FastSpring API. The response will include a list of all orders associated with the consumer account. For example, if the account ID is ABCDEF123456: 
    GET https://api.fastspring.com/accounts/ABCDEF123456
  2. Call GET /orders with all order IDs returned in response to GET /accounts, to find the products that the customer has previously ordered. For example, if GET /accounts returns the following three IDs in the orders array of the response:
    NTjP8IMnQya1X9jxhXFiXQ
    eShDqjTVS4SmroSANRnL8g
    sE2PBBihSUKNX_vUxBfHww
    GET https://api.fastspring.com/orders/NTjP8IMnQya1X9jxhXFiXQ,eShDqjTVS4SmroSANRnL8g,sE2PBBihSUKNX_vUxBfHww
  3. Parse the response to this GET /orders request, looking for previous orders with the same free trial subscription's product ID in the product field of each order's items array.

If a previous free trial subscription is found for the same customer, you can design your script to automatically trigger a Delete call to the /subscriptions endpoint of the FastSpring API. Your Delete request would include the new subscription's ID and the parameter &billingPeriod=0. The new free trial subscription would thus be deactivated immediately. For example, if the new subscription's ID is OU8128675309:

DELETE https://api.fastspring.com/subscriptions/OU8128675309?billingPeriod=0

By default, FastSpring sends a subscription deactivated email message to the customer upon deactivation of the subscription. However, you might also want your script to trigger a separate email message from your side, letting the customer know why you have canceled the subscription.