Showing

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

Use coupon code attribution on Stripe, Paddle, Polar, Creem, Lemon Squeezy or Apple. Create a discount code in your payment processor, register it in LinkJolt against an affiliate, and LinkJolt matches the discount when an order uses it. No checkout code changes needed.

3 min read
Updated Oct 28, 2026

Coupon code attribution lets you track affiliate sales with zero checkout changes. It covers Stripe coupons, Paddle, Polar, Creem and Lemon Squeezy discounts, and Apple offer codes. Lemon Squeezy takes one extra step: its webhook never names the code, so LinkJolt reads it through a Lemon Squeezy API key you save under Integrations, on the Payment Links tab. On Gumroad, GoPay or WooCommerce, LinkJolt does not read discount codes, so use tracking links there instead.

How it works

  1. Create a discount or promotion code in your payment processor, exactly as you normally would.
  2. In LinkJolt, go to Campaigns, open the Coupons tab and choose Create coupon. Pick the provider, enter the same code, and choose the affiliate it belongs to.
  3. When a customer checks out with the code, LinkJolt reads the discount from the sale and attributes it to that affiliate.
Affiliate coupon
SARAH20
20% off, tracked to Sarah
Created in your processor, registered in LinkJolt

Give LinkJolt the id your processor sends

Some processors send an id rather than the code itself, so the code alone is not always enough to match a sale.

  • Paddle sends only the discount id, so the Paddle Discount ID field is required when you register a Paddle discount. It starts with dsc_ and you will find it on the discount in your Paddle dashboard.
  • Stripe sends the promotion code id when a customer types a promotion code at checkout. Paste that id into the optional Stripe Promotion Code ID field. It starts with promo_. Leave it blank only when your own checkout applies the coupon and customers type nothing, and then the code you register must be the Stripe coupon's ID.
  • Polar sends the code itself with the sale, so the code alone is enough and the Polar Discount ID field is optional.
  • Creem sends both the code and the discount's id with the sale, so the code alone is enough and the Creem Discount ID field is optional. Fill it in too if you renamed the code in Creem.
  • Lemon Squeezy has no id field. LinkJolt asks Lemon Squeezy which code the order used, through your API key, and matches that code.
  • Apple offer codes match on the offer identifier you set when you created the batch in App Store Connect, so enter that identifier exactly.

If LinkJolt creates the code for you

On Stripe, Polar and Creem you can also let LinkJolt create codes in your own account. If you have set that up on the Coupons tab, the coupon form defaults to creating the code for you, so switch it to "I already created it in Stripe" (or Polar, or Creem) to follow the steps above. A campaign can also give every approved affiliate their own code automatically, created in your Stripe, Polar or Creem. Paddle, Lemon Squeezy and Apple codes are always added by hand.

Either way, LinkJolt never edits or deletes a code that already existed in your account. Deleting a coupon in LinkJolt stops the tracking, and the code stays live in your processor until you remove it there.

Register the code in LinkJolt before the affiliate starts sharing it. Orders placed before the code is registered cannot be matched retroactively without a manual backfill.

This is the simplest path for merchants who do not want to touch their checkout, and it pairs well with tracking links for full coverage.

Start your affiliate program

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