Claude
Skills
Sign in
Back

affiliate-program

Included with Lifetime
$97 forever

Track affiliate sales with unique links, manage commission tiers, automate payouts, and detect fraudulent referrals to protect your margins

marketing-growthaffiliatereferralcommissiontrackingfraud-detectionpayoututmpartner-program

What this skill does


# 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

| Platform | Recommended Tool | Why |
|----------|-----------------|-----|
| **Shopify** | Refersion or UpPromote (Shopify App Store) | Native Shopify integration, automatic coupon + link generation, built-in fraud detection, PayPal/Stripe payouts |
| **WooCommerce** | AffiliateWP ($149/yr) or Solid Affiliate | Deep WooCommerce integration, per-product commission rates, real-time reporting, Stripe payout add-on |
| **BigCommerce** | Refersion or Goaffpro (BigCommerce App Marketplace) | Native checkout integration, multi-tier commissions, real-time dashboards |
| **Custom / Headless** | Rewardful (SaaS, $49/mo) or build custom with Stripe Connect | Rewardful 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:**
```php
// 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:
```javascript
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:

```typescript
// 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:
```typescript
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:

| Metric | Target | Where to Find |
|--------|--------|---------------|
| Click-to-conversion rate | 2–5% | Refersion: Reports → Conversions. AffiliateWP: Reports tab |
| Average commission payout | Track vs. ROAS | Affiliate app → Payout reports |
| Fraud rate (flagged conversions) | < 2% | Check flagged/pending queue monthly |
| Top 10 affiliates by revenue | — | Affiliate app → Leaderboard |

## Best Practices

- **Iss

Related in marketing-growth