Tracks the transaction Paddle confirms
Every sale is recorded from the transaction.completed notification, server-side. Ad blockers, cleared cookies and closed tabs cannot lose a conversion, because Paddle is the source of truth.
No. Paddle is your merchant of record and billing system: checkout, subscriptions, tax, invoicing, and a notification for every transaction. What it does not include is the affiliate layer: partner accounts, tracking links, commission rules, refund handling and payouts. That is what LinkJolt adds on top, using the transaction.completed notification as the record of what was sold. This is for Paddle Billing; Paddle Classic is not supported.
This page covers the tool and the setup. For commission design, program structure and how to pay partners, read the guide to running a Paddle affiliate program.
Every sale is recorded from the transaction.completed notification, server-side. Ad blockers, cleared cookies and closed tabs cannot lose a conversion, because Paddle is the source of truth.
Paddle checkout runs in the browser, so attribution is a single customData line inside Paddle.Checkout.open(). Our script fills in the value; you never build tracking parameters by hand.
Every renewal arrives as a transaction.completed notification and can pay the affiliate who referred the customer, at your recurring rate, with a cap by month or by payment count. Available on the Professional plan and above.
Paddle approves refunds in adjustment.updated and sends chargebacks and credits in adjustment.created. LinkJolt reverses the commission, in proportion for a partial refund, cancels any payout still queued for it, and gives it back if you win the chargeback.
Register a Paddle discount against an affiliate and any transaction that uses it is credited to them. Podcast and video audiences who never click a link still land with the right partner, and it needs no checkout change at all.
Partners get their own branded dashboard with links, codes, live earnings and payout setup, included on every plan.
The same steps the Integration Hub walks you through after you sign up, with your real merchant ID filled in.
After you connect, the Paddle tab asks one question, how do your customers pay on Paddle, with two answers: Paddle checkout on my site, or discount codes only. It shows only the instructions for your answer.
How to Set Up an Affiliate Program for Your Paddle SaaS (5:59)
Slidebright is a demo account made for this tutorial.
Watch on YouTubeThis is a subscription sale made through Paddle, credited to an affiliate called Jordan, with a twenty percent commission worked out for me. In this video, I'll set that up from zero.
We'll connect Paddle, create the affiliate program, give an affiliate a link and a discount code, track the first sale, and pay it.
Paddle Billing handles your checkout, tax and subscriptions as your merchant of record. It doesn't come with an affiliate program: no partner sign-ups, no tracking links, and no commission rules for the people who promote you.
So we add one with LinkJolt. My demo product is Slidebright, a twenty-four dollar a month app, sold through Paddle checkout on its own site.
This is a brand new LinkJolt account. The quick setup list shows the whole job: a campaign, a connection to where you take payment, affiliates, and a first sale. I'll start with Paddle.
Open Integrations, and pick the Paddle tab. Right now, sales from Paddle aren't reaching LinkJolt.
LinkJolt can set Paddle up for you from one API key.
In Paddle, open Developer tools, Authentication, API keys, and create a key with permission to write notification settings. Then copy it.
Paste it here, and click Set it up.
Done. LinkJolt added a notification destination called LinkJolt to my Paddle account, subscribed to the events it needs, and kept its secret key. The API key is used once and not kept, so you can revoke it now.
Then one question: how do your customers pay? Slidebright opens Paddle checkout on its site, so I pick that.
There are two things to add. The tracking script goes in the head of your site. And where your site opens the checkout, pass the affiliate in customData, as linkjolt: window.linkjolt.referral.
Paddle's plain HTML checkout buttons can't carry the affiliate, so open the checkout with Paddle.Checkout.open(). And if you can't change your site at all, pick discount codes only.
I'll copy the script into the head of my site, and add that one line to my checkout code.
Now the campaign: the deal every affiliate gets. Go to Campaigns, then New campaign.
The name is just for you. The description is what affiliates read when deciding to join. And the page to promote is where their link sends people.
The commission is twenty percent of each sale. I'll add my price, twenty-four dollars, so affiliates can see what a referral is worth. It's for display only, and it doesn't change your prices in Paddle.
Slidebright is a subscription, so I'll switch on recurring commissions, and stop after twelve months. Every Paddle renewal arrives as a completed transaction, so the affiliate who brought the customer keeps earning. Recurring commissions are on the Professional plan and above.
By default, you approve each affiliate who applies to join. Click Create campaign.
The campaign is live. Affiliates can find it in Discovery, join from a link on your website, or get a personal invitation.
I'll invite Jordan, who writes a newsletter for designers. Add their name and email, and send. Jordan gets an email naming the campaign and the commission, with a link to join.
This is what Jordan sees: the deal, in your name, and one step to join.
Jordan is approved on the campaign straight away, and gets a tracking link to share.
Discount codes for Paddle are made in Paddle. Create the discount under Catalog, Discounts, give it a code like JORDAN10, and copy its ID, the one starting dsc_.
Then on the Coupons page, create a coupon. Pick the campaign, then Jordan.
Choose Paddle discount, then enter the code and the discount ID.
Sales that use that discount are credited to Jordan.
A few days later, one of Jordan's readers clicks their link and lands on Slidebright. LinkJolt records the click, and remembers the referral for thirty days.
When they click buy, the site opens Paddle checkout with Jordan's reference in customData.
The customer pays in Paddle's checkout, as usual. Paddle tells LinkJolt about the completed transaction, with Jordan's reference attached.
Back in LinkJolt, there's the new sale: twenty-four dollars, and Jordan's commission of four dollars eighty, waiting for my approval.
You can try all of this in Paddle's sandbox first. Sandbox purchases are recorded as test sales, kept apart from your real commissions.
Refunds are handled too. Once Paddle approves a refund, the commission is reduced or removed, and any payout still waiting for it is cancelled.
Nothing is paid until you approve it. Open Commissions, check the sale, and approve it.
Then go to Payouts. Each affiliate chooses how they're paid. Jordan picked PayPal, so LinkJolt shows their PayPal address and what you owe. Send it in PayPal, then click Mark as paid. Or export a CSV for PayPal or Wise.
Affiliates who connect Stripe can be paid automatically: with Stripe payouts, your saved card funds the payout and Stripe sends each affiliate their share, in the US, the UK, the European Economic Area, Canada and Switzerland.
That's the whole setup. Paddle is connected, there's a campaign with recurring commissions, an affiliate with a link and a code, a tracked sale, and a commission ready to pay.
LinkJolt charges zero percent transaction fees, and plans start at nineteen ninety-nine a month. There's a seven-day free trial; a card is required. The link is in the description.
Sign up, create a campaign with your commission terms, then open Integrations, choose Paddle and paste a Paddle API key. LinkJolt adds a notification destination called LinkJolt to your Paddle account and keeps its secret key. Takes about a minute.
Paste one script tag into the head of your site. It captures affiliate clicks.
Inside Paddle.Checkout.open(), add the customData line shown below. That is the whole code change.
Create the discount in Paddle, copy its ID and register it against an affiliate on the Coupons page. A transaction using it credits that affiliate, with no checkout change.
Create the key in Paddle under Developer tools, Authentication, API keys, with permission to write notification settings. LinkJolt uses it once to add a notification destination called LinkJolt to your Paddle account, subscribed to the events below, and saves the destination's secret key. The API key itself is not kept, so you can revoke it as soon as the step shows Done.
transaction.completedsales, renewals and paid invoicesadjustment.createdcredits and chargebacksadjustment.updatedrefunds, once Paddle approves themsubscription.canceledfree trials that end before their first paymenthttps://www.linkjolt.io/api/webhooks/paddle?merchant=YOUR_MERCHANT_IDAdd a notification destination with this address, set its usage type to Platform, subscribe it to the same events, and paste its secret key (it starts with pdl_ntfset_) on the Paddle tab. The merchant ID in the URL is how LinkJolt finds your secret key, so copy it exactly as the Integration Hub shows it.
<script src="https://www.linkjolt.io/api/tracking.js?id=YOUR_MERCHANT_ID"></script>Paddle.Checkout.open({
items: [...],
customData: { linkjolt: window.linkjolt?.referral || '' }
})Our script fills in the value when a visitor arrives from an affiliate link; Paddle sends it back inside the transaction.completed notification.
Most affiliate platforms are built for Stripe first. These 7 name Paddle on their own integration or pricing page. Every figure is read from the vendor's page, pricing checked October 2026; vendors change pricing, so confirm before you buy.
| Tool | Entry price | Fees | Billing integrations | Payouts | Trial |
|---|---|---|---|---|---|
| LinkJoltLinkJolt pricing | $19.99/mo | 0% on affiliate revenue on every plan. Automated Stripe Connect payouts pass Stripe processing through at cost; CSV export is free. | Stripe, Paddle, Polar, Creem, Lemon Squeezy, Gumroad, GoPay, Apple In-App Purchases | Stripe Connect on every plan, scheduled automatic payouts opt-in from Professional, CSV export for PayPal or Wise | 7 days, card required |
| RewardfulRewardful pricing, explained | $49/mo | 0% transaction fee on every plan. Managed Payouts carry a 3% processing fee. | Stripe and Paddle Classic only; its help centre says Paddle Billing is not supported | PayPal mass and Wise bulk payouts on every plan, one-click PayPal on Enterprise, or optional Managed Payouts at 3% | 14 days |
| FirstPromoterFirstPromoter pricing, explained | $49/mo | Not stated on the pricing page | Stripe, Paddle, Chargebee, Braintree, Recurly and others | Mass payouts by PayPal, Wise, Stripe, crypto or bank transfer on every plan, one-click direct PayPal from Business, and managed auto payouts on Enterprise | 14 days, no card required |
| ToltTolt alternatives | $99/mo | No percentage of revenue stated on the pricing page. Auto payouts carry a 2% processing fee, and its help centre adds $8 per bank transfer or 4% by card to fund each payout invoice. | Stripe, Paddle and Chargebee; anything else through its webhooks or API | Auto payouts on every plan (you pay Tolt one invoice each cycle and it pays affiliates by PayPal, Wise, local bank or wire), or manual payouts from a CSV export; custom payout methods from Pro | 14 days, no card required, 30-day refund policy |
| AffonsoAffonso alternatives | €15/mo (Launch, billed yearly only) | No cut of partner revenue. Managed payouts, from Growth, add a $25 service fee per invoice (waived on Elite), a 3.25% surcharge when you pay that invoice by Stripe (2.8% by Revolut) and $0.50 per payout after the first 25. | Stripe, Paddle, Polar, Creem and Dodo Payments | PayPal mass, Wise bulk or wire transfer exports on every plan, or managed payouts from Growth, where Affonso invoices you and pays affiliates by PayPal or wire | 14 days |
| PartneroPartnero alternatives | $59/mo (Starter), or $49/mo billed annually | No fee on direct payouts from your own PayPal or Wise. Managed payouts, where Partnero pays on your behalf, carry a 7% fee | Stripe, Paddle, Chargebee, PayPal, Razorpay, Shopify, WooCommerce, BigCommerce, Squarespace and others | Automated from your own PayPal or Wise account at no Partnero fee (affiliates can also choose wire transfer, Venmo or crypto), or Payouts by Partnero for 7%, which currently pays primarily by PayPal. Optional W-9 and W-8 collection | 30 days |
| RefgrowRefgrow alternatives | $29/mo (Starter) | 0% transaction fees; payment providers may charge their own processing or payout fees | Stripe, Paddle, Lemon Squeezy, Polar and Dodo Payments | Automated through your own PayPal or Wise credentials from Pro; bank transfer, Payoneer or crypto recorded by hand. Self-billing invoices with EU VAT handling | 7 days, card required |
Choosing on tracking method rather than price? The tracking software comparison explains what webhook, script and coupon tracking each catch and miss.
What Paddle merchants ask before setting a program up
No. Paddle is your merchant of record and billing system: checkout, subscriptions, tax, invoicing, and a notification for every transaction. Partner accounts, tracking links, commission rules, refund handling and payouts are not part of it. LinkJolt adds that layer on top, using the transaction.completed notification as the record of what was sold. This works with Paddle Billing; Paddle Classic is not supported.
Server-side. Our script stores the affiliate reference when a visitor arrives from a tracking link, one line in Paddle.Checkout.open() passes it to Paddle as customData, and Paddle sends it back inside the transaction.completed notification. LinkJolt verifies the notification against the secret key of your notification destination, then records the sale against the right affiliate. Because the sale is confirmed by Paddle rather than the browser, ad blockers and cleared cookies cannot lose it.
One line. Add customData: { linkjolt: window.linkjolt?.referral || "" } inside your Paddle.Checkout.open() call. If you cannot edit checkout at all, use coupon codes instead: register the Paddle discount against an affiliate in LinkJolt and any transaction that uses it is credited to them, with no code change.
Four, and when you connect with a Paddle API key LinkJolt subscribes them for you: transaction.completed, which carries every sale, renewal and paid invoice, adjustment.created and adjustment.updated, which carry chargebacks, credits and refunds (Paddle approves a refund in adjustment.updated), and subscription.canceled, which closes a free trial that ended before its first payment. Setting the destination up by hand? The Paddle tab lists the same four events next to your webhook URL.
The commission is reversed once Paddle approves the refund. A full refund or chargeback reverses the commission and cancels any queued payout for it, a partial refund reduces it in proportion, and if you win the chargeback the commission comes back. Your affiliate sees each change in their portal.
Yes, on the Professional plan and above. Every renewal arrives as a transaction.completed notification and pays the affiliate who referred the customer, at the recurring rate you set for the campaign, with a cap by number of months or number of payments if you want one. A free trial is recorded when it starts and earns commission on its first real charge.
Paddle does not pay affiliates, so payouts run separately. Automated payouts use Stripe Connect: your saved card funds the payout and Stripe transfers each affiliate their share, reaching the US, UK, EEA, Canada and Switzerland. For affiliates elsewhere, export a mass-payout CSV for PayPal or Wise. Every conversion waits as pending until you approve it, so nothing is paid on a sale you have not reviewed.
Plans start at $19.99 a month with 0% transaction fees on affiliate revenue, and there is a 7-day free trial with a card required. Paddle tracking is included on every plan.