Africa

Country/Region Name2 Digit Country ISO2 Digit Language ISOLanguageCurrency
AlgeriaDZARArabicUSD
AngolaAOENEnglishUSD
BeninBJENEnglishUSD
BotswanaBWENEnglishUSD
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
SudanSDENEnglishUSD
TanzaniaTZENEnglishUSD
TogoTGENEnglishUSD
TunisiaTNENEnglishUSD
Uganda UGENEnglishUSD
Zambia ZMENEnglishUSD
Zimbabwe ZWENEnglishUSD

Asia and the Pacific

Country/Region Name2 Digit Country ISO2 Digit Language ISOLanguageCurrency
AfghanistanAFENEnglishUSD
ArmeniaAMARArabicUSD
AustraliaAUENEnglishAUD
AzerbaijanAZENEnglishUSD
Bahrain BHARArabicUSD
Bangladesh BDENEnglishUSD
BhutanBTENEnglishUSD
Brunei DarussalamBNARArabicUSD
Cambodia KHENEnglishUSD
ChinaCNZHChineseCNY
Cyprus CYENEnglishEUR
French Polynesia PFENEnglishUSD
Georgia GEENEnglishUSD
GuamGUENEnglishUSD
Hong KongHKENEnglishHKD
India INENEnglishINR
IndonesiaIDENEnglishUSD
Iran IRARArabicUSD
IraqIQARArabicUSD
Israel ILENEnglishUSD
JapanJPJAJapaneseJPY
JordanJOARArabicUSD
Kazakhstan KZENEnglishUSD
Kuwait KWARArabicUSD
Kyrgyzstan KGENEnglishUSD
Laos LAENEnglishUSD
LebanonLBARArabicUSD
MalaysiaMYENEnglishUSD
Maldives MVENEnglishUSD
Mongolia MNENEnglishUSD
MyanmarMMENEnglishUSD
Nepal NPENEnglishUSD
New CaledoniaNCENEnglishUSD
New ZealandNZENEnglishNZD
OmanOMARArabicUSD
PakistanPKENEnglishUSD
Philippines PHENEnglishUSD
QatarQAARArabicUSD
RussiaRURURussianUSD
Saudi Arabia SAARArabicUSD
Singapore SGENEnglishSGD
South Korea KRKOKoreanKRW
Sri Lanka LKENEnglishUSD
SyriaSYARArabicUSD
TaiwanTWENEnglishUSD
Tajikistan TJENEnglishUSD
Thailand THENEnglishUSD
Timor-LesteTLENEnglishUSD
TurkeyTRTRTurkishUSD
Turkmenistan TMENEnglishUSD
United Arab EmiratesAEARArabicUSD
Uzbekistan UZENEnglishUSD
VietnamVNENEnglishUSD
Yemen YEARArabicUSD

Europe

Country/Region Name2 Digit Country ISO2 Digit Language ISOLanguageCurrency
Albania ALENEnglishEUR
Andorra ADENEnglishEUR
ArmeniaAMARArabicUSD
Austria ATENEnglishEUR
AzerbaijanAZENEnglishUSD
BelarusBYRURussianUSD
Belgium BENLDutchEUR
Bosnia and HerzegovinaBAENEnglishEUR
BulgariaBGENEnglishEUR
CroatiaHRHRCroatianEUR
CyprusCYENEnglishEUR
Czech RepublicCZCZCzechCZK
DenmarkDKDADanishDKK
EstoniaEEENEnglishEUR
Finland FIFIFinnishEUR
FranceFRFRFrenchEUR
GeorgiaGEENEnglishUSD
Germany DEDEGermanEUR
Greece GRENEnglishEUR
GuernseyGGENEnglishGBP
HungaryHUENEnglishEUR
IcelandISENEnglishEUR
IrelandIEENEnglishEUR
Italy ITITItalianEUR
JerseyJEENEnglishGBP
KazakhstanKZENEnglishUSD
LatviaLVENEnglishEUR
LiechtensteinLIENEnglishCHF
Lithuania LTENEnglishEUR
Luxembourg LUENEnglishEUR
MacedoniaMKENEnglishUSD
MaltaMTENEnglishEUR
MoldovaMDENEnglishUSD
Monaco MCFRFrenchEUR
MontenegroMEENEnglishEUR
Netherlands NLNLDutchEUR
NorwayNONONorwegianEUR
PolandPLPLPolishPOL
PortugalPTPTPortugueseEUR
RomaniaROENEnglishEUR
Russia RURURussianRUB
San MarinoSMENEnglishEUR
Serbia RSRURussianEUR
SlovakiaSKSKSlovakEUR
SloveniaSIENEnglishEUR
Spain ESESSpanishEUR
Sweden SESVSwedishSEK
Switzerland CHDEGermanCHF
TurkeyTRTRTurkishUSD
UkraineUARURussianUSD
United KingdomGBENEnglishGBP
Vatican CityVAENEnglishEUR

