WooCommerce Subscriptions Setup
WooCommerce Subscriptions is a premium WooCommerce extension that adds recurring billing — monthly or annual subscriptions — to your WooCommerce shop. It’s the right choice if you’re already using WooCommerce for physical or digital products and want your podcast subscriptions to live in the same shop.
WooCommerce Subscriptions is the supported WooCommerce bridge for Benecaster. It connects recurring subscription products directly to Benecaster’s feed gating — subscribers with an active subscription get private feed access, and their access is revoked when the subscription lapses.
Before You Start
- WooCommerce must be installed and active
- WooCommerce Subscriptions 5.6.0 or later must be installed, activated, and licensed. An older version is listed greyed out in the subscription plugin picker, the setup wizard and the switch wizard, with “Requires WooCommerce Subscriptions 5.6.0 or later (you have …)”, and Promote to Bridge doesn’t offer it. A show already connected to an older version keeps working, but shows a Membership plugin needs attention notice until you update (see below).
- At least one subscription product should exist in WooCommerce before mapping tiers
- You should have a Benecaster paid license activated
Step 1: Connect the Bridge
Go to Benecaster → Shows → [your show] → Settings → Subscription.
WooCommerce Subscriptions appears in the plugin list if WooCommerce and WooCommerce Subscriptions are both active. Select it and click Connect.
Benecaster scans for products of type subscription and variable-subscription and confirms the connection. Each subscription product appears as one entry — variable subscription products appear as a single entry for the parent product, not as separate entries per variation.
If WooCommerce Subscriptions doesn’t appear, confirm both WooCommerce and the Subscriptions extension are active. See Membership Plugin Not Connecting.
Step 2: Map Your Tiers
Go to Benecaster → Shows → [your show] → Settings → Subscription → Tier Mapping.
Benecaster lists your WooCommerce subscription products. Variable subscription products appear as a single entry — the parent product — regardless of how many variations they have.
All variations of a variable subscription product map to the same Benecaster tier. This is the correct setup for the most common use case: offering monthly and annual billing options for the same access level. A subscriber who buys the monthly variation and one who buys the annual variation both get the same tier.
If you need different price points to unlock different tiers — for example a Basic product and a Pro product — create separate WooCommerce subscription products rather than variations of one product.
For each product, select the corresponding Benecaster tier. Leave unmapped any products that don’t relate to podcast access — those are simply ignored.
A subscription product set to Draft or Private is still listed, with a grey Signups closed label. WooCommerce Subscriptions keeps renewing it, so map it. [benecaster_pricing_table] and [benecaster_subscribe] leave it off, because WooCommerce refuses checkout on it. A product in the trash isn’t listed.
Subscribers who joined before you connected don’t have feed links yet. Benecaster only hears about a subscriber when their subscription becomes active, and Sync existing members isn’t available for WooCommerce Subscriptions yet, so each existing subscriber gets their link the next time their subscription becomes active.
See Mapping Your Membership Tiers for guidance on common tier configurations.
Your Subscribe Buttons
Once your levels are mapped, [benecaster_subscribe] shows each tier with the price WooCommerce Subscriptions charges for it and a Subscribe button (Join free on a free tier). The button goes to the subscription product’s page.
Check those pages under Show Settings → Subscription → Signup pages, and replace any that are wrong — see Signup Pages. Only pages on this site can be used.
Step 3: Test the Connection
Create a test subscription in WooCommerce — place a manual order in WooCommerce → Subscriptions → Add Subscription and assign it to a test user. Set the subscription status to Active.
Within a few seconds, Benecaster should generate a token for that user. Verify at Benecaster → Subscribers.
How WooCommerce Subscriptions Events Map to Benecaster
| WooCommerce Subscriptions status | Benecaster action |
|---|---|
| Active | Generate token; feed active. Covers three activation paths: new subscription, resubscription after cancellation, and payment-failure recovery (subscription returning to Active from On hold). |
| Pending Cancellation | Feed continues until the end of the prepaid term |
| Cancelled | Mark token inactive |
| Expired | Mark token inactive |
| On hold | Feed continues during hold period. This is the status WooCommerce Subscriptions sets when a payment fails — Benecaster receives the on-hold event but takes no action until the subscription resolves to Active (recovered) or Cancelled/Expired. |
| Pending / Failed | No token generated; no feed access |
WooCommerce Subscriptions-Specific Notes
“Membership plugin needs attention”: Benecaster checks the plugin each show uses at most once an hour in wp-admin, and on the first admin page after a Benecaster update. If WooCommerce Subscriptions is deactivated or older than 5.6.0, a Membership plugin needs attention notice appears under Notifications (the bell), naming the show and what is wrong, with a Go to Updates button. The show keeps working; the notice clears itself once the problem is fixed. See Membership Plugin Not Connecting.
Subscription switching: when a subscriber switches to another subscription product (an upgrade or downgrade) and the switch order is paid, Benecaster moves them to the new product’s tier. Benecaster → Subscribers shows the new tier, their history records an upgrade or downgrade, and their feed URL stays the same — nothing is revoked. Benecaster sends no Tier Change email for a switch. A switch onto a product that isn’t mapped to a tier changes nothing in Benecaster.
Trial periods: Free trial subscriptions activate immediately, generating a token and sending the welcome email. If a subscriber doesn’t convert after the trial, the subscription moves to cancelled and the feed stops.
Failed payments and retry: When a payment fails, WooCommerce Subscriptions sets the subscription to On Hold and begins its retry schedule (configurable number of attempts over configurable days). Benecaster continues serving the feed during the hold period. If a retry succeeds, the subscription returns to Active and Benecaster registers the recovery as a fresh activation — no manual intervention needed. If all retries are exhausted, WooCommerce cancels the subscription and Benecaster marks the token inactive.
Multiple subscriptions per user: If a subscriber has multiple active subscription products, Benecaster maps each one independently. If two subscriptions map to the same tier, the subscriber holds one token at that tier. If they map to different tiers, the subscriber gets access at the higher tier’s level (Benecaster uses the highest active tier).
WooCommerce variable subscriptions: Benecaster maps tiers using the parent product ID, not the variation ID. This means all variations of a variable subscription product always map to the same Benecaster tier — the billing interval, price, or region of the variation makes no difference.
Common setups that work correctly with this behavior:
- Monthly and annual billing for the same tier — create one variable subscription with monthly and annual variations. Map the parent product to your tier once. Both billing options unlock the same feed access.
- Regional or currency pricing — create variations for different currencies or regions (e.g. USD, GBP, EUR). All variations map to the same tier automatically.
Setup that requires separate products instead of variations:
- Different access levels at different price points — if you want a Basic plan and a Pro plan as two WooCommerce products, create them as two separate subscription products (not as variations of one). Map each product to its corresponding Benecaster tier individually. Variations of the same parent product cannot map to different tiers.
See Also
Need this built rather than just documented? See our services →