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.

Admin overview on demo data, with the sidebar menu: 19,081 clicks, 856 conversions, $2,949.00 paid out, 21 payouts to approve, 26 open fraud verdicts and 29 held commissions, then a list of what needs attention and a chart of the last 30 days.

The admin overview, running on demo data.

69features on this page
6billing integrations
13fraud rules that hold money
67REST API routes

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.

    Screen
  • Custom link names

    Give a partner a readable link like /r/podcast instead of a number.

    API
  • Signed attribution cookie

    Remembers the click for 1 to 365 days, 30 by default. It's signed, so nobody can forge it.

    API
  • Lifetime customers

    Once an affiliate brings a customer, renewals keep crediting that affiliate.

    Webhook
  • 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.

    CLI
  • SubIDs and UTM tags

    Affiliates tag links with a subid, UTM fields or any extra parameter, then drill into results.

    API
  • Bot and datacenter filter

    Stats skip known bots, and the fraud rules watch datacenter traffic.

    Screen
  • Visitor country

    Read from your CDN's geo header, only when the request came through a proxy you trust.

    API
  • Unique visitors per day

    A daily unique count per affiliate, next to the raw click count.

    API
  • Redirect allowlist and rate limit

    Links only send people to domains you allow, and each IP gets 120 clicks a minute.

    CLI

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.

    API
  • Per-product rates

    A different rate per Stripe price, Paddle price, Lemon Squeezy variant, Polar product or Chargebee item.

    API
  • 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.

    ScreenAPI
  • 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.

    ScreenAPI
  • Recurring commissions

    Renewals credit the affiliate who brought the customer, for as long as they stay.

    Webhook
  • Refund clawbacks

    Full and partial refunds take back the same share of the commission, down to the cent.

    Webhook
  • Refund window

    Commissions wait 30 days before they can be paid. Set your own wait per program.

    API
  • Usage-based commissions

    Affiliates earn on metered spend, like credits or tokens, for customers already linked to them.

    ScreenAPI

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.

    Screen
  • 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.

    Screen
  • Release or uphold

    Release a hold and it pays as normal. Uphold it and the ledger claws the money back. One button each.

    ScreenAPI
  • 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.

    ScreenAPI
  • Dry-run mode

    Run every rule and read the verdicts without holding anything.

    CLI
  • Screen older sales

    After an upgrade, screen-backfill runs the rules on sales older releases never screened. Dry run first.

    CLI
  • 5-minute sweep

    Rules run on each sale and again every 5 minutes, since some patterns only show over time.

    Screen
  • Double-entry ledger

    Every sale, refund and payout is a journal that sums to zero. Nobody edits a journal.

    Screen
  • Replay-safe webhooks

    Each billing event counts once, however many times it arrives.

    Webhook
  • Doctor

    One command runs 6 checks on your books, per currency, and exits with an error if anything is off. SQLite installs.

    CLI
  • One balance per currency

    Each currency has its own balances, payouts and minimum. AffiliateTracking never converts currencies or adds them together.

    ScreenAPI

Payouts

Know exactly who to pay and how much before any money moves.

How a payout run decides
  • Payout runs

    One payout per affiliate and currency, covering whole commissions, above your minimum.

    ScreenAPI
  • Preview

    See every payout a run would make before you create it. The real run uses the same plan.

    ScreenAPI
  • Refund netting

    Refunds after payday come off the next payout.

    ScreenAPI
  • 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.

    ScreenAPI
  • 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.

    ScreenAPI
  • Mark as paid

    Marking a payout paid re-checks holds, tax forms and refunds, then records the payment in the ledger.

    ScreenAPI
  • Partners see their payouts

    A Your payouts list in the portal shows each payout's date, amount, method and status.

    ScreenAPI
  • Audit log

    Every payout and tax form status change lands in an append-only log in your database.

    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.

    Screen
  • Their own ledger

    Every journal that touched their balance, each with a sum of 0 and a running total.

    Screen
  • Link builder

    Affiliates make tracking links to any allowed page, with their own subid.

    Screen
  • Levels and badges

    XP from real earnings, 6 badges and a public leaderboard.

    Screen
  • Tax hold notice

    If a tax form blocks payment, the portal says so, so they know why.

    Screen
  • Partner signup page

    Affiliates apply at /apply on your dashboard address. Approve them and they get a sign-in link by email.

    ScreenAPI
  • 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.

    Screen
  • 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.

    ScreenAPI
  • 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.

    Screen
  • A Monday report

    Every Monday: last week's clicks, sales and commission next to the week before, and your top three partners.

    Screen
  • Resources for partners

    Upload banners and logos, and write text partners can paste. Their portal fills in their own referral link.

    ScreenAPI
  • Test your setup

    One button checks the script on your site, watches a test click arrive, and shows a test sale credited, live.

    ScreenAPI
  • A polite no

    Reject an application with an optional reason, and the applicant gets a short, kind email instead of silence.

    ScreenAPI
  • 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.

    Screen
  • 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.

    ScreenAPI
  • 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.

    ScreenAPI
  • 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.

    API
  • 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.

    API

Integrations and developers

For people who read the docs before they run things.

The API reference
  • 6 billing integrations

    Stripe, Paddle, Chargebee, Recurly, Lemon Squeezy and Polar, each checked by signature or password.

    Webhook
  • REST API

    67 routes: 46 for admins, 11 for affiliates and 10 public ones.

    API
  • Scoped API keys

    Admin keys or keys that only see one affiliate. Stored hashed, made from the command line.

    CLI
  • Postbacks to affiliates

    Send each conversion to an affiliate's own tracker, signed, with 5 retries.

    API
  • Read-only MCP server

    Ask an MCP client like Cursor about holds, earnings and usage. It can't change anything.

    API
  • Test conversions

    Push a test sale through the real engine, fraud checks included.

    CLI

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.

    CLI
  • Backup and restore

    Copy the database while it runs, then restore with a check before the swap. SQLite only.

    CLI
  • IP trimming

    Drop the last part of each IP before it's hashed. Raw IPs are never stored.

    CLI
  • Click retention

    It deletes raw clicks after 90 days by default. Totals stay.

    CLI
  • GDPR export and erase

    Export or erase an affiliate's data, and the books still balance.

    CLI
  • CSV import

    Bring affiliates, links and coupons from Rewardful, FirstPromoter, Tapfiliate or Tolt. Dry run first.

    CLI
  • Benchmarks

    Run the click benchmark on your own hardware and see the numbers yourself.

    CLI
  • One file per system

    Linux, Mac and Windows builds of 26 to 28 MB each, with nothing else to install.

    CLI

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.