North and South America

Country/Region Name2 Digit Country ISO2 Digit Language ISOLanguageCurrency
AnguillaAIENEnglishUSD
Antigua and BarbudaAGENEnglishUSD
Argentina ARENEnglishUSD
Aruba AWENEnglishUSD
Bahamas BSENEnglishUSD
Barbados BBENEnglishUSD
Belize BZENEnglishUSD
Bermuda BMENEnglishUSD
Bolivia BOESSpanishUSD
BonaireBQENEnglishUSD
Brazil BRPTPortugueseBRL
British Virgin Islands VGENEnglishUSD
Canada CAENEnglishCAD
Cayman IslandsKYENEnglishUSD
ChileCLESSpanishCLP
ColombiaCOESSpanishCOP
Costa RicaCRESSpanishUSD
CubaCUESSpanishUSD
CuraçaoCWESSpanishUSD
DominicaDMENEnglishUSD
Dominican RepublicDOENEnglishUSD
Ecuador ECESSpanishUSD
El Salvador SVESSpanishUSD
Falkland IslandsFKENEnglishUSD
French GuianaGFFRFrenchEUR
GreenlandGLENEnglishDKK
GrenadaGDENEnglishUSD
GuadeloupeGPFRFrenchEUR
GuatemalaGTESSpanishUSD
GuyanaGYENEnglishUSD
HaitiHTENEnglishUSD
HondurasHNENEnglishUSD
Jamaica JMENEnglishUSD
MartiniqueMQFRFrenchEUR
MexicoMXESSpanishMXN
MontserratMSENEnglishUSD
Nicaragua NIENEnglishUSD
Panama PAENEnglishUSD
Paraguay PYESSpanishUSD
PeruPEESSpanishUSD
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
SurinameSRNLDutchUSD
Trinidad and TobagoTTENEnglishUSD
Turks And Caicos Islands TCENEnglishUSD
United States USENEnglishUSD
U.S. Virgin IslandsVIENEnglishUSD
UruguayUYESSpanishUSD
VenezuelaVEESSpanishUSD

Table of Contents

This documentation provides implementation instructions and reference materials focused on how to implement Google Analytics 4 (GA4) inside of google tag manager container and using the FastSpring GA events. GA4 is an analytics service that enables you to measure traffic and engagement across your websites and apps.

For more information about the migration from Universal Analytics to GA4 see Make the switch to Google Analytics 4.


Google Tag Manager can be used together with Google Analytics but is a separate tool. You can use Google Tag Manager to inject Google Analytics tracking scripts, but the two can also be used completely separately.

You may need to periodically update your Google Tag Manager settings to stay in compliance with changing browser standards and best practices.

If you are using Google Tag Manager to insert your Google Analytics tracking snippet, do not include your Google Analytics tracking ID in the FastSpring App. This could result in double-counting of events and sales.

