Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
finsilabs avatar

Affiliate Program

  • 66 installs
  • 41 repo stars
  • Updated March 13, 2026
  • finsilabs/awesome-ecommerce-skills

Set up an affiliate program with unique referral links, commission tiers, automated payouts, and fraud detection across Shopify, WooCommerce, BigCommerce or custom stores.

About

A skill for launching and managing an ecommerce affiliate program covering link tracking, commission rules, payouts, and referral-fraud detection. A developer uses it to run a performance-based acquisition channel.

  • Per-platform tool picks (Refersion, AffiliateWP, Rewardful)
  • Custom commission logic, fraud detection, 1099 reporting

Affiliate Program by the numbers

  • 66 all-time installs (skills.sh)
  • Ranked #1,243 of 1,879 Marketing & SEO skills by installs in the Skillselion catalog
  • Data as of Aug 3, 2026 (Skillselion catalog sync)
npx skills add https://github.com/finsilabs/awesome-ecommerce-skills --skill affiliate-program

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs66
repo stars41
Last updatedMarch 13, 2026
Repositoryfinsilabs/awesome-ecommerce-skills

What it does

Set up an affiliate program with unique referral links, commission tiers, automated payouts, and fraud detection across Shopify, WooCommerce, BigCommerce or custom stores.

Files

SKILL.mdMarkdownGitHub ↗

Affiliate Program

Overview

An affiliate program pays partners a commission for each sale they refer, making it a performance-based acquisition channel with no upfront media cost. The right setup depends on your platform — most merchants get 90% of the value from a dedicated app without writing any code. Custom commission rules, fraud detection, and automated payouts are where custom development adds value.

When to Use This Skill

  • When launching a creator or influencer partnership program with revenue share
  • When replacing a third-party affiliate network (ShareASale, CJ) to reduce 20–30% network fees
  • When needing custom commission rules (category-specific rates, SKU exclusions, tiered volume bonuses)
  • When fraud in an existing affiliate program is eroding margins
  • When generating 1099 tax reporting for US-based affiliates

Core Instructions

Step 1: Determine the merchant's platform and choose the right tool

PlatformRecommended ToolWhy
ShopifyRefersion or UpPromote (Shopify App Store)Native Shopify integration, automatic coupon + link generation, built-in fraud detection, PayPal/Stripe payouts
WooCommerceAffiliateWP ($149/yr) or Solid AffiliateDeep WooCommerce integration, per-product commission rates, real-time reporting, Stripe payout add-on
BigCommerceRefersion or Goaffpro (BigCommerce App Marketplace)Native checkout integration, multi-tier commissions, real-time dashboards
Custom / HeadlessRewardful (SaaS, $49/mo) or build custom with Stripe ConnectRewardful handles tracking, fraud detection, and payouts; use custom code only for complex commission logic

Step 2: Set up your affiliate app

---

Shopify

Using Refersion (recommended):

1. Install Refersion from the Shopify App Store 2. Go to Refersion Dashboard → Settings → General and configure:

  • Default commission rate (start with 10–15% for most verticals)
  • Cookie duration (30 days is standard)
  • Minimum payout threshold ($50 recommended)

3. Go to Commissions → Commission Groups to create tiers:

  • Bronze: 10% (default)
  • Silver: 12% (unlocks at $5k/month referred revenue)
  • Gold: 15% (unlocks at $20k/month)

4. Refersion automatically generates unique tracking links (yourstore.com?rfsn=XXXXX) and injects a tracking pixel at checkout — no code required 5. Go to Affiliates → Recruitment Page to enable a self-service signup portal where partners can apply 6. For Shopify Plus stores: use Shopify Flow to automatically tag high-value affiliates and trigger tier upgrades

Using UpPromote (free plan available):

1. Install UpPromote from the Shopify App Store 2. Go to UpPromote → Programs → Create Program and set commission rules 3. Enable automatic discount code generation for each affiliate under Settings → Affiliate Links 4. Connect PayPal or Wise under Settings → Payment for automated payouts

---

WooCommerce

Using AffiliateWP:

1. Install and activate AffiliateWP on your WordPress site 2. Go to AffiliateWP → Settings → General and configure:

  • Referral rate: 10% (start conservative)
  • Cookie expiration: 30 days
  • Credit last referrer: yes (last-click attribution)

3. Go to AffiliateWP → Settings → Payouts and connect PayPal or enable manual payouts 4. Enable per-product commission rates under Settings → Misc → Per-Product Rates — this allows you to set 4% on electronics and 20% on digital products 5. Install the AffiliateWP – Fraud Prevention add-on ($49) to automatically flag self-referrals and IP velocity abuse 6. Affiliates access their dashboard at yoursite.com/affiliate-area/

Tier automation with WooCommerce hooks:

// In functions.php — promote affiliate to Silver tier when monthly revenue > $5k
add_action('affwp_update_affiliate', function($affiliate_id) {
    $month_revenue = affwp_get_affiliate_earnings($affiliate_id, true); // current month
    if ($month_revenue >= 5000 && affwp_get_affiliate_rate($affiliate_id) < 0.12) {
        affwp_update_affiliate(['affiliate_id' => $affiliate_id, 'rate' => '12']);
    }
});

