Skip to main content

Overview

Affiliates help promote your products in exchange for a commission on sales they generate. Gumroad supports multiple affiliate types including direct affiliates, global affiliates (Discover program), and product collaborators.

Affiliate Types

Direct Affiliates

Creators you manually add to promote your products

Global Affiliates

Gumroad Discover program participants who can promote any eligible product

Collaborators

Co-creators who share revenue from joint products

Direct Affiliates

Adding an Affiliate

Direct affiliates are creators you specifically invite to promote your products:
affiliate = DirectAffiliate.create!(
  seller: current_user,
  affiliate_user: other_creator,
  affiliate_basis_points: 3000, # 30%
  destination_url: "https://example.com/landing"
)
Required Information:
  • Affiliate’s Gumroad email address
  • Commission percentage (in basis points: 30% = 3000)
  • Optional destination URL for redirects
  • Product selection (all products or specific ones)
Affiliates must have an active Gumroad account to receive commissions. Invitations are sent automatically.

Affiliate Configuration

Apply to All Products:
  • Enable apply_to_all_products flag
  • Affiliate automatically added to new products
  • Same commission rate across all products
  • Simplifies management for many products
Per-Product Control:
  • Select specific products to promote
  • Different commission rates per product
  • Custom destination URLs per product
  • More granular tracking

Commission Structure

Set commission rates flexibly:
// Account-level affiliate (all products)
affiliate: {
  fee_percent: 30, // 30% commission
  apply_to_all_products: true
}

// Product-specific rates
affiliate: {
  products: [
    { id: "prod_1", fee_percent: 25, enabled: true },
    { id: "prod_2", fee_percent: 40, enabled: true },
    { id: "prod_3", fee_percent: 30, enabled: false }
  ]
}
Commission rates are calculated on the product price before Gumroad fees, ensuring affiliates get their full share.

Generating Referral URLs

Each affiliate gets unique tracking links:
// Affiliate's base referral URL
https://gumroad.com/a/123456

// Direct product link
https://gumroad.com/a/123456/product-permalink

// Alternative format
https://username.gumroad.com/l/product?affiliate_id=123456
// Or short version
https://username.gumroad.com/l/product?a=123456
  • affiliate_id or a - Numeric affiliate ID
  • Stored in cookie for 30 days
  • Attribution on any purchase within window
  • Last-click attribution model

Destination URLs

Optional redirect for affiliate branding:
affiliate.destination_url = "https://affiliate-site.com/recommended"
# When clicked, user goes here first, then to product
Destination URLs allow affiliates to add their own tracking parameters or warm up visitors on their site before checkout.

Affiliate Management

Affiliate Dashboard

Affiliates access their dashboard at /affiliates/:id:
  • View enabled products
  • Copy referral links
  • See commission rates
  • Track performance (if enabled)
  • Manage post subscription preferences

Managing Your Affiliates

Sellers can:
  1. View All Affiliates - List with sorting and filtering
  2. Edit Commission Rates - Update percentages anytime
  3. Add/Remove Products - Change which products they can promote
  4. View Statistics - See sales volume and commissions earned
  5. Delete Affiliates - Remove relationship entirely

Affiliate Sorting

Sort affiliate list by:
  • Name - Alphabetically by affiliate user
  • Products - Number of products they promote
  • Fee Percent - Commission rate
  • Volume - Total sales generated
// Sort by sales volume descending
GET /affiliates?column=volume_cents&sort=desc

Commission Tracking

How Commissions Work

  1. Customer Clicks - Affiliate link clicked, cookie set
  2. Purchase Made - Customer buys within 30 days
  3. Commission Calculated - Percentage of sale computed
  4. Affiliate Credited - Credit recorded in system
  5. Payout Processed - Included in affiliate’s balance

Commission Calculation

# Example calculation
product_price = $100.00
affiliate_percentage = 30%
commission = $100.00 * 0.30 = $30.00