Prerequisites

Integration for all Storefronts

To set up Google Tag Manager integration for all storefronts:

  1. In the FastSpring App, navigate to Integrations > Extensions > Google Tag Manager.
  2. Click Setup.
  3. Enter your Google Tag Manager Container ID and click Enable.

Custom Integration for Individual Storefronts

Only configure custom Google Tag Manager integration for individual Storefronts if you need to use different IDs for different Storefronts. Otherwise, configure Google Tag Manager 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 Tag Manager Integration Behavior drop-down, select Use custom Google Tag Manager container ID for this storefront.
  4. Enter your Google Analytics Tracking ID in the Google Tag Manager > Google Tag Manager custom container ID for this storefront field and click Save at the top right-hand corner of the page.

Cross-Domain Tracking for Store Builder Library

Cross-domain measurement is a Google Analytics feature that allows you to see sessions from two related sites (such as your site and fastspring app) as a single session, rather than as two separate ones. This is sometimes called ‘site linking’, and it allows you to more effectively measure the entire customer journey. When using Store Builder Library or a Popup Storefront in your site 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"
src="https://d1f8f9xcsvx3ha.cloudfront.net/sbl/0.8.7/fastspring-builder.min.js"
type="text/javascript"
data-storefront="yourexamplestore.onfastspring.com/popup-yourexamplestore"

data-decorate-callback="decorateURL">
</script>

Copy and paste the following code into your page:

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

}
return url + '?' + _pl;
}

Configure your domains in Google Analytics

This step is required for Web Storefronts. 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.
  1. Choose the GA4 property that you want to modify. Then select Data Streams.
  1. Choose the data stream to modify.
  1. Under the Google tag section, select Configure tag settings.
  1. Under the Settings section choose Configure your domains.
  1. In the form add a new row with the following data (as the following image):
    a. Match type: Contains
    b. Domain: onfastspring.com
  1. Repeat the previous steps to also include the domains paypal.com and sofort.com.

Set Up Variables in GTM

Create user-defined variables:

  1. Enter fsc-url as the Variable name.
  2. Choose Data Layer Variable as the Variable Type.
  3. Type fsc-url as the Data Layer Variable Name and choose Data Layer Version 2.
  4. Click Save.
  5. Repeat the steps above for the following variables:
    • fsc-url
    • fsc-referrer
    • fsc-eventAction
    • fsc-eventCategory
    • fsc-eventLabel
    • fsc-eventValue
    • fsc-currency
    • fsc-order-id – Contains the FastSpring order reference ID
    • fsc-order-tax – Contains the tax amount for this order
    • fsc-order-total – Contains the order total
    • fsc-coupon – Contains order coupon
  6. Create the variable “ga4-tracking-id” with Constant as the Variable Type.
  7. In the value field for ga4-tracking-id put your GA4 measurement ID.

Set Up Configuration GA4 Tag inside GTM

This step is required for Popup Storefronts. Create the Google Analytics GA4 Configuration Tag using a Custom HTML tag type:

  1. Inside Google Tag Manager, go to the Tags left menu and after that click the New button.
  2. Choose the tag type Custom HTML
  3. Click triggers, in the Choose a Trigger panel choose “Initialization – All pages”.
  4. In the HTML field paste the following code.
<!-- Google tag (gtag.js) -->

<script async
src="https://www.googletagmanager.com/gtag/js?id={{ga4-tracking-id}}"></sc
ript>
<script>
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
if(!window.clsid){
gtag('config', '{{ga4-tracking-id}}',{
'cookie_flags':'SameSite=None;Secure',
'page_referrer': '{{fsc-referrer}}',
'page_location': '{{fsc-url}}',
});
window.clsid = {client_id:'',session_id:''};
gtag('get','{{ga4-tracking-id}}','client_id',function(r){
window.clsid.client_id = r});
gtag('get','{{ga4-tracking-id}}','session_id',function(r){
window.clsid.session_id = r});
}else{
gtag('config','{{ga4-tracking-id}}', {
'client_id': window.clsid.client_id,
'session_id': window.clsid.session_id,
'cookie_flags':'SameSite=None;Secure',
'page_referrer': '{{fsc-referrer}}',
'page_location': '{{fsc-url}}'
});
}
</script>

