Stripe API

Go to Step 4 (PromoteKit Integration) in your PromoteKit setup tab to follow along with these instructions. We also have a video walkthrough for NextJS:

Add the PromoteKit Script to your Site

The PromoteKit script will go on both your site's landing page (where you'll be sending referrals), and the page on your site / app where your customers checkout. It's ok if your marketing site and app site are on different subdomains - the cookie tracking works across all subdomains of a domain. A common setup would be embedding the script on your marketing site at, and app domain at

Copy this script and paste it within your site's <head> or <body> tags.

Send the Referral ID to Stripe

Once the script is embedded, the referral ID will be retrievable with JavaScript/TypeScript using window.promotekit_referral, or with PHP using $_COOKIE['promotekit_referral']

You will need to pass this ID in the metadata field when creating a Stripe checkout session or when creating a Stripe subscription. In the body of either of these API calls, include promotekit_referral within the metadata.

JavaScript Checkout Session Creation Example
const session = await stripe.checkout.sessions.create({
    success_url: '',
    cancel_url: '',
    metadata: {
        promotekit_referral: req.body.referral,
    line_items: [
    {price: 'price_1OBQlV2eZvKYlo2CDL02DbMx', quantity: 1},
    mode: 'subscription',

Optional Step: Manually Tracking Signups

If you want to attach referrals to affiliates manually when they signup to your service and before they have paid, you can use this function:

window.promotekit.refer(email, stripe_customer_id?)

Email is a required parameter, and stripe customer id is an optional parameter.

Last updated