Affiliate operations
How to use it
- Configure the program — commission model, tiers, cookie window, hold period.
- Open applications, or invite partners directly.
- Approve partners. Each approved partner gets a tracking code, a discount code and a portal link.
- Stock the asset library so partners have something to promote with.
- Run payouts on a period, with a second person approving.
⏱ ~30 min setup · 💳 Starter+ (payout approval Enterprise) · 🎯 A partner channel you can actually govern
The nine tabs
| Tab | What it is for |
|---|---|
| Overview | Program KPIs, leaderboard and timeseries |
| Partners | The partner CRM |
| Applications | Pending applications awaiting approval |
| Commissions | The conversion ledger |
| Payouts | Batches, approval and payment records |
| Fraud | The signal queue |
| Assets | Creative library — swipe copy, banners, deep links |
| Recruit | AI-assisted creator matching and outreach angles |
| Program | Configuration, tiers and compliance settings |
Attribution
This is where most affiliate tooling is weakest, so it is worth understanding.
A partner link goes through a redirect that records the click — with the IP hashed — and sets a session token as both a cookie and a cart attribute. When an order is paid, the winning partner is resolved in a fixed precedence: coupon code, then order-note reference, then click token.
That precedence is what makes the channel measurable. Coupon-only attribution credits nothing when a customer clicks a partner's link, browses for a week and buys without remembering the code — which is a large share of real affiliate traffic.
Exactly one commission is booked per order. Self-referral and first-order guards are applied before booking.
Commission model
Commission maths is deliberately isolated from everything else so each rule is exhaustively testable. Amounts are handled in major units and rounded to cents at every boundary, so a commission cannot carry sub-cent drift into a payout.
| Concept | What it does |
|---|---|
| Rate | Percentage or fixed amount |
| Tiers | Different rates per partner tier |
| Cookie window | How long after a click an order still attributes |
| Hold period | How long a conversion waits before becoming payable |
| First-order only | Restrict commission to a customer's first purchase |
The commission ledger
Each conversion moves through a lifecycle:
| State | Meaning |
|---|---|
| Pending | Booked, inside the hold period |
| Matured | Hold elapsed, payable |
| Approved | Explicitly approved for payout |
| Reversed | Clawed back — refund, cancellation or fraud |
| Paid | Settled on a payout batch |
The ledger is idempotent per store, order and partner, so a redelivered webhook never double-credits.
Each non-reversed conversion also emits an affiliate credit into the unified revenue attribution ledger, so affiliate revenue appears in the cross-engine headline — capped and split against other engines claiming the same order — rather than only inside this hub.
Fraud controls
| Detector | What it catches |
|---|---|
| Self-purchase | A partner ordering through their own code — blocked upstream |
| Velocity | An implausible conversion rate in a short window |
| Duplicate IP | Many clicks or conversions from one address — bot traffic or self-farming |
| Coupon leak | A code used by many distinct customers very quickly, typical of a leak to a coupon-aggregator site rather than real referral traffic |
| Chargeback | A refund or chargeback on an affiliate order, which also feeds the clawback |
A high or critical signal auto-holds that partner's conversions at maturation — before payment, not after. Recovering money already paid to a partner is, in practice, not something that happens.
Coupon leak is worth calling out: an aggregator site listing your partner's code generates volume that looks like success and is almost entirely discount abuse by customers who were going to buy anyway.
Payouts
A payout groups a partner's payable conversions for a period into one batch.
| Stage | Who |
|---|---|
| Draft | Whoever is building it |
| Pending approval | Submitted |
| Approved | A different person with payout approval |
| Paid | Reference recorded; conversions stamped paid and totals reconciled |
The person who builds and submits a batch cannot be the person who approves it. This is checked on the actual user, not on permissions held — holding both is not a way around it.
The app records the payment; it does not move the funds. Actual settlement happens through your PayPal batch, bank file or store-credit issuance, and the reference goes on the batch.
Compliance
| Area | What it does |
|---|---|
| Tax profiles | W-9 and W-8BEN captured before payout when the program requires it |
| 1099 export | US partners paid $600 or more in a calendar year |
| FTC disclosure | Required affiliate-disclosure language injected into generated partner copy |
| GDPR erasure | Right-to-be-forgotten for a partner, preserving the financial ledger in anonymised form |
The full value is never persisted. That is enough to produce a 1099 and to let a partner recognise their own record, without holding a complete identifier you would then have to protect.
FTC disclosure matters more than it sounds: generated partner copy that promises commissions while omitting the legally required "#ad" or "affiliate link" language leaves your partners non-compliant on your behalf.
Assets and the partner portal
The asset library holds swipe copy, banners and deep links, surfaced both in your admin and in the partner-facing portal. A new program can be seeded from its generated copy, so partners arrive to a starter kit rather than an empty shelf.
Each approved partner gets a portal link, a tracking code and a minted Shopify discount code.
Recruitment
Two paths:
- AI creator matching — grounded in your store's niche, proposes creator archetypes and outreach angles, which addresses the most common complaint about affiliate programmes: not knowing who to approach.
- Import from an existing platform — if you already run Refersion, GoAffPro or Impact, adapters import partners and conversions so this hub becomes the analytics and governance layer over what you already have. Adapters require stored credentials and report a clear "credentials required" state until they exist, rather than failing silently.
Analytics
| Metric | What it answers |
|---|---|
| Clicks → conversions → EPC | Earnings per click, the number partners care about |
| Leaderboard | Who is actually producing |
| Partner-acquired customer LTV | Whether affiliate customers are worth keeping |
| Channel ROAS | Commission spend against revenue produced |
| Daily timeseries | Trend, for charts |
Permissions
| Permission | Grants | Minimum plan |
|---|---|---|
affiliate:read:all | View the hub | Free |
affiliate:manage | Configure programs and tiers, approve, reject, suspend, triage fraud | Starter |
affiliate:payout:manage | Build and submit payout batches | Pro |
affiliate:payout:approve | Approve payout batches (checker) | Enterprise |
Plan tiers
| Capability | Free | Starter | Pro | Agency | Enterprise |
|---|---|---|---|---|---|
| View the hub and analytics | ✓ | ✓ | ✓ | ✓ | ✓ |
| Program config, tiers, partner CRM | — | ✓ | ✓ | ✓ | ✓ |
| Click + coupon attribution | — | ✓ | ✓ | ✓ | ✓ |
| Commission ledger and clawbacks | — | ✓ | ✓ | ✓ | ✓ |
| Fraud queue | — | ✓ | ✓ | ✓ | ✓ |
| Asset library and partner portal | — | ✓ | ✓ | ✓ | ✓ |
| Payout batches | — | — | ✓ | ✓ | ✓ |
| AI creator matching | — | — | ✓ | ✓ | ✓ |
| Third-party platform import | — | — | ✓ | ✓ | ✓ |
| Payout approval (second checker) | — | — | — | — | ✓ |
Best practices
- Set a hold period longer than your refund window. Paying commission on an order that gets refunded next week is the most common way these programmes lose money.
- Watch the coupon-leak detector in the first month. A new code reaching an aggregator early can consume a quarter's budget.
- Approve partners deliberately. An open programme fills with coupon sites, and coupon sites do not create demand.
- Stock the asset library before you launch. Partners who have to make their own creative mostly do not promote.
- Reconcile payouts against the ledger, not against partner emails. The ledger is the record; a partner's spreadsheet is a claim.
See also
- Referral program — customer-to-customer referrals, a different motion
- Loyalty referrals — referrals inside the loyalty programme
- Attribution & revenue — where affiliate credit lands in the wider ledger
- Approval queues — the maker-checker pattern used here