Save and put the name according to your naming rules. We recommend “Custom Google Analytics GA4 Configuration” as the name for the tag.

Set Up GA4 Events Tag

FastSpring platforms send to the dataLayer variable a list of events that can be used to obtain the ecommerce data and the different steps in the checkout and purchase event. There are two ways to use this information:

1) Use them directly as they come. In this scenario you can directly use the events in google analytics with their original name (like “FSC-checkoutStep1”).

2) The second scenario is to convert the fastspring events into the standard GA4 events.

The following table shows the FastSpring events push to the dataLayer:

Name of the event sent by FastSpringTrigger
FSC-checkoutStep1Payment Method Selected
FSC-checkoutStep2Name Entered
FSC-checkoutStep3Email Entered (Payment Window)
FSC-checkoutStep4Payment Data Entered
FSC-checkoutStep5Payment Started
FSC-purchaseCompletePurchase Complete
FSC-itemRemovedFromCartItem removed from cart
FSC-detailedItemViewItem details viewed
FSC-promotionViewRelated Offers viewed
FSC-promotionClickRelated Offer Clicked

Use the FastSpring events

  1. Click Tags > New.
  2. Enter FS Events as the tag name or use your naming rules.
  3. Select Tag Configuration > Google Analytics: GA4 Event.
  4. In the Configuration Tag select “None – Manually Set ID”.
  5. Write {{ga4-tracking-id}} for the Measurement ID.
  6. Write {{Event}} for the Event Name.
  7. Expand More Settings > Ecommerce and Select the checkbox for Enable Enhanced Ecommerce Features and Use data layer.
  8. Click Save.
  9. Click within the Triggering area and select New trigger (the plus sign in the top right corner).
  10. Enter the name FastSpring Events.
  11. Click within the Trigger Configuration area and select Other > Custom Event.
  12. Enter .* in the Event name field and select the checkbox for Use regex matching.
  13. Select the radio button for Some Custom Events and then select Event, starts with, and enter FSC-.
  14. Click Save > Save.

Use the GA4 events

You can use the FastSpring events to build new events in GTM. For example, let’s build a purchase event using the “FSC-purchaseComplete” event.

  1. Click Tags > New.
  2. Enter “Purchase Event” as the tag name or use your naming rules.
  3. Select Tag Configuration > Google Analytics: GA4 Event.
  4. In the Configuration Tag select “None – Manually Set ID”.
  5. Write {{ga4-tracking-id}} for the Measurement ID.
  6. Write purchase for the Event Name.
  7. Expand More Settings > Ecommerce and Select the checkbox for Enable Enhanced Ecommerce Features and Use data layer.
  8. Click Save.
  9. Click within the Triggering area and select New trigger (the plus sign in the top right corner).
  10. Enter the name Purchase Event.
  11. Click within the Trigger Configuration area and select Other > Purchase Event.
  12. Enter FSC-purchaseComplete in the Event name field.
  13. Select the radio button for All Custom Events.
  14. Click Save > Save.

You can add Event Parameters for your reports using the fsc variables pushed in the data layer. For a complete list of GA4 events, please review the Google Analytics 4 events reference.

For a complete detail about migrating from Universal to GA4 you can review this link Migrate to Google Analytics 4.

Appendix I

