Skip to content

Recurring commissions

Pay affiliates for every renewal — not just the signup.

SaaS, subscription boxes, memberships. Cobalz pays affiliates for every recurring charge through native WooCommerce Subscriptions and Stripe Subscriptions support.

Three strategies, one toggle

Pick the model that matches your unit economics.

first_order_only

One commission for the signup. Renewals don't earn. Best for high-LTV products where the affiliate's effort is purely top-of-funnel.

all_renewals (default)

Affiliate earns on every charge, forever. Best for creator-led SaaS where recurring trust matters and you want long-term incentive alignment.

first_n_renewals

Affiliate earns for the signup + the first N renewals. Set the N. Best for SaaS with a known payback period (12 months is typical).

How attribution survives renewals

Cookies expire. Subscriptions don't.

A renewal that fires 9 months after signup won't have a live tracking cookie. Cobalz bridges that gap by copying affiliate_id + attributed_via from the parent signup order onto every renewal commission. The affiliate gets paid even when there's no fresh click to attribute.

  • Yes WooCommerce: parent_order_id is read off the renewal payload
  • Yes Stripe: stripe_subscription_id is the join key, with the first paid invoice as the "parent"
  • Yes renewal_count is 0-based, tracked per (subscription_id, affiliate_id)
  • Yes Trial → no commission (audit: subscription.trial_started)
// WC Subscriptions order webhook
{
  "topic": "order.completed",
  "wc_order_id": 12345,
  "subscription_id": "sub_678",
  "is_renewal": true,
  "is_trial": false,
  "parent_order_id": 11111,
  "subscription_status": "active",
  "total": "29.00",
  "currency": "USD"
}

// Cobalz writes commission row:
{
  "affiliate_id": "<copied from parent order>",
  "amount": 2.90,        // 10% of $29 renewal
  "is_recurring": true,
  "subscription_id": "sub_678",
  "renewal_count": 4     // 0-based renewal index
}

FAQ

Recurring questions.

Which subscription platforms are supported?+
WooCommerce Subscriptions (via the WP plugin) and Stripe Subscriptions (via merchant Stripe webhook). Recharge / Bold / Appstle on Shopify Subscriptions are on the roadmap for Q2 2026.
How is "renewal" detected for Stripe?+
Stripe invoice.paid webhook with billing_reason="subscription_cycle" → renewal. billing_reason="subscription_create" → first signup. We never miscount.
How does free-trial handling work?+
For WC Subscriptions: trials produce a $0 parent order, which we suppress (audit as subscription.trial_started, no commission). The first paid renewal triggers the signup commission. For Stripe: trial periods are handled inline via subscription metadata.
Can affiliates earn forever, or just N renewals?+
Configurable per merchant: first_order_only, all_renewals (default), or first_n_renewals + max count.

Recurring commissions are how SaaS affiliate programs win.

WooCommerce Subscriptions and Stripe Subscriptions native, on every paid plan.