If you are working with Universal analytics we recommend you to follow the detailed migration instructions from Google. For changes in our platform, follow the instructions below. Depending on whether you use a Google Tag Manager based installation or Google Analytics directly, the instructions vary.


Google Tag Manager Integrations

In the case of integrations with Google Tag manager you don’t have to change anything in the FastSpring App, the same ID is kept. In this case you must change the internal tag configuration inside the tag manager to start using GA4, also you must change the cross site domain tracking configuration for popup front store.

Replacing universal analytics tags

Without deleting the previous universal analytics configuration, follow the instructions to configure GA4 within GTM

Modify the code for cross site tracking

If you are using a popup storefront in your website, eliminate the previous version of the decoreCallback function and all the references to the ga function, the new version of GA4 uses the new gtag name for pushing events and pageviews to google analytics. For more information about the ga and the gtag javascript function, click here. The new version of the decorateCallback function must no longer use references to the ga function. 

The new decorateCallback function must looks like this:

function decorateURL(url) {
      var _pl = '&clientId=' + window.clsid.client_id + '&sessionId=' + window.clsid.session_id;
      return url + '?' + _pl;

If you are using a web storefront you should be sure that the domains are linked in the google analytics platform. Follow the next steps:

  1. Open your Google Analytics account. Go to the Admin menu.
  2. Choose the GA4 property that you want to modify. Then select Data Streams.
  3. Choose the data stream to modify.
  4. Under the Google tag section, select Configure tag settings.
  5. Under the Settings section choose Configure your domains.
  6. In the form add a new row with the following data (as the following image):
    a. Match type: Contains
    b. Domain: onfastspring.com

7. Repeat the previous steps to also include the domains paypal.com and sofort.com


Once you are sure that you are collecting all the events in your GA4 platform, you can proceed to delete the old universal analytics tags.

Troubleshooting: If you are not sure if you are collecting all the events, we recommend that you follow the steps to configure GA4 within GTM

Google Analytics Integrations

To perform the google analytics migration on your website:

Code changes for cross site tracking

When using Store Builder Library, Popup Storefront or Embedded Storefront, include the following attribute in the script that loads the FastSpring library: data-decorate-callback=”decorateURL”

Example of loading the FastSpring library with the data-decorate attribute included:

<script id="fsc-api"
type="text/javascript"	data-storefront="yourexamplestore.onfastspring.com/popup-yourexamplestore"

Copy and paste the following code into your page, replace the <MEASUREMENT_ID> with your own:

function decorateURL(url) {
      window.clsid = {
         client_id: '',
         session_id: ''
      gtag('get', '<MEASUREMENT_ID>', 'client_id', function(r) {
         window.clsid.client_id = r
      gtag('get', '<MEASUREMENT_ID>', 'session_id', function(r) {
         window.clsid.session_id = r
      var _pl = '&clientId=' + window.clsid.client_id + '&sessionId=' + window.clsid.session_id;
      return url + '?' + _pl;

Platform Changes

For all Storefronts:

  1. In the FastSpring App, navigate to Integrations > Extensions > Google Analytics.
  2. Click Setup.
  3. Replace your Google Analytics Measurement ID in the Google Analytics Property ID field and click Enable.

For Individual Storefronts:

Only configure custom Google Analytics integration for individual Storefronts if you need to use different IDs for different Storefronts. Otherwise, configure Google Analytics integration for all Storefronts following the steps above.

  1. In the FastSpring App, navigate to the Storefront you want to modify and click Settings.
  2. Within the Storefront Settings, click Analytics Integration in the left menu.
  3. In the Google Analytics Integration Behavior drop-down, select Use custom Google Analytics property ID for this storefront.

Replace your Google Analytics Measurement ID in the Google Analytics > Custom Google Analytics property ID for this storefront field and click Save at the top right-hand corner of the page.

Migration Setup Table

Use the table below to identify possible steps in your migration setup. According to your storefront selection and your kind of integration there are different steps to complete the migration process. Columns refer to using Google tag manager or Google Analytics with the previous version.


This article only applies to FastSpring’s Classic Platform


The current version of Google analytics is GA4. Google Analytics 4 introduces a set of features that change the way data is collected and organized in your Google Analytics account, so you can get a better understanding of how users interact with your online content. This article will assist you with the integration of Google Universal Analytics 4 with FastSpring (Classic Platform only). For more information about the migration from previous versions please refer to the Google documentation.

Configure your domains in Google Analytics

Enable the cross-domain measurement and further define which links on your site do not trigger Outbound Click events when using enhanced measurement.

  1. Open your Google Analytics account. Go to the Admin menu.
  2. Choose the GA4 property that you want to modify. Then select Data Streams.
  3. Choose the data stream to modify.
  4. Under the Google tag section, select Configure tag settings.
  5. Under the Settings section choose Configure your domains.
  6. In the form add a new row with the following data (as the following image):

FastSpring Setup

  1. Go to SpringBoard’s Store Home > External Tracking.
  2. Click Add Tracking Method

FastSpring offers four tracking types:

  1. Select Custom Tracking Method and click Next.
  2. Enter in a Name that will be used for management purposes only, we recommend “GA4”.
  3. Determine if you want the tracking code to Apply to All Pages (recommended) by selecting the checkbox or only apply to the final order completion page by leaving it unchecked.
  1. Add the following code as it appears below, to the </body> (before) section, and remember to replace it with your MEASUREMENT_ID or you can set up your id using custom parameters. If you need to send more information you can review the Full #{order} Documentation.
<script src="https://www.googletagmanager.com/gtag/js?id=MEASUREMENT_ID"> </script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'MEASUREMENT_ID', {'cookie_flags':'SameSite=None;Secure'});

<if test="#{complete}">

var items = [];
<repeat value="#{order.allItems}" var="orderItem">
  'item_name': '#{orderItem.productDisplay}',
  'item_id': '#{orderItem.productName}',
  'price': '#{orderItem.priceTotal.textValue}',
  'quantity': '#{orderItem.quantity}',
  'affiliation': '#{order.siteName}'

gtag("event", "purchase", {
        'transaction_id': "#{order.id}",
        'value': '#{order.subTotal.textValue}',
        'currency': '#{order.currency}',
        'items': items
  1. Click Next.
  2. Move the tracking method to Active Status
  3. Deactivate your old Google Analytics and other external tracking methods.

Subscription Preview API

The Subscription Preview API:

Example Usage: Upgrade from Basic to Premium with a support add-on

Proration Eligibility

If a proposed plan change is ineligible for proration, the endpoint will return one of the following reasons as follows:

1. INACTIVEThe subscription is inactive
2. SCHEDULED PAUSEThe subscription is scheduled to be paused
3. PAUSEThe subscription is currently paused
4. NO_MASTER_PAYMENT_METHODThe subscription doesn’t have a payment method on file
5. INELIGIBLE_PAYMENT_METHODThe payment method associated with the subscription can’t be used for proration
6. TRIALSubscriptions in the trial period are not eligible for proration
7. ON_DEMANDManaged subscriptions are not eligible for proration
8. PENDING_REBILLThe subscription is either currently on, or has passed the re-bill and can’t be prorated
9. NO_PAYMENT_EXISTSThe subscription can’t be prorated since there are no successful payments posted to it
10. NO_LONGER_REFUNDABLEThe subscription can’t be prorated as the payment is no longer refundable

Table of Contents

Here’s what you need to know

Frequently Asked Questions

What is a 1099-K?

Why do I need a 1099-K?

What are the IRS requirements for Form 1099-K?

What about state level reporting requirements for Form 1099-K?

What does Form 1099-K include?

How to confirm 1099-K Gross amount from box 1a vs storefront Reports?

How is Form 1099-K different from other 1099’s?

Will I have to pay taxes if I receive a 1099-K?

What if I have multiple storefronts?

What if I have a split payee or receive payments as a split payee?

I didn’t receive a 1099-K form for 2021, why am I receiving one for 2022?

Accessing and Using your 1099-K

How do I receive my Form 1099-K?

What if my personal information or address on the form is not correct?

  1. On the dashboard page select Account Summary.
  1. Under the Tax Information section select Manage Tax Information.
  1. Select update and complete the online questionnaire to update your tax information.
  1. Once updated, reach out to support@fastspring.com to request form reissuance.

Will I receive a form if I’m not a US citizen or resident?

What should I do with Form 1099-K?

I lost my original form 1099-K, where can I find a copy?

Why is the form from FS Intermediate Holdings, Inc. and not FastSpring?

FastSpring does not provide legal, tax, or accounting advice. This material is being provided for informational purposes only and is not intended as, and should not be relied upon for, legal, tax, accounting, or other professional advice. Please consult your own legal, tax, and accounting advisors for advice specific to your situation.

This handbook outlines the FastSpring Support Policy and is a guide to using FastSpring Support. We reserve the right to change these policies to stay aligned with our goal of offering an outstanding support experience.

Table of Contents

Contacting FastSpring Support

For your convenience we provide the ability to open support cases directly through our portal: 

Portal Community https://community.fastspring.com/

Alternatively, you can open a support case via email:  support@fastspring.com

It is important that you contact us through these channels so that we can ensure you receive timely and effective assistance.

Standard Operating Hours

FastSpring Office Hours are Monday through Friday: 9:00AM – 5:00 PM Pacific Time.  

Customer Support is available 24/7. 

Standard Support and Maintenance

FastSpring shall provide the following support services as appropriate to address your issues:

Opening a Seller Support Case

When requesting assistance and to ensure a timely response, please provide the following upon opening a seller support case:

Once a ticket is open, please provide responses by replying to the email.

In the course of providing a resolution, we may ask to set up a mutually convenient conference call and/or a live meeting to better understand the issue or to walk you through addressing the problem.

Opening a Consumer Support Case

When requesting assistance and to ensure a timely response, please provide the following upon opening a consumer support case:

Once a ticket is open, please provide responses by replying to the email.

In the course of providing a resolution, we may ask to set up a mutually convenient conference call and/or live meeting to better understand the issue or walk you through addressing the problem.

Severity Levels and Response Time

Based on the subject and description we will determine the severity level/priority

Severity levels are determined by meeting a certain number of Qualifications

Severity Levels

Severity LevelRequired Qualifications
Severity Level 0 – HighestA highest priority issue must pose a severe and immediate threat to our seller’s ability to conduct expected normal business operations.
Must meet four qualification areas
Severity Level 1 – HighThe issue is related to a problem in a critical function area.
Must meet three qualification areas
Severity Level 2 – MediumMeet at least one qualification
– Not a complete blocker to normal customer business operations
– Have an acceptable workaround or short term solution
– Revenue impact caused by FastSpring platform
Examples: Rebill miscalculation, double billing, tax errors, order errors, payment failures
Severity Level 3 – LowA low priority is assigned to all other issues
– Not blocking any business
– Narrow use case or not affecting a lot of users
– No immediate revenue impact caused by the FastSpring platform


There are 4 Qualification areas to determine the severity level of an issue.


Issue affects a critical platform function area, listed below:

Severity TypeExamples
Transactions– Math incorrect (buyer/seller)
– Not going through
– Incomplete order(revenue implications)
– Tax/VAT issue
– Incorrect display of total transaction amount
– Store Builder Library blocking the completion of transactions
– Inability to access payment records (invoice/receipt)
Subscriptions– Rebills not going through
– Double rebills
– Double taxes
– Zero taxes assessed on applicable transactions
– Prorations
– Incorrect billing charged
– Subscription in unexpected state
– Cancellation issues
– Payment issues
WebHooks– Not firing
– Delayed
– Inconsistent
– Missing keys/values/payload
API– Timeouts
– Unexpected format changes
– Missing keys/values/payload
– Loss of functionality
Fulfillments– Not firing
– Firing incorrectly
– Not displayed in buyer facing messaging
Payouts– Seller not receiving payout
– Adjustments needed before next payout
– Payout is not the expected amount
B2B– Portal registration for high value orders to complete
Accounts– Contact rate changes
– Account ownership disputes
– Split pay setup




Response Time Targets

FastSpring Support make every attempt to meet stated targets.  There are time that Support does not have any control over dependencies and may miss the stated targets.

Service Level PrioritySeverityInitial Response TargetUpdate Period Targets
0Highest1 HourUpdates will be provided a minimum of twice a day or when there is new information
1High4 Hours1 time per business day until resolution or workaround is identified
2Medium12 HoursAt least once every 5 business days or once there is a resolution
3Low24 HoursAt least once every 20 business days or once there is a resolution

Case Status Check

The status of a case may be viewed directly through the portal or by contacting Support.

Case Status

Case StatusDescription
NewA brand new case in the queue.
OpenA case assigned to an agent but has not yet begun to work on it.
WorkingAgent will select this status as they are working on the case. Agent is troubleshooting or investigating the reported issue.
Pending InternalPending information is needed from expertise outside of the support area.
Pending ClosureThe case is perceived as completed and will auto-close within 5 days if there is no additional communication received.
On Hold– Customer requested the case to remain open
– Agent is waiting on information from an internal source
ClosedOnce resolved, the case is automatically assigned to the closed status.
NOTE: Once a case is closed it cannot be reopened.

Support Case Priorities

Cases are prioritized and escalated based on the severity of the issue as well as its overall impact, feasibility of a workaround, and the effort required for resolution. It is important to us to balance our available resources, and case prioritization is the key to allowing us to provide the most impact possible across the client base.

If you feel the need to raise the priority of a case or if you are not satisfied with the course of action taken to address your issue, please inform your Support Agent so that they can take appropriate steps to meet your expectations. 

Customer Feedback

Our commitment and goal is to achieve 100% satisfaction from our clients, and we appreciate any comments, constructive criticisms, or suggestions regarding our department. We believe that communication is a key factor in helping us to improve our processes, and welcome feedback from each of our clients.

At the end of every case, we conduct surveys to measure our performance for that case’s client satisfaction. We encourage you to participate in these surveys so that we are able to make improvements to provide a better service to you and the FastSpring user community. We typically address the following topics:


How and when do I get paid?

I didn’t receive my payment

Orders and Purchasing

Why was a payment declined?

How do I locate an order?

Refunds and Chargebacks

What is the refund and chargeback policy?

How do I refund an order?

VAT and Sales Tax

Why was I charged Tax?

How is tax calculated?


Country/Region Name2 Digit Country ISO2 Digit Language ISOLanguageCurrency
Burkina Faso BFENEnglishUSD
Burundi BIENEnglishUSD
Cabo Verde CVENEnglishUSD
Cameroon CMENEnglishUSD
Central African Republic CFENEnglishUSD
Chad TDENEnglishUSD
Comoros KMESSpanishUSD
Congo CGENEnglishUSD
Côte d’Ivoire CIFRFrenchUSD
Djibouti DJENEnglishUSD
Egypt EGARArabicUSD
Equatorial Guinea GQENEnglishUSD
Eritrea ERENEnglishUSD
Ethiopia ETENEnglishUSD
Gabon GAENEnglishUSD
Gambia GMENEnglishUSD
Ghana GHENEnglishUSD
Guinea GNENEnglishUSD
Guinea-Bissau GWENEnglishUSD
Kenya KEENEnglishUSD
Lesotho LSENEnglishZAR
Liberia LRENEnglishUSD
Libya LYARArabicUSD
Madagascar MGENEnglishUSD
Malawi MWENEnglishUSD
Mali MLENEnglishUSD
Mauritania MRENEnglishUSD
Mauritius MUENEnglishUSD
Morocco MAFRFrenchUSD
Mozambique MZENEnglishUSD
Namibia NAENEnglishZAR
Niger NEENEnglishUSD
Nigeria NGENEnglishUSD
Rwanda RWENEnglishUSD
Sao Tome And Principe STENEnglishUSD
Senegal SNENEnglishUSD
Seychelles SCENEnglishUSD
Sierra Leone SLENEnglishUSD
Somalia SOENEnglishUSD
South Africa ZAENEnglishZAR
South SudanSSENEnglishUSD
Uganda UGENEnglishUSD
Zambia ZMENEnglishUSD
Zimbabwe ZWENEnglishUSD

Asia and the Pacific

Country/Region Name2 Digit Country ISO2 Digit Language ISOLanguageCurrency
Bahrain BHARArabicUSD
Bangladesh BDENEnglishUSD
Brunei DarussalamBNARArabicUSD
Cambodia KHENEnglishUSD
Cyprus CYENEnglishEUR
French Polynesia PFENEnglishUSD
Georgia GEENEnglishUSD
Hong KongHKENEnglishHKD
India INENEnglishINR
Iran IRARArabicUSD
Israel ILENEnglishUSD
Kazakhstan KZENEnglishUSD
Kuwait KWARArabicUSD
Kyrgyzstan KGENEnglishUSD
Laos LAENEnglishUSD
Maldives MVENEnglishUSD
Mongolia MNENEnglishUSD
Nepal NPENEnglishUSD
New CaledoniaNCENEnglishUSD
New ZealandNZENEnglishNZD
Philippines PHENEnglishUSD
Saudi Arabia SAARArabicUSD
Singapore SGENEnglishSGD
South Korea KRKOKoreanKRW
Sri Lanka LKENEnglishUSD
Tajikistan TJENEnglishUSD
Thailand THENEnglishTHB
Turkmenistan TMENEnglishUSD
United Arab EmiratesAEARArabicUSD
Uzbekistan UZENEnglishUSD
Yemen YEARArabicUSD


Country/Region Name2 Digit Country ISO2 Digit Language ISOLanguageCurrency
Albania ALENEnglishEUR
Andorra ADENEnglishEUR
Austria ATENEnglishEUR
Belgium BENLDutchEUR
Bosnia and HerzegovinaBAENEnglishEUR
Czech RepublicCZCZCzechCZK
Finland FIFIFinnishEUR
Germany DEDEGermanEUR
Greece GRENEnglishEUR
Italy ITITItalianEUR
Lithuania LTENEnglishEUR
Luxembourg LUENEnglishEUR
Monaco MCFRFrenchEUR
Netherlands NLNLDutchEUR
Russia RURURussianRUB
San MarinoSMENEnglishEUR
Serbia RSRURussianEUR
Spain ESESSpanishEUR
Sweden SESVSwedishSEK
Switzerland CHDEGermanCHF
United KingdomGBENEnglishGBP
Vatican CityVAENEnglishEUR

North and South America

Country/Region Name2 Digit Country ISO2 Digit Language ISOLanguageCurrency
Antigua and BarbudaAGENEnglishUSD
Argentina ARENEnglishUSD
Aruba AWENEnglishUSD
Bahamas BSENEnglishUSD
Barbados BBENEnglishUSD
Belize BZENEnglishUSD
Bermuda BMENEnglishUSD
Bolivia BOESSpanishUSD
Brazil BRPTPortugueseBRL
British Virgin Islands VGENEnglishUSD
Canada CAENEnglishCAD
Cayman IslandsKYENEnglishUSD
Costa RicaCRESSpanishUSD
Dominican RepublicDOENEnglishUSD
Ecuador ECESSpanishUSD
El Salvador SVESSpanishUSD
Falkland IslandsFKENEnglishUSD
French GuianaGFFRFrenchEUR
Jamaica JMENEnglishUSD
Nicaragua NIENEnglishUSD
Panama PAENEnglishUSD
Paraguay PYESSpanishUSD
Puerto Rico PRESSpanishUSD
Saint BarthélemyBLENEnglishEUR
Saint Kitts and Nevis KNENEnglishUSD
Saint LuciaLCENEnglishUSD
Saint MartinMFENEnglishEUR
Saint Pierre And MiquelonPMENEnglishEUR
Saint Vincent And The GrenadinesVCENEnglishUSD
Sint MaartenSXNLDutchUSD
South Georgia And The South Sandwich IslandsGSENEnglishUSD
Trinidad and TobagoTTENEnglishUSD
Turks And Caicos Islands TCENEnglishUSD
United States USENEnglishUSD
U.S. Virgin IslandsVIENEnglishUSD

Dashboards allow users to access all the important information in one place and help to diagnose the health of the business. You may access two dashboards from the navigation menu on the left.

FastSpring converts non-USD transactions to USD at the time of report generation. Because of varying currency exchange rates, reports may vary slightly.

Table of Contents

Accessing Dashboards

Dashboards can be accessed from the home page through the navigation bar on the left. There are two dashboards that can be viewed as dropdowns by clicking “Dashboards” on the left navigation Menu.

Dashboard Settings

Dashboard settings give you the option to do the following:

Access Dashboard Settings from Settings>Store Settings>Dashboard settings


There are three top filters to refine the analytics:

  1. Time frame (filter data based on selected time frame)
  2. Product (filter data for one or more products from the dropdown)
  3. Country (filter data for one or more countries from the dropdown)

Save a Filter

“Save Filter” allows users to save filter options. The filter combinations used frequently can be named and used late from “All save filters” from the drop-down instead of applying all the filters every time.

The filters can be saved at the user level or at an account level. This setting is prompted when the filter is saved.

Welcome Page

Users may view the “Welcome” dashboard for important revenue metrics. 

Revenue Overview

The Revenue Overview dashboard gives users a comprehensive view of all the revenue-related metrics.

The Revenue Overview dashboard has the following Big number tiles:

The Revenue Overview analytical tiles below are interactive and may be clicked to open a pop-up with the following analytics:

The reports can also be downloaded for further analysis.

Following are the interactive analytical tiles:

Net sales or Cumulative net sales on a specific day can be viewed by hovering on the graph. The Net Sales and Cumulative Net Sales legend can be clicked on to add/remove one of the metrics on the graph. The graph has a dual Y axis where the left axis is for Net Sales and right axis is for Cumulative Net Sales.

FastSpring excludes refunds and taxes irrespective of gross or net pricing model. 

Refund amount or Refund transactions on a specific day can be viewed by hovering on the graph. Refund amount or Refund transactions legend can be clicked on to add/remove one of the metrics on the graph. The graph has a dual Y axis where the left axis is for Refund amount and right axis is for Refund transaction.

Subscription Overview

The Subscription Overview dashboard gives users a comprehensive view of all subscription-related metrics.

The Subscription Overview dashboard has the following Big number tiles:

Below these tiles, a Monthly Recurring Revenue bar graph is shown which displays MRR for the past 12 months. On hover, each bar shows the Month, MRR in USD, and, MRR Growth Rate for a particular month. To gain more insight into the MMR, click on any of the bars displayed to open the Monthly recurring revenue Pop up chart.

Monthly Recurring Revenue pop-up chart: A stacked bar graph opens on clicking the MRR bar graph.

The pop-up chart has multiple options, starting with filters on the top that can be used to filter the MRR based on:

The options under the filters can be used to change the time frame for each of the bars to monthly, weekly, or daily periods. The values shown are for the last day of the selected time frame, meaning the Monthly Recurring Revenue shown for each month is for the last day of each month.

The stacked bars can be further drilled deeper by adding or removing the following variables within each bar:

The MRR and MRR growth rate can be broken down by product, country, coupon, discount, or relationship type. The results in the table list can be sorted in ascending or descending order using the arrows beside each column.

Under the Monthly Recurring Revenue bar graph tile, there are 3 tiles:

The last row in the Subscription Overview dashboard has 3 tiles:

The Y-axis scale values represent a different metric based on the metrics selected.

An active customer may have more than one subscription so these two metrics are different.

The Y-axis scale values represent a different metric based on the metrics selected.

The Y-axis scale values represent a different metric based on the metrics selected.

Chargeback Overview

The Chargeback Overview dashboard gives users a comprehensive view of all chargeback transactions. 

The Chargeback Overview dashboard has the following Big number tiles:


This chargeback-o-meter indicates the health of the business with respect to the Chargeback rate. 

Monthly Chargeback Transactions(Non-subscription vs Subscription Initial vs Subscription Recurring) – Last 12 months

A stacked bar chart that has month on month Chargeback transactions for the last 12 months. The color stacked based on:

NOTE: The items on the legend are clickable and can be used to filter the chargeback transactions on the graph based on the description. 

Top Chargeback Transactions by Product

A horizontal bar graph that gives a comparison of chargeback transactions by product. 

Chargeback Transaction by Country

A map view of chargeback transactions by buyer country. Hovering over a country can give chargeback transactions for that country.

Chargeback Transactions by Payment Method

Chargeback transactions are segmented by payment method in the donut chart.

Chargeback Transactions by Currency

Chargeback transactions are segmented by currency in the donut chart.

Recent Chargeback Transactions

A grid view of recent transactions that can be used to operationalize handling of the chargeback transactions on a daily basis.

The grid view has details of the following columns for each transaction:

  1. Order ID: The unique ID for transactions marked as Chargeback.
  2. Chargeback creation date: The date on which the transaction was marked as a chargeback.
  3. Chargeback amount: The USD amount that is the sum of the order value and the chargeback fee on the transaction
  4. Currency: The currency in which the user transacted.
  5. Payment method: The payment method used for the transaction

NOTE: The arrows beside each column header can be used to sort the rows in ascending/descending order.

Frequently Asked Questions

MRR Frequently Asked Questions

How do annual subscriptions convert into MRR?

Annual subscription amount is divided by 12 to calculate the MRR.


A company offers an annual subscription for $1,200. The MRR for this subscription would divide the total annual amount by 12, as follows:

MRR = $1,200 / 12 = $100

The MRR for this annual subscription is $100.

How do deactivation vs cancellation events affect MRR?

When determining the MRR contribution of a subscription, FastSpring prioritizes cancellation over deactivation. If a subscription has a cancellation date, the MRR contribution is removed on that date, even if the subscription has a deactivation date. However, if a subscription only has a deactivation date and no cancellation date, then the deactivation date is used to remove the MRR contribution from the subscription.

Reason: A cancellation is a strong indicator that the recurring revenue from a subscription will not continue in the next billing cycle.

NOTE: Cancellation event is a user triggered event that occurs when a user clicks on the “Cancel Subscription” button. Deactivation is a system triggered event that happens when subscription expires and the dunning cycle has ended.


A customer subscribes to a service with a monthly recurring charge of $50, starting on January 1, 2023. On February 28, 2023, the customer clicks the “Cancel Subscription” button. However, the subscription is set to expire on March 31, 2023, due to non-payment.

In this case, the cancellation date of February 28, 2023, takes precedence over the deactivation date of March 31, 2023. The MRR contribution of $50 for the subscription will be removed on February 28, 2023, the cancellation date set by the customer.

If the customer had not canceled the subscription , the deactivation date would have been used to remove the MRR contribution of the subscription on March 31, 2023, when the subscription expired due to non-payment.

How is foreign exchange conversion calculation done in MRR calculation?

FastSpring calculates the MRR contribution of a subscription by looking at the most recent events on the subscription and using the foreign exchange rates that were in effect on the event occurrence date to convert foreign currency to USD. For instance, when an upgrade or downgrade activity occurs on a subscription, FastSpring uses the foreign currency to USD conversion rate on the activity date to adjust the MRR contribution of the subscription accordingly. Similarly, the foreign currency exchange rates for rebill/renewal, and resume activities are also updated in the same manner.

NOTE: If there is no other activity on a subscription except for activation, FastSpring uses the foreign currency exchange rate to USD as of the activation date to calculate the MRR contribution of the subscription.

Creating an Embedded Storefront

Embedded Storefronts are an embedded same-page checkout experience that enables your customers to purchase products without leaving your website. 

When a customer clicks “Buy Now,” your website prepares the order contents from our Store Builder Library. This creates the session, loading an embedded checkout to display on your chosen page and location on your website. You can customize the styling and localization of each embedded storefront. After your customer enters their payment information, FastSpring processes the payment and delivers their fulfillment. 

When editing your Embedded Storefront, select “Save and Preview” at the top right corner of the embedded configuration page to display the current configurations. This preview uses a sample $14.95 monthly subscription.

When using an Embedded Storefront, we recommend that you deploy a security certificate and use the https: protocol for your website. This prevents web browsers from displaying warning messages about non-secure pages.

Create an Embedded Storefront

  1. Navigate to Storefronts > Embedded Storefronts. Click Create Embedded Storefront.
  2. Below Company Sub-Directory Storefront ID, enter an ID for the storefront. This becomes part of the storefront’s URL. 
  3. Click Create. Your new inline storefront appears on the Embedded Storefronts page. 

After you create the Embedded Storefront, you can click the Settings button to customize the styling, products, payment methods, and localization.

Configure a Checkout Experience

Click the Settings button on your Embedded Storefront. This directs you to the checkout configuration page where you can customize the customer experience. Click on a subpage to customize the associated settings.

Checkout Experience

Configure the information that you would like FastSpring to display to your customers at checkout, and their customization options:

Purchaser Settings

FastSpring can send fulfillments to recipients who did not purchase the product. 


Enable customers to enter coupon codes at checkout to receive discounts. To configure a coupon or coupon code, see Coupons.

Customer Information

Configure the information that you would like to collect from customers at checkout.

Completion Page

After a customer successfully completes their purchase, FastSpring displays a custom completion page.

Customize the Styling of Your Embedded Checkout

On the embedded storefront, click Settings > Styling. Here, you can adjust the appearance and styling of the storefront to match your website.

General Styling

Pricing Text

Payment Button

At the bottom of the embedded storefront, FastSpring displays a “Pay” button. After entering their payment information, customers click this button to submit their payment.

Corner Radius

Customize the roundness of the buttons on your storefront. Selecting 0px results in square corners; higher pixels cause rounded corners.

Completion Page

After a customer completes their transaction, FastSpring redirects them to your completion page. You can customize the look and feel of any CTA button that may display on the completion page. CTA buttons include “View Quote”, “View Invoice” and any download links for fulfillments.

Analytics Integration

Configure optional integrations with Google Analytics and Google Tag Manager on the Analytics Integration subpage. By default, your embedded storefront uses the settings configured in the Developer Tools menu, however you can override these settings on a specific storefront.


Control the logo and store title that displays in the PayPal login window. This only applies if PayPal is enabled in your store and a customer selects PayPal as their payment method.

Adding an Embedded Checkout to Your Website

After you customize your embedded storefront, use FastSpring’s Store Builder Library (SBL) to add it to your website. Follow the steps below to add the storefront to your website.

  1. List your subdomains.
  2. Add products to your inline storefront.
  3. Test the storefront from the app.
  4. Place the storefront on your website.
  5. Test orders from your website.

In order to process live transactions, your storefront must be online. See Managing Your Storefront for more information.

List Your Subdomains

In the FastSpring App, list the subdomains where you plan to host the embedded storefront. This allows the domains and subdomains to process live transactions with your storefront. It also prevents the storefront from loading on external, untrusted domains.

  1. Navigate to Storefronts > Embedded Storefronts.
  2. On the applicable storefront, click the No whitelisted websites badge. A popup appears.
  3. In the text area, enter http:// or https:// and the subdomain of your website. In a new line, repeat this step until all subdomains are added.
  4. After saving and subdomains, allow up to 20 minutes for any domain updates to be fully applied. If the storefront does not respond, list additional domains, such as: http://mydomain.com, https://mydomain.com, http://www.mydomain.com, and https://www.mydomain.com
  5. Click Save. Customers can now process transactions on your Storefront.

You can list each subdomain under multiple storefronts. To make future changes, click the green whitelist badge.

Add Products to Your Embedded Storefront

Adding products to an embedded storefront enables you to send API calls to the associated products, and access products from HTML and JavaScript.

  1. Navigate to Storefronts > Embedded Storefronts. On the applicable storefront, click Products. The Homepage Products dialog appears.
  2. In the Main Products field, select the product you want to add. Repeat this step for each product.

Test Your Embedded Storefront from the App

We recommend placing test orders while your storefront is offline, or through the app. This way, customers do not accidentally make test purchases on a live storefront.

  1. In the FastSpring App, navigate to Storefronts > Embedded Storefronts. Select Preview. The Embedded Storefront appears in a new tab.
  2. In the FastSpring App, navigate to Storefronts > Embedded Storefronts. On the same storefront, click Test. Input this credit card information in the test storefront.
  3. In the Expiration Date field, enter any date in the future.
  4. In all other fields, enter the information desired. When finished, click Pay.

Place your Embedded Storefront on your Website

We recommend placing your Embedded Storefront on a page that is not accessible to your customers to test the user experience. When you are satisfied, repeat the process to place the Embedded Storefront on a customer-facing page.

After you list your subdomains, use the Store Builder Library (SBL) to place the Embedded Storefront on your website.

  1. Navigate to Storefronts > Embedded Storefronts. On the applicable storefront, click Place on your Website.
  2. Copy the SBL JavaScript snippet. Add it to the section of pages where you would like to use the Embedded Storefront.
  3. After you have added the snippet to the <head> of the webpage, you can open the Embedded Storefront from that page.
  4. If your page restricts sandboxes through a Content Security Policy header, add allow-top-navigation to the policy.
  5. The Embedded Storefront will be displayed in a div matching ‘fsc-embedded-checkout-container’. This should be displayed in the section of your HTML markup.

You must also add a product to the order for the checkout to load.

The Store Builder Library does not support data-rocketsrc at this time. Because of this, third-party tools that attempt to compress or defer JavaScript loading may interfere with initializing the SBL. To ensure that the SBL loads successfully, avoid using these tools on pages that load the SBL.

Test Orders from your Website

After you add the storefront to your website, you can place test orders from your website. However, we only recommend using test storefronts that are not accessible to your customers; this will prevent them from accidentally placing live orders on the test storefront.

  1. In the JavaScript library on your page, adjust the storefront’s URL by inserting .test. between the storefront name and onfastspring.com.
  2. For example, if your Embedded Storefront’s URL is yourexamplestore.onfastspring.com/embedded, you would change the URL to be yourexamplestore.test.onfastspring.com/embedded.

Example Code:

  1. Click a link on your webpage that was configured to invoke an Embedded Storefront. The Embedded Storefront appears on your website.
  2. Use the test order information to complete a test purchase.

You can view test orders for your store at: https://fastspring.com/docs/test-orders/

After you are satisfied with your test orders, repeat the steps under Place your Embedded Storefront on a customer-facing subdomain. Then, customers can start making purchases.

Redirecting to a Custom Page After Checkout

When a customer completes an order in your embedded checkout, you can redirect customers to a different page on your website.

To implement the redirect, create a JavaScript function to handle the redirect. Add a single line to the Store Builder Library code that loads the Embedded Storefront.

More information about how you can redirect your customers after they purchase are available here.

Validate Order Information

If you plan to share access to the product or service immediately after FastSpring processes the transaction, we recommend that you validate the data. To do so, use the associated order ID to make a GET call to the /orders endpoint.

Spinner Placement

While the embedded checkout loads a spinner displays. By default, the spinner will be placed in the middle of the page.

To place the spinner in the middle of the checkout container, add style=”position: relative” to the embedded checkout placeholder “fsc-embedded-checkout-container” as follows:

<div id="fsc-embedded-checkout-container" style="position: relative;">

ACH Direct Debit is “LIVE”. If you are interested please, contact our Support team.

ACH Direct Debit

FastSpring supports ACH Direct Debit payments from US customers with a US or Canadian bank account using the Automated Clearing House (ACH) payments system operated by NACHA.

Unlike credit cards, there is no real time authorization mechanism therefore it can take 3-5 days to receive notifications if a sale or refund have completed. ACH payments are not guaranteed so chargebacks are possible.

FastSpring checkout has been updated to include a checkbox and NACHA compliant language.

We call this an online mandate collection, where the buyer explicitly agrees to NACHA language and gives consent to FastSpring to collect funds either one time or at regular intervals from the buyer’s bank account. Without accepting these terms we would not be able to initiate payment.

FastSpring invoices have been updated for ACH and will display both debtor and creditor details.

Payment Method Properties

Payment Flow

Timing: Initiation to Completion/Cancellation

T+0: Payment Initiated

T+1-T+4: Funds debited from customers account, and Order completion

Transaction Failures

ACH Direct Debit transactions can fail any time after the payment is initiated from the FastSpring checkout page. These failures can occur for a number of reasons, such as:

Once the payment fails FastSpring will cancel the order and trigger notifications(webhook and emails) to the seller.

We will trigger following webhook

Webhook TypeTriggerAdditional Details
order.completedSuccessful ACH paymentFastSpring successfully collects funds and complete the order
order.canceledIncomplete ACH PaymentFastSpring didn’t receive any valid response from the bank within 3-5 business days
order.failedFailed ACH PaymentFastSpring receives transaction failure from buyers bank

We will trigger following email

Email TypeTriggerAdditional Details
Order CompletedSuccessful ACH paymentFastSpring successfully collects funds and complete the order
Order CanceledIncomplete ACH PaymentFastSpring didn’t receive any valid response from the bank within 3-5 business days
Order FailedFailed ACH PaymentFastSpring receives transaction failure from buyers bank