EventTrigger whenCAN BE CREATED
add_payment_infoa user submits their payment informationYES
add_shipping_infoa user submits their shipping informationYES
add_to_carta user adds items to cartYES
add_to_wishlista user adds items to a wishlistN/A
begin_checkouta user begins checkoutYES
generate_leada user submits a form or a request for
information
N/A
purchasea user completes a purchaseYES
refunda user receives a refundN/A
remove_from_carta user removes items from a cartYES
select_itema user selects an item from a listYES
select_promotiona user selects a promotionYES
view_carta user views their cartYES
view_itema user views an itemYES
view_item_lista user sees a list of items/offeringsYES
view_promotiona user sees a promotionYES

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.

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

Filters

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:

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.

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. 

Promotion

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 Integrations menu, however you can override these settings on a specific storefront.

PayPal

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.

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:

<script
    id="fsc-api"
    src="https://d1f8f9xcsvx3ha.cloudfront.net/sbl/0.8.3/fastspring-builder.min.js"
    type="text/javascript"
    data-storefront="yourexamplestore.test.onfastspring.com/embedded">;
</script> 
  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;">
</div>

ACH Direct Debit is currently in beta. If you are interested in participating in the beta program, 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.payment.pendingInitial ACH Payment requestUser selects ACH and initiates payment from fastSpring Page
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 Payment PendingInitial ACH Payment requestUser selects ACH and initiates payment from fastSpring Page
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

Add a Reseller Partner

Only account administrators can add and approve reseller partner accounts. Follow the instructions below to add a partner. This will automatically approve their access.

Alternatively, direct a partner to https://sites.fastspring.com/reseller-store-example/signup to sign themselves up. They can begin selling as soon as you manually approve them.

  1. In the reseller store dashboard, click Partners. This page manages your reseller partner accounts.
  2. In the Actions field, click Add Partner. A dialog appears. 
  3. In the Partner section, fill out the information of your Partner’s Reseller Store. The Company is the name of the Store. 
  4. Under Contact Information, provide the Name, Email and Phone Number of the Partner in charge of the Reseller Store. 
  5. Click Create. The Partner will receive an email containing access information.

Reseller Partner Access

Each Reseller will have their own FastSpring App login with access to:

The reseller can create orders for customers within the app, and then enter customer information to issue licenses and fulfillments. 

Add a Credit Limit

In Partner Management, click on the reseller’s name to access their information. At the top of the page, under Order Settings, select a credit limit option:

If you choose to enable the credit limit, enter your desired limit amount and click Save. You can adjust this setting in the future. 

Share a Product with your Reseller Partner

In order for your Reseller to see the products from their Dashboard, configure a Link Source Price Condition and assign the price to the Partner Store.

  1. From the Dashboard of the Reseller Store, select Products and Pages. Select the product you want to share with your Reseller to access its Details Page. 
  2. Under Actions, click Edit Price
  3. Under Conditions, click Edit. Select the Link Source Condition radio button, then click Next. The Add Link Source Condition page appears.
  4. Select the checkbox of each reseller store you want to add the product to. Click Create.

Requesting a Reseller Partner Store

To add a Reseller Partner Store to your account, please Contact Support. The support team will notify you after they set up a reseller store in your account. Then, you can add existing products, new products, and fulfillments to the Reseller Store.

Accessing your Reseller Partner Store

  1. Log in to the FastSpring App with your existing credentials. A page appears with your existing Stores. 
  2. Your reseller store is marked with a blue Reseller tag, as pictured below. Select the reseller store to access it’s dashboard.

Reports

From the left menu of the FastSpring App, select Reports to view automatically-generated reporting on your sales. Utilize the left menu to track sales in categories including:

Setting Up a Reseller Store

Reseller Stores are only available to Classic FastSpring users at this time.

After Customer Support accepts your request for a reseller store, configure at least one product, fulfillment. Then, add a reseller partner and configure their selling privileges to enable them to sell. See Manage Reseller Partners below for more information.

Add an Existing Product

Add existing products from your Classic store to the Reseller Store. This allows the reseller to purchase pre-configured products instead of new products in the store. Resellers may purchase these products with their credits or any of your accepted payment methods.