# Seller receives
seller_revenue = $100.00 - $30.00 - gumroad_fee - processor_fee

Affiliate Credits

Each attributed sale creates an AffiliateCredit:
AffiliateCredit.create!(
  affiliate: affiliate,
  purchase: purchase,
  credit_cents: 3000, # $30.00
  affiliate_basis_points: 3000 # 30%
)
Commissions are only paid on successful, non-refunded purchases. Refunds create negative affiliate credits.

Affiliate Eligibility

Requirements for Affiliates

To receive commissions, affiliates must:
  • Have an active Gumroad account
  • Not be suspended
  • Not use Brazilian Stripe Connect (incompatible)
  • Be marked as alive (not deleted)
# Check eligibility
affiliate.eligible_for_credit?
  → alive? && !affiliate_user.suspended? && !uses_brazilian_stripe?

Discover Eligibility

Products eligible for global affiliate program:
  • Must be “recommendable” (not adult, not services)
  • Published and alive
  • Positive reviews/ratings
  • Not blocked by seller

Global Affiliates (Discover)

The Gumroad Discover program allows any creator to promote eligible products:

How Discover Works

  1. Creators find products on discover.gumroad.com
  2. Share products with their audience
  3. Earn commissions on referred sales
  4. Additional 10% Discover fee charged to seller

Discover Fees

// Standard sale: 10% Gumroad fee
Sale: $100
Gumroad Fee: $10 (10%)

// Discover sale: 10% + 10% = 20% total
Sale: $100
Gumroad Fee: $10 (10%)
Discover Fee: $10 (10%)
Total Fees: $20

Boosting Products

Increase Discover visibility with higher fees:
  • Default: 30% total fee (10% base + 20% Discover)
  • Adjustable: 30-100% of transaction
  • Higher fees = better placement
product.update!(
  discover_fee_per_thousand: 500 # 50% total
)
Discover fees are significantly higher than standard fees. Only enable for products with proven conversion.

Collaborators

Collaborators are co-creators who share ownership and revenue:

Collaborator Features

  • Revenue split defined at product level
  • Both parties see product in their dashboard
  • Joint ownership and permissions
  • Listed as co-creator on product page (optional)
  • Invitation and acceptance workflow

Creating Collaborations

collaborator = Collaborator.create!(
  seller: primary_creator,
  affiliate_user: co_creator,
  affiliate_basis_points: 5000, # 50/50 split
  show_as_co_creator: true
)

# Associate with product
product.is_collab = true
product.affiliates << collaborator

Collaboration Workflow

  1. Invitation - Primary creator sends invite
  2. Pending - Waiting for acceptance
  3. Accepted - Collaborator confirmed
  4. Revenue Split - Automatic on each sale

Collaboration Permissions

Collaborators can:
  • View product analytics
  • See customer list
  • Access sales data
  • Cannot edit product (only primary creator)
Collaborations work best with clear agreements on responsibilities. Document who handles customer support, updates, etc.

Affiliate Communication

Automatic Notifications

Affiliates receive emails for:
  • New Affiliate Relationship - Welcome and setup
  • New Product Added - When seller adds product to their portfolio
  • Product Updated - When commission rates or products change
  • Sale Notification - When they generate a sale (optional)
  • Removal - When relationship ends

Post Subscription

Control whether affiliates receive your posts:
affiliate.update!(send_posts: true)
  • Enabled by default for new affiliates
  • Affiliates can opt out anytime
  • Keeps affiliates informed of new products
  • Separate from customer email list

Affiliate Analytics

Performance Metrics

Total Volume

Gross sales generated by affiliate

Commissions Earned

Total commissions paid out

Sale Count

Number of purchases attributed

Products

Number of products they promote

Per-Product Statistics

Breakdown by product:
affiliate.product_sales_info
# Returns:
{
  product_id_1: {
    volume_cents: 50000,
    sales_count: 25,
    commission_cents: 15000
  },
  product_id_2: {
    volume_cents: 30000,
    sales_count: 15,
    commission_cents: 9000
  }
}