---

BigCommerce

1. Install Refersion or Goaffpro from the BigCommerce App Marketplace 2. Both apps integrate with BigCommerce's order webhooks automatically — no code required 3. Configure commission tiers and payout schedules in the app dashboard 4. BigCommerce's built-in coupon system works with both apps to generate affiliate-specific discount codes

---

Custom / Headless

For headless storefronts, use Rewardful (SaaS) to avoid building tracking infrastructure from scratch:

1. Add Rewardful's JavaScript snippet to your storefront 2. On purchase confirmation, identify the customer:

rewardful('convert', { email: order.customerEmail });

3. Rewardful handles cookie attribution, fraud detection, and Stripe Connect payouts automatically

If you need custom commission logic that Rewardful cannot handle, build the tracking layer:

// Track affiliate click and set cookie
export async function trackAffiliateClick(req: Request, res: Response) {
  const code = req.query.aff as string;
  const affiliate = await db.affiliates.findByCode(code);
  if (!affiliate) return res.redirect('/');

  await db.affiliateClicks.create({
    affiliateId: affiliate.id,
    ip: req.ip,
    clickedAt: new Date(),
  });

  res.cookie('aff', affiliate.id, {
    maxAge: 30 * 86400 * 1000, // 30-day cookie
    httpOnly: true,
    secure: true,
    sameSite: 'lax',
  });

  return res.redirect(req.query.redirect as string ?? '/');
}

// Attribute order and calculate commission
async function attributeOrderToAffiliate(orderId: string, affiliateCookieId: string) {
  const order = await db.orders.findById(orderId);
  const affiliate = await db.affiliates.findById(affiliateCookieId);
  if (!affiliate) return;

  // Fraud check: flag self-referrals
  if (order.customerEmail === affiliate.email) {
    await db.affiliateConversions.create({ orderId, affiliateId: affiliate.id, status: 'flagged' });
    return;
  }

  const commissionRate = { bronze: 0.10, silver: 0.12, gold: 0.15 }[affiliate.tier];
  const commission = (order.subtotalCents / 100) * commissionRate;

  await db.affiliateConversions.create({
    orderId,
    affiliateId: affiliate.id,
    commissionAmount: commission,
    status: 'pending', // hold for 30-day refund window
  });
}

Use Stripe Connect for payouts — it handles KYC, tax forms, and international transfers:

const transfer = await stripe.transfers.create({
  amount: Math.round(totalCommission * 100),
  currency: 'usd',
  destination: affiliate.stripeConnectAccountId,
  description: `Affiliate commission — ${month}`,
});

Step 3: Configure commission and fraud rules

Regardless of platform, configure these settings in your affiliate app:

1. Commission base: set commission on subtotal only — never on tax or shipping 2. Refund window: hold commissions for 30 days before approving (most apps call this "pending" status) 3. Minimum payout: set $50–$100 to reduce payment fees 4. Self-referral blocking: enable in app settings (Refersion and AffiliateWP both have this built in) 5. Category exclusions: exclude gift cards and already-discounted items from commission base 6. FTC compliance: require affiliates to disclose their relationship in all posts

Step 4: Measure performance

Track these metrics in your affiliate app's dashboard:

MetricTargetWhere to Find
Click-to-conversion rate2–5%Refersion: Reports → Conversions. AffiliateWP: Reports tab
Average commission payoutTrack vs. ROASAffiliate app → Payout reports
Fraud rate (flagged conversions)< 2%Check flagged/pending queue monthly
Top 10 affiliates by revenueAffiliate app → Leaderboard

Best Practices

  • Issue unique discount codes per affiliate (not just UTM links) — discount codes are more reliable for attribution when affiliates use link-in-bio tools that strip UTM parameters
  • Hold commissions for 30 days before approving — never pay out on orders that might be returned
  • Set a minimum payout threshold ($50–$100) to reduce payment processing fees and discourage fraud
  • Require onboarding (PayPal email or Stripe Connect) before an affiliate can receive payments — this creates a paper trail
  • Audit affiliates with refund rates above 15% — high refund rates combined with high volume signals return fraud
  • Cap commission on first-time purchases only for high-discount categories — prevents affiliates from incentivizing repeat coupon use

Common Pitfalls

ProblemSolution
Self-referral fraudEnable self-referral blocking in your affiliate app settings; most dedicated apps include this
Commission calculated on full order total including tax and shippingConfigure the commission base to use subtotal in app settings
Payout fails for affiliates who haven't completed KYCGate payouts on completed onboarding; use Stripe Connect's charges_enabled status check
Tier not downgrading when affiliate volume dropsReview tier assignments monthly; most apps support manual tier adjustments
High refund rate from one affiliatePause the affiliate and review recent orders; if pattern continues, terminate partnership

Related Skills

  • @influencer-tracking
  • @referral-viral-loops
  • @sms-marketing
  • @marketing-attribution-dashboard

Related skills

Marketing & SEOdistributioncontent

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.