In order to add an existing product to a Reseller Store, the product must be set to Active in your Classic Storefront.

  1. In the FastSpring App, navigate to the storefront with the products you want to resell.
  2. Click Products and Pages, then select the product.
  3. Under Actions, click Duplicate Product. The Product Naming dialog appears.
  4. In the Product Catalog drop-down, select your Reseller Partner Store.
  5. In the Product Name field, enter a product name for internal references.
  6. In the Display Name field, enter a customer-facing product name.
  7. Click Create

Add a New Product

This process creates a new product in the system and associates the product with a URL. After the product is created, you can customize additional settings, including: description, image, fulfillment actions, and discounts and coupons. Utilize the Preview Store to perform tests of the product.

  1. After finalizing the product configuration, set it to Active.
  2. From the Reseller Dashboard, click Products and Pages. A product configuration dialog appears.
  3. In the Actions dialog, click Create Product. A product configuration dialog appears. 
  4. In the Product Name field, enter an internal-facing name for reference. 
  5. In the Display Name field, enter a consumer-facing product name. 
  6. In the Display Price dialog, enter the price of the product in the applicable currencies.
  7. Optionally, add a consumer-facing Description of the product. 
  8. Select Choose File to upload a Display Image for the product. 
  9. Click Save

Add a Fulfillment 

After you create the resale product, apply a fulfillment to it. For more information on how fulfillments are generated and distributed, see how resellers purchase and distribute products.

  1. Navigate to the Products page in the FastSpring App. A list of resale products appears. Click the product to access its details page. 
  2. Next to Fulfillment Actions, click Add
  3. Select the appropriate fulfillment for the product. You can assign multiple fulfillment actions, such as an email with a license or file download.
  4. Repeat this process to apply each additional fulfillment.

Product Prices for Resellers

Each Reseller receives an automatic source associated with them. To create a price for a specific Reseller, edit the Link Source Pricing Conditions.

  1. Navigate to the Products page in the FastSpring App. A list of resale products appears. Click the product to access its details page. 
  2. In the Actions dialog, click Edit Price > Create Price. The Create Price dialog appears.
  3. Select the Price Type
if (tags['ABC_CUSTOM_PRODUCT_TAG'] > 0) {
  9.95; // Print the unit price when a tag is present
} else {
  4.95; // Print the unit price when the tag was not present
}
  1. In the Price Value field, enter the price you wish to sell the product to your partner for. 
  2. Click Create

The MIME 1.0 license output format allows you to return a downloadable license file to the customer. The license file will be presented as a URL to the customer, and stored on their computer using a custom filename you specify in the MIME data.  Note: The maximum size of the returned response must not exceed 32000 characters. 

Response Headers

The response headers are ignored. We recommend using:

Content-Type: text/plain

Response Body

The response body contains both MIME headers and MIME content. This is the portion of the body that will read by our system.

Mime-Version: 1.0
Content-Type: multipart/mixed; boundary=license


--license
Content-Disposition: inline; filename=my.gif
Content-Type: image/gif
Content-Transfer-Encoding: base64

R0lGODlhbgLYAvcAAEdHR0dHUkdHXEdHZEdHd0dIj0dPg0dSUkdSe0dbm0dcg0dcikdrq0dspUd0
sUeHvkphpExSXFFcXFJHR1JHUlJSUlJcUlJkZVJkjVJsblJsklJ0pVJ1s1KCwlKIwlKOyFNsnFZS
lFqIwlqNyFqUxFtHiltSR1tcUVtcXFuZy2BHR2FHb2JrbmNkUmNkXGNkZWOSw2Oezmd1g2eNrmmM
umpHR2p6q2tcUWthk2uk0Gup125scnGUuXJHR3JHX3Ko0nKt2XKz3HZUdXd1cXhHR3lcUnmkz3mt
zT4b7bTVXpvttt1+G+645Z477HjsiYfuvPXem+++/f6b74AAADs=

--license--

Table of Contents

Update Your Accounts

Each Interactive Quote Member and Admin has 2 accounts: the Personal account and the Company account. Each Member can edit their personal account, and Admins can edit company accounts. 

Personal Account Settings:

  1. At the top, right corner of the Interactive Quotes site, click the person icon. Select Account Settings
  2. In the Account Settings page, customize your personal information. Prospects will see your Account Image and Name on your quotes. Personal information includes:
  3. Click Save

Company Account Settings

Company Account Settings apply by default to all of the team members’ quotes. This includes company information, such as a URL and logo, as well as color settings, currencies, and terms of service. 

Team members can adjust the currencies, terms of service, and color settings on individual quotes. Admin can edit the company information at any time. 

  1. From the left menu of the Interactive Quotes site, select Settings > Company
  2. In the Branding section, add a company logo, name, website. These will appear on your team’s quotes. 
  3. In the Quote Defaults section, add the default color settings, currencies, and terms of service for your quote. All team members can change these on individual quotes. 
  4. In the Company Address section, add your company’s address. FastSpring will apply this to your team’s quotes. 
  5. Save your changes. 

Clients and Contacts

In the Clients page, you can access contact information of each client and contact you and your sales team have collaborated with. If you use a HubSput or Salesforce integration, FastSpring will import those contacts. 

Salesforce and Hubspot contacts must be edited within Salesforce or Hubspot.

Add a Client

If you do not have any company information saved, you can add a new client to your contacts. 

  1. In the Clients page, click Create New. A popup appears. 
  2. Fill out the new client’s Company, First Name, Last Name, and Email. The other fields are optional. 
  3. Click Add Another Contact and repeat Step 2 as necessary. 
  4. After you have added all contacts for this Client (the company), click Create

Add a New Contact

If there is already a contact from the company, you cannot add a new client. Instead, edit the existing Client to include new contact information. 

  1. Navigate to Manage > Clients. Click the Client you would like to update. 
  2. In the popup, click  + Add another contact. The Create New Contact dialog appears. 
  3. Fill out the contact’s First Name, Last Name, and Email. The Phone Number field is optional. 
  4. Click Create

You can also add new contacts when you configure a quote. See Create an Interactive Quote for more information. 

Update Your Billing Information

You can add or update billing information at any time. FastSpring saves this in an encrypted format and applies it to your next billing. 

  1. In the Interactive Quotes site, navigate to Settings > Billing
  2. Click Add Card to input your credit card information. 
  3. Save your changes.

Admins can design templates for their sales team to utilize when configuring quotes. When a member configures a new Interactive Quote, they must select an active template to design off of. However, members still have access to customize all fields within the quote. 

Create a Template

Only Team Admins have access to create and edit Templates. 

  1. In the Interactive Quotes site, navigate to Manage > Templates. In any of the subpages, click Create Template at the top, right corner. 
  2. Under Template Settings, add a Name to your template. This will be visible to team members when selecting the template to configure their quote. 
  3. Under Template Description, add a team-facing description for the Template. 
  4. Follow the configuration steps of creating a new quote. Fields containing client information are not configurable in a template. 
  5. Switch the template to Active at the top of the page. This makes it visible to your team when they are configuring quotes. 

After the template is active, Admins can edit it by navigating to Manage > Templates. Team members can select this or other templates when creating new quotes.  

Grouping Templates

You can add your team’s Templates to groups to organize them. Each group is visible to admin on the left menu. To create a new group, click Manage > Templates > + New Group

Add a Template to a Group

  1. After you have created a group, navigate to the All Templates page. 
  2. Scroll to the template you wish to add. Click the three dots at the top, right corner of the quote. 
  3. Click Move to Group. Select the group you wish to add the template to. A confirmation dialog appears. 
  4. Click Move to confirm. FastSpring will automatically move the template to the selected group.