Affiliate software features, in one honest list.
These are all of AffiliateTracking's affiliate software features, grouped by job. Each one says where you use it: the admin screen, the API or the command line. What isn't built yet is at the bottom, with what to do meanwhile.
The admin overview, running on demo data.
Where you use it: Screen admin screen or portal API REST API CLI command line Webhook automatic, from your billing tool Database recorded for you. Self-host and cloud get every feature.
Tracking and attribution
Who sent the sale, worked out the same way every time. First touch wins and the customer stays with that affiliate.
Setup for each billing tool- Tracking links
Every affiliate gets a short link. Clicks redirect to your site in one hop.
- Custom link names
Give a partner a readable link like /r/podcast instead of a number.
- Signed attribution cookie
Remembers the click for 1 to 365 days, 30 by default. It's signed, so nobody can forge it.
- Lifetime customers
Once an affiliate brings a customer, renewals keep crediting that affiliate.
- Coupon attribution
A sale with an affiliate's coupon credits them, even with no click. Coupons arrive by CSV import, and your checkout passes the code along.
- SubIDs and UTM tags
Affiliates tag links with a subid, UTM fields or any extra parameter, then drill into results.
- Bot and datacenter filter
Stats skip known bots, and the fraud rules watch datacenter traffic.
- Visitor country
Read from your CDN's geo header, only when the request came through a proxy you trust.
- Unique visitors per day
A daily unique count per affiliate, next to the raw click count.
- Redirect allowlist and rate limit
Links only send people to domains you allow, and each IP gets 120 clicks a minute.
Commissions
Set the rate once. AffiliateTracking handles renewals, refunds and holds from there.
- Percent or fixed rates
Pay a share of each sale or a flat bounty. Amounts are exact, in whole units of each currency. A fixed rate only pays sales in its own currency.
- Per-product rates
A different rate per Stripe price, Paddle price, Lemon Squeezy variant, Polar product or Chargebee item.
- A special rate for one partner
Give your best partner 40% while everyone else earns 25%. It applies to their new sales, and it always comes before bonus tiers.
- Bonus tiers
Once a partner's total sales pass an amount you pick, every sale after that earns a higher rate. Partners see how close they are in their portal.
- Recurring commissions
Renewals credit the affiliate who brought the customer, for as long as they stay.
- Refund clawbacks
Full and partial refunds take back the same share of the commission, down to the cent.
- Refund window
Commissions wait 30 days before they can be paid. Set your own wait per program.
- Usage-based commissions
Affiliates earn on metered spend, like credits or tokens, for customers already linked to them.
Fraud and money safety
Bad sales wait on hold before payday, and the ledger writes every cent down twice.
The 13 rules, one by one- 13 fraud rules
Coupon hijacks, self-referrals, click bursts, bot traffic and more, each with a published threshold.
- Money holds
A rule that fires holds the commission in the same transaction that credits it. No payout run can pay it until you decide.
- Release or uphold
Release a hold and it pays as normal. Uphold it and the ledger claws the money back. One button each.
- Pause a partner
One button stops their sign-in, new credit and payouts, keeping what they earned. Resume when you're ready. Fraud freezes use the same pause.
- Dry-run mode
Run every rule and read the verdicts without holding anything.
- Screen older sales
After an upgrade, screen-backfill runs the rules on sales older releases never screened. Dry run first.
- 5-minute sweep
Rules run on each sale and again every 5 minutes, since some patterns only show over time.
- Double-entry ledger
Every sale, refund and payout is a journal that sums to zero. Nobody edits a journal.
- Replay-safe webhooks
Each billing event counts once, however many times it arrives.
- Doctor
One command runs 6 checks on your books, per currency, and exits with an error if anything is off. SQLite installs.
- One balance per currency
Each currency has its own balances, payouts and minimum. AffiliateTracking never converts currencies or adds them together.
- Payout runs
One payout per affiliate and currency, covering whole commissions, above your minimum.
- Preview
See every payout a run would make before you create it. The real run uses the same plan.
- Refund netting
Refunds after payday come off the next payout.
- Tax form gate
Affiliates upload a W-9, W-8BEN or W-8BEN-E in their portal. It's stored encrypted, and while it's pending or rejected that affiliate stays out of the run.
- PayPal and Wise files
Download a payout file for PayPal or Wise. It lists only payouts that pass every check, and a payout is never in two files.
- Mark as paid
Marking a payout paid re-checks holds, tax forms and refunds, then records the payment in the ledger.
- Partners see their payouts
A Your payouts list in the portal shows each payout's date, amount, method and status.
- Audit log
Every payout and tax form status change lands in an append-only log in your database.
Affiliate portal
Your affiliates see their own numbers, worked out from the same ledger you use.
- Earnings
Pending, approved, payable and paid amounts, plus clicks, conversions and earnings per click.
- Their own ledger
Every journal that touched their balance, each with a sum of 0 and a running total.
- Link builder
Affiliates make tracking links to any allowed page, with their own subid.
- Levels and badges
XP from real earnings, 6 badges and a public leaderboard.
- Tax hold notice
If a tax form blocks payment, the portal says so, so they know why.
- Partner signup page
Affiliates apply at /apply on your dashboard address. Approve them and they get a sign-in link by email.
- Partner emails
Sign-in links on approval and on request, and a note when you mark their payout paid. Cloud sends them for you; self-host uses your Postmark or Resend key.
- Where partners get paid
Partners add their PayPal or Wise email or bank details in their portal. You see it next to each payout, and the PayPal and Wise files use it. We encrypt bank details, and we email partners who haven't added theirs when a payout is waiting.
- A heads-up when something needs you
One short email when applications, held commissions, payouts or tax forms are waiting. At most once a day, only when something is new.
- A Monday report
Every Monday: last week's clicks, sales and commission next to the week before, and your top three partners.
- Resources for partners
Upload banners and logos, and write text partners can paste. Their portal fills in their own referral link.
- Test your setup
One button checks the script on your site, watches a test click arrive, and shows a test sale credited, live.
- A polite no
Reject an application with an optional reason, and the applicant gets a short, kind email instead of silence.
- Teammates and two-step sign-in
On Cloud, invite up to 10 teammates with their own logins. Turn on two-step sign-in with any authenticator app, with recovery codes.
- Tips and monthly recaps for partners
New partners with no clicks after a week get three easy ways to share their link. On the 1st, every active partner gets their month and what's ready to pay. Each email has a one-click unsubscribe.
- Email your partners
Send program news to every active partner from the dashboard. Each email has a one-click unsubscribe, and it skips paused partners.
- Your name, logo and color
Upload your logo in Settings. It shows with your program name and color in the portal, on your signup page and in your dashboard.
- Portal on your own domain
On Cloud, add a domain like partners.yourapp.com in Settings and one DNS record. We set up and renew the HTTPS certificate for you.
- 6 billing integrations
Stripe, Paddle, Chargebee, Recurly, Lemon Squeezy and Polar, each checked by signature or password.
- REST API
67 routes: 46 for admins, 11 for affiliates and 10 public ones.
- Scoped API keys
Admin keys or keys that only see one affiliate. Stored hashed, made from the command line.
- Postbacks to affiliates
Send each conversion to an affiliate's own tracker, signed, with 5 retries.
- Read-only MCP server
Ask an MCP client like Cursor about holds, earnings and usage. It can't change anything.
- Test conversions
Push a test sale through the real engine, fraud checks included.
Privacy and running it
A single binary with SQLite built in. It covers the boring parts too.
Run it on your own server- SQLite or Postgres
SQLite needs no setup. Postgres works too, with an optional two-role setup.
- Backup and restore
Copy the database while it runs, then restore with a check before the swap. SQLite only.
- IP trimming
Drop the last part of each IP before it's hashed. Raw IPs are never stored.
- Click retention
It deletes raw clicks after 90 days by default. Totals stay.
- GDPR export and erase
Export or erase an affiliate's data, and the books still balance.
- CSV import
Bring affiliates, links and coupons from Rewardful, FirstPromoter, Tapfiliate or Tolt. Dry run first.
- Benchmarks
Run the click benchmark on your own hardware and see the numbers yourself.
- One file per system
Linux, Mac and Windows builds of 26 to 28 MB each, with nothing else to install.
Before you ask
Not built yet
Most tools list what they do. Here's what AffiliateTracking doesn't do today, and what to do meanwhile. When one ships, it moves up the page.
- Sending payouts for youPay through your own PayPal, Wise or bank, using the payout files, then mark each payout paid.
- Multi-level commission payoutsIt tracks sponsor trees and team volume. Paying out on them isn't built.
- Sales from other checkouts, like ShopifyOnly the 6 billing integrations can report sales. WooCommerce stores can use the separate WordPress plugin.
Features FAQ
Does self-host get every feature?
Yes. Self-host is open source with no plan limits. See what each plan includes.
Which billing tools does it work with?
Stripe, Paddle, Chargebee, Recurly, Lemon Squeezy and Polar. Each sends its events to your install, and AffiliateTracking checks each one's signature or password first.
Does it have an API?
Yes, a REST API with 67 routes. You make admin keys, or keys that only see one affiliate, from the command line.
Can affiliates sign up on their own?
Yes. They apply at /apply on your dashboard address, for example yourbrand.affiliatetracking.co/apply. You approve each application in the admin screen, and they get a one-time sign-in link by email. Cloud sends it for you. Self-host sends it once you add a Postmark or Resend key, and the admin screen always shows the link to copy.
Does it email affiliates?
Yes, once email is on. Partners get sign-in links, a note when you pay them, tips for new partners, a monthly recap and your program news. You can switch each one off in Settings.
Can I bring my affiliates from another tool?
Yes. CSV import from Rewardful, FirstPromoter, Tapfiliate and Tolt brings affiliates, their links and coupons. Balances stay behind, so pay those out first.
Everything above,
free and open source.
Self-host gets every feature on this page, with no plan limits. Or let us run it for you.