Skip to content
Gaurav TiwariDocs

How to Start a Referral Program for Digital Products

Updated October 19, 2026

Your customers already recommend your templates, plugins or courses to friends. They just have no reason to do it twice. A full affiliate platform with tracking links, cookies and sign-up forms is a lot to run for a handful of happy buyers.

A simpler referral program for digital products gives each paying customer a personal coupon code. A friend who uses it gets a discount, the customer earns a cash commission on that paid order, and you pay it after your refund window closes. There are no links to break and no cookies to lose, because the code on the order decides who earns.

GT Extensions for FluentCart is my add-on plugin for FluentCart, and its Coupon Affiliates module runs this whole program. I’ll set it up from the first setting to your first payout.

Before You Start

You need 3 things in place:

  • FluentCart 1.6.4 or newer with customer accounts. Customers join from their FluentCart account, so a guest checkout should create one.
  • A refund policy you know, such as 14 or 30 days. The commission hold should match it.
  • A way to pay affiliates, such as a bank transfer or PayPal. The module records payouts but never sends money or collects bank details.

If FluentAffiliate, AffiliateWP, SliceWP or Solid Affiliate is active, turn off its FluentCart integration first. Two programs paying on the same coupon means paying twice.

Turn It On and Set Your Terms

  1. Go to FluentCart → GT Extensions, enable Coupon Affiliates and click Save Settings.
  2. Open FluentCart → Affiliates → Settings.
  3. Set the program under Program, then click Save settings.
Coupon Affiliates program settings with Joining, a 10 percent buyer discount, 10 percent commission, a 30-day refund hold, program terms and the share message

These are the settings that shape the program:

SettingDefaultWhat to decide
JoiningCustomers with a paid order get a code right awayChoose I approve each request first to check each person
Buyer discount (%)10What the friend saves
Commission (%)10What the customer earns, after discounts and before tax
Refund hold (days)30Match your refund window, from 0 to 365
Minimum payout0The smallest amount worth a transfer
Code prefixEmptyUp to 12 letters or numbers, such as REF
Excluded product IDsEmptyProducts that get no discount and earn nothing

Read the default Program terms and edit them to match your business. Each customer’s acceptance stores the version of the terms they agreed to, and editing the text creates a new version.

The 10% defaults are a starting point. A digital product costs almost nothing to deliver, so a bigger discount and commission can still leave a healthy margin. It is wise to check the numbers on your cheapest product before you raise either one.

How Customers Join

Refer & Earn appears in the FluentCart account menu of every customer with at least one paid order. Customers who haven’t paid for anything don’t see it. Before joining, the page shows the discount, the commission and your terms, with a box to accept them and a Join and get my code button.

After joining, the customer sees:

  • their code, such as JORDAN7K2M, with a Copy button
  • a ready-made share message with a Copy button
  • a share link that applies the code, while Extra Enhancements coupon links are on
  • balances per currency: on hold, approved and paid
  • their referral orders with an anonymous reference such as R-000042

Friends are never named. An affiliate sees no names, emails or products from the orders they referred.

To put the same panel on any page, use the shortcode:

[gtfc_refer_earn]

You can also add someone yourself. On the Affiliates tab, enter their account email or username and click Add affiliate. Their coupon is created at once, even without a paid order.

What Earns a Commission

A commission is created when FluentCart records the payment for an order that uses the code. It’s worked out on what the friend paid for each product after discounts, before tax.

Here is an example with the defaults. A friend buys a USD 49 template with a code that gives 10% off. They pay USD 44.10, and the affiliate earns 10% of that, USD 4.41, held for 30 days.

These never earn:

  • shipping, tax, fees and signup fees
  • subscription renewals and plan upgrades
  • GT invoice, quote and deposit payments
  • orders placed in FluentCart test mode
  • the affiliate’s own orders, matched by account, customer record or email

The code works for a friend’s repeat purchases too, so a returning buyer who uses it again earns the affiliate another commission.

Approve and Pay

Commissions stay On hold for your refund period. When the hold ends, they move to Ready for approval and wait for you. Nothing is approved or paid automatically.

  1. Open FluentCart → Affiliates → Commissions and filter by Ready for approval.
  2. Click Approve every commission ready for approval, or open each one to approve it.
  3. On the Payouts tab, click Reserve payout for an affiliate. This locks the commissions while you pay.
  4. Download the CSV if you want a record, then send the money your usual way.
  5. Enter the method, the exact amount, the date and the transfer reference, then click Mark paid.

A refund after you’ve paid creates an adjustment, which comes off that affiliate’s next payout. You never have to ask for money back.

Check It Works

Make a test order before you announce the program:

  1. Sign in as a customer account with a paid order and open Refer & Earn. Join and copy the code.
  2. In a private window, buy a product as a different customer with that code.
  3. Open FluentCart → Affiliates → Commissions. The order should appear as On hold with the commission amount, or as Test ledger if the store is in test mode.

The affiliate’s Refer & Earn page shows the same order with its anonymous reference.

When Something Goes Wrong

These messages show to customers at checkout or on the Refer & Earn page:

MessageWhat it meansFix
The referral program opens after your first paid order.The customer has no paid order yetExpected. Add them yourself from the Affiliates tab if you want
You cannot use your own referral code. Remove it to continue.The buyer is the affiliate, by account, customer record or emailExpected. Self-referrals never earn
This referral code is not available right now. Remove it to continue.The program is paused, or the affiliate is suspendedCheck Pause new referrals and the affiliate’s status
Coupon Affiliates is holding new commissions because … is active.Another affiliate plugin is activeTurn off its FluentCart integration and confirm under Other affiliate plugins
The amount is below the minimum payout.The approved amount is under your Minimum payoutWait for more approved commissions, or lower the minimum

What It Won’t Do

The program is built on coupons, and a few limits follow from that:

  • The code decides who earns. There is no tracking cookie, so a friend who removes the code doesn’t earn the affiliate anything.
  • It doesn’t send emails. Affiliates check their balance on Refer & Earn, and you tell them about approvals and payouts your usual way.
  • It doesn’t pay anyone. You send the money and record it.
  • One rate per program, with a personal rate you can set for one affiliate. There are no per-product rates.

Run a Refer and Earn Program with Coupon Affiliates covers refunds, payouts and the review screen in full. If your digital product is a set of pages or templates buyers open after checkout, How to Give Buyers a Private Download Page sets that up.

Share

Was this helpful?

Still stuck? Open a support ticket