LinkJoltAnswers

Getting Started

Can I run an affiliate program without spreadsheets and manual tracking links?

How long does it take to set up an affiliate program with LinkJolt?

What is the difference between tracking links and coupon codes?

Tracking & Attribution

How are free-trial signups tracked, and when does commission count?

How do I install the LinkJolt tracking script?

How do I track affiliate sales without adding code to my checkout?

How does LinkJolt decide which affiliate gets credit for a sale?

How long does an affiliate stay credited after someone clicks their link?

Where do I put the script when my landing page and checkout are on different platforms?

Payouts & Commissions

Approving and rejecting commissions

Can I pay affiliates in their own currency?

Can I reward top affiliates with a higher commission rate?

Does LinkJolt hold my money or process my payments?

How are recurring commissions calculated for subscriptions?

How automatic payouts work, and what the processing fee is

How do I pay my affiliates?

Stripe for tracking and Stripe for payouts are two different things

What commission rate should I offer affiliates?

What does each commission status mean?

What happens to an affiliate's commission when a sale is refunded?

When and how do affiliates actually get paid?

Which countries and currencies can automatic payouts reach?

Why is my commission still pending?

Linkjolt

Sign InStart Free
Tracking & Attribution

Where do I put the script when my landing page and checkout are on different platforms?

Put the script on every page a visitor sees before they pay, starting with the landing page. It only rewrites Stripe Payment Link, Gumroad and Lemon Squeezy links for you, so for any other jump to a different domain you have to carry the tc, aff and cid parameters across yourself.

4 min read
Updated Sep 4, 2026

Put it on the landing page, and on every page a visitor sees before they pay. The script reads tc and aff from the link the visitor arrived on and stores them in that browser, but the storage belongs to the domain that wrote it. It does not follow the visitor to a different domain on its own.

Tracking script (add before </head>)
<script src="https://linkjolt.io/api/tracking.js?id=YOUR_MERCHANT_ID"></script>

Your brand's tag, with your id already in it, is on the Integration Hub page.

What the script hands off for you

Once tracking is stored, the script rewrites three families of checkout link in place. It only touches real links, the <a href> kind, so a checkout your storefront opens with JavaScript is not one of them.

  • Stripe Payment Links, where the address is exactly buy.stripe.com. It adds client_reference_id holding the full tracking reference.
  • Gumroad, any gumroad.com address including your own store subdomain, plus gum.co. It adds tc, aff and cid.
  • Lemon Squeezy, any lemonsqueezy.com address including your store subdomain. It adds checkout[custom][tc], checkout[custom][aff] and checkout[custom][cid].

A link that already carries the tracking parameter is left alone, and the script re-scans when new links appear, so links your page renders after load are covered too. Everything else is untouched: a self hosted checkout, a course or booking platform, and a Stripe Checkout session your server creates rather than a buy.stripe.com link.

Carry the parameters yourself for every other handoff

Three parameters matter. tc is the tracking code, aff is the affiliate id, and cid is the click id, which is only there when the visitor arrived through a link click. tc and aff are both required. Pass cid whenever you have it.

Read them on the landing page:

window.linkjolt?.getTrackingInfo() // { trackingCode, affiliateId, clickId } window.linkjolt?.referral // "tc_CODE_aff_AFFILIATE_cid_CLICK"

Then get them to the checkout one of two ways.

  1. The next page is yours. Add tc, aff and cid to the outbound link's query string, and install the same script tag on that domain so it reads them back and keeps the 30 day window running.
  2. The next step is a hosted checkout. Put the reference string into the field your processor sends back on its webhook. Stripe Checkout uses client_reference_id. Paddle uses customData with a linkjolt key.

If nothing carries across, the order arrives with no reference. LinkJolt falls back to a registered affiliate coupon if one was used, and if there is no coupon either, nobody is credited and the sale has to be entered by hand from the Commissions page with Add commission.

Subdomains count as a different platform

Moving from www.yourcompany.com to checkout.yourcompany.com is the same problem. The script writes host only cookies, and browser storage is per origin, so nothing kept on the first host is readable on the second. Treat that hop exactly like a hop to somebody else's checkout.

One tag per brand

The id in the tag is that brand's id, and it covers every campaign and affiliate under it, so use the identical tag on every domain in that funnel. If you run more than one brand, each has its own id and they are not interchangeable.

Test with a real affiliate tracking link, not a made up code. A code that matches no campaign is still stored in the browser, but the click is rejected, so the test looks healthier than it is. Walk the real path through to checkout and confirm the reference survived the last step.

For what happens after the order arrives, see "How does LinkJolt decide which affiliate gets credit for a sale?". If a handoff is impossible to instrument, coupon codes attribute without touching your checkout at all, covered in "How do I track affiliate sales without adding code to my checkout?".

Tags:

trackingsetup

Related questions

Connect Stripe so LinkJolt records your sales

Two routes, and you only need one: approve LinkJolt once on Stripe's own site, which creates no webhook endpoint and no signing secret, or add the LinkJolt webhook endpoint in Stripe yourself and save the signing secret. Both live on Step 3 of the Stripe Checkout tab in Integration Hub.

How long does an affiliate stay credited after someone clicks their link?

30 days. A click stores that affiliate's details in the visitor's browser for 30 days, and a purchase made in that period is credited to them. The window is fixed: there is no setting to change it per campaign or per plan.

How do I install the LinkJolt tracking script?

Copy the one line script tag from the Integration Hub in your dashboard and paste it into the head of every page a visitor can land on. Copy it rather than typing it, because the tag carries your own merchant ID and a wrong ID never raises an error.

A sale is missing from my dashboard. What do I check?

A missing sale almost always traces to one of six causes: a webhook signing secret that no longer matches, an endpoint added in Stripe's Test mode, no tracking reference reaching checkout, a purchase outside the fixed 30 day window, an unregistered coupon or an inactive affiliate, or your plan's tracked sales limit. Check them in that order.

Start your affiliate program

Launch in minutes with 0% platform fees. 3-day free trial, cancel anytime.

Start free trialBrowse all questions

Contents

What the script hands off for youCarry the parameters yourself for every other handoffSubdomains count as a different platformOne tag per brand