Volume Tracking

Only successful, non-refunded sales count:
scope :counts_towards_volume, -> {
  successful
    .not_fully_refunded
    .not_chargedback_or_chargedback_reversed
}

Affiliate Payouts

Commissions are paid through Gumroad’s payout system:

Payout Flow

  1. Commission Earned - Recorded on successful sale
  2. Added to Balance - Included in affiliate’s account balance
  3. Payout Threshold - Must meet minimum ($10)
  4. Scheduled Payout - Sent on payout schedule (weekly/monthly)
  5. Payment Method - Via connected bank or PayPal

Commission Clawback

Refunds reduce affiliate commissions:
# On refund, create negative credit
AffiliatePartialRefund.create!(
  affiliate: affiliate,
  purchase: purchase,
  refund_amount_cents: original_commission
)
Partial refunds proportionally reduce affiliate commissions based on the refund amount.

Affiliate Requests

Creators can request to become affiliates:

Self-Service Affiliate Products

SelfServiceAffiliateProduct.create!(
  product: product,
  requester: potential_affiliate,
  requested_percentage: 25
)

Request Workflow

  1. Request Submitted - Potential affiliate applies
  2. Seller Review - Approve or decline
  3. Approval - Creates affiliate relationship
  4. Notification - Affiliate gets access to links

Managing Requests

Sellers can:
  • View pending requests
  • Approve with custom commission rate
  • Decline with optional message
  • Block user from future requests
Affiliate requests can be disabled account-wide if you prefer to only add affiliates manually.

Affiliate Best Practices

Fair Commissions

Offer 20-50% to incentivize promotion

Clear Guidelines

Provide promotional assets and guidelines

Regular Communication

Keep affiliates updated on products and offers

Track Performance

Monitor and optimize affiliate performance

Affiliate Export

Download affiliate data in CSV format:
GET /affiliates/export
Includes:
  • Affiliate name and email
  • Commission rates
  • Products they promote
  • Total volume generated
  • Commissions earned
  • Contact preferences

API Access

Manage affiliates programmatically:
// List affiliates (not in public API yet)
// Future: GET /v2/affiliates

// Track affiliate sales via purchases
GET /v2/sales?affiliate_id=123
Use webhooks to track affiliate sales in real-time and trigger custom reward systems.

Fraud Prevention

Affiliate Abuse Protection

  • Cookie-based attribution prevents manipulation
  • Self-purchase detection and blocking
  • Suspicious pattern analysis
  • Refund rate monitoring

Blocked Scenarios

  • Affiliate cannot promote to themselves
  • Multiple accounts with same payment method flagged
  • Unusually high refund rates investigated
  • Click fraud detection algorithms
Ban affiliates who engage in fraudulent activity. It protects both you and legitimate affiliates.

Affiliate Restrictions

Account Requirements

Affiliates cannot:
  • Be their own affiliate (self-promotion only)
  • Use suspended accounts
  • Have Brazilian Stripe Connect accounts
  • Promote after being marked deleted

Seller Controls

Sellers can:
  • Disable affiliate requests globally
  • Block specific users from becoming affiliates
  • Remove affiliates at any time
  • Adjust commission rates anytime

Troubleshooting

Common Issues

Affiliate Not Receiving Credit:
  • Check cookie is set properly
  • Verify purchase within 30-day window
  • Confirm affiliate is still active
  • Check if affiliate is eligible
Commission Calculation Wrong:
  • Verify affiliate_basis_points on purchase
  • Check for partial refunds
  • Confirm product price used in calculation
Cannot Add Affiliate:
  • Confirm they have Gumroad account
  • Check they haven’t disabled requests
  • Verify not Brazilian Stripe account
  • Ensure not already an affiliate

Next Steps

Products

Create products for affiliates to promote

Sales

Track affiliate-generated sales

Offer Codes API

Manage discount codes via API

Build docs developers (and LLMs) love