🔗
Business

Affiliate/Referral System

Admin Settings

Referral tracking with commissions and payouts

Overview

Complete affiliate program for referral marketing. Users can become affiliates with unique referral codes/links. Track clicks, conversions, and automatically calculate commissions on shop orders or subscriptions. Manage commission approvals and process payouts.

Design Considerations

UX patterns and visual design notes for this feature:

  • •Affiliate dashboard with stats
  • •Referral link/code display
  • •Click and conversion charts
  • •Commission history table
  • •Payout request form
  • •Admin affiliate management
  • •Commission approval workflow
  • •Payout processing interface

Key Benefits

What makes this feature stand out:

  • ✓Unique referral codes and links
  • ✓Cookie-based click tracking
  • ✓Configurable attribution window
  • ✓Percentage or fixed commissions
  • ✓Auto-track shop orders
  • ✓Auto-track subscriptions
  • ✓Commission approval workflow
  • ✓Multiple payout methods
  • ✓Affiliate dashboard with stats
  • ✓Top affiliates leaderboard
Technical Note

AffiliateHelper for tracking and commissions. Call AffiliateHelper::trackVisit() early in request lifecycle (e.g., in Application bootstrap). Call AffiliateHelper::recordConversion() when orders are placed. Cookie stores referral code for attribution window.

Helpers
AffiliateHelper
Models
AffiliateAffiliateClickAffiliateCommissionAffiliatePayout
Database Tables
affiliateaffiliate_clickaffiliate_commissionaffiliate_payout

Configuration

Config Relationship Legend
⚙ DB overrides params.php🔗 DB related setting📋 DB stores value only
params.php Configuration

Config path: params['affiliates']

params['features']['affiliates'] => trueparams['affiliates']['autoApprove'] => falseparams['affiliates']['defaultCommissionRate'] => 10.00params['affiliates']['defaultCookieDays'] => 30params['affiliates']['commissions']['trackOrders'] => trueparams['affiliates']['payouts']['minimumPayout'] => 50.00
Note: Integrates with Shop for order tracking. Commission approval can be manual or automatic. Payouts can be scheduled or manual.