Welcome to the PartnerStack Integration Docs

Here you can find guides, documentation, support and FAQs to get you setup on PartnerStack.

Chat with us by clicking the message bubble in the bottom right if you are having any trouble!

Get Started

Quick Start Guide

4 Step Guide to Getting Integrated Quickly

Welcome to the Quick Start Guide.
This will be a three step guide to get anyone integrated with PartnerStack.
This guide will take you through Installation, Setup, and Testing.

1. Customer Signups

- Install the JS Snippet into the head of your page.
Copy the snippet from Settings > Integrations > GrowSumoJS and install it in the head of your page.


Snippet Installation

The most optimal form of installation of the snippet is domain-wide. This ensures tracking will be accurate domain-wide.

If a domain-wide installation is not possible.

Install the snippet on the Landing Page (link destination) and any page that has a signup/opt-in form.


Global GrowSumo Object

With the snippet installed you now have access to the global growsumo object. Which can be seen by typing growsumo in your browser's console after the page and snippet have loaded.

- Connect Signup/Opt-in Form Data to Global GrowSumo Object
Now that the snippet is installed. It is time to pass data from your signup/opt-in form to GrowSumo.

The global growsumo object has a sub-object growsumo.data which is where we will be passing our data to.

The fields available in the object are:
growsumo.data.name - The customer's name
growsumo.data.email - (required) The customer's email
growsumo.data.customer_key - Unique internal identifier for the customer
growsumo.data.partner_key - (required) The referring partner's partner key (generated by the snippet if a referral link was used)

Once all required fields are filled growsumo.createSignup() can be called to pass the data to GrowSumo


Customer Key

If you do not have a unique identifier for your customers it is recommended that you use the Customer's email address as their customer_key.

If no customer_key is supplied, one will be generated for the customer.

Let's assume that this is our opt-in form that takes only the customer's name and email address

<!— Example signup form —>
<input id=‘name’ type=‘text’>
<input id=‘email’ type=‘text’>
<input id=“submit” type=“button” onclick=“signup()”>

<!— Example JS function that collects field values,
assigning them to GrowSumo.data and calling creatSignup() to create a customer on GrowSumo. —>
<!- If this signup function is copy/pasted, remember to remove the console.logs before launching ->
function signup(){
  console.log('signup started', growsumo.data) // prints data object with keys and no values
  growsumo.data.name = document.getElementById('name').value;
  growsumo.data.email = document.getElementById('email').value;
  growsumo.data.customer_key = document.getElementById('email').value;
  console.log("All data assigned", growsumo.data) // prints data object with key/values filled
  growsumo.createSignup(function() {
    // the growsumo.createSignup() function allows a call back function to be called
    console.log("Signup sending with the following data", growsumo.data)
  console.log('signup complete', growsumo.data) // this one's output will have some values cleared

If we console.log() each of the growsumo.data fields before submission

- Pass the Customer Signup Test
Once the above steps are complete and a customer can be created in GrowSumo, go to the testing suite and do the following.

  • Turn on the Request Log
  • Fill in the input with the email address you will be using to create the signup.
  • Open the link in the testing suite in an incognito tab
  • Perform a signup using the same email used in the previous step.
  • In the testing suite, check the request log for a new request
  • If the signup was successful a Customer Created - [200 - OK] event will appear in the request log
    • Pass the signup test

Congrats on passing the Customer Signup Test!

2. Decide Rewards

To decide the next steps necessary for your integration, decide how/when you wish to reward your partners.


Example Reward Criteria

  • # of Customer Signups
  • A customer performing a specific action on the site
  • The partner themselves performing a specific action on the site
  • # of transactions
  • Transaction amount (e.g. $400 sale of product X)
  • Purchase of a subscription/plan
  • etc.

If your reward criteria include transactions or subscriptions, proceed to Step 3.

3. Transactions


Transaction Test Before Subscription Test

Regardless of whether or not you are rewarding for the purchase of a subscription or every transaction, the transaction setup/test comes first. This is because a reward will only be triggered if a payment has been applied to a subscription. Adding a subscription to a customer with no transaction event will not generate a reward for the partner.

A. Who is your payment provider?
GrowSumo has webhook integrations with the following payment providers:

If your payment provider is not listed above, you will have to use Zapier or the Transactions API to process the transaction.

B. Follow the integration steps based on who your payment provider is.
For those using zapier:

  • Create a Zap, with a GrowSumo Create Transaction action
  • If you are rewarding for a specific product or subscription, list that as the product key

For those using the GrowSumo API:

  • After a successful payment event send us the amount of the transaction
  • If you are rewarding for a specific product or subscription, list that as the product key

C. Pass the Transaction Test

  • Create a new customer in GrowSumo, pass the signup test again
  • Using your payment provider, process a transaction for that Customer.
  • Pass the test

If you do not intend to reward for or do not have any subscriptions. Congrats! You're integrated.

If you are rewarding for subscriptions, proceed to step 4.

Updated 2 years ago

Quick Start Guide

4 Step Guide to Getting Integrated Quickly

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.