How to set up WooCommerce subscriptions for recurring revenue with Stripe billing

Why Recurring Revenue Changes Everything for WooCommerce Stores

One-time sales create a feast-or-famine cycle. You spend money acquiring customers, they buy once, and you start over. A proper WooCommerce subscriptions setup flips that model entirely — every customer you acquire generates predictable, compounding income month after month.

According to Zuora’s Subscription Economy Index, subscription businesses have grown revenue roughly 4.6x faster than S&P 500 companies over the past decade. For WooCommerce store owners, tapping into this model means more stable cash flow, higher customer lifetime value (CLV), and reduced dependence on constant new customer acquisition.

This guide walks you through everything: choosing the right subscription plugin, configuring Stripe for recurring billing, setting up pricing strategies that convert, managing upgrade/downgrade flows, and reducing subscriber churn. By the end, you’ll have a fully operational subscription system on your WooCommerce store.

Step 1: Choose Your WooCommerce Subscription Plugin

WooCommerce doesn’t include subscription functionality by default. You need a dedicated plugin. Here are the top options (for a deeper comparison, see our guide to the best WooCommerce subscription plugins):

WooCommerce Subscriptions (by Woo)

The official solution from WooCommerce, priced at $239/year. It supports variable subscriptions, free trials, signup fees, synchronised renewals, and subscriber account management. This is the most feature-complete option and integrates natively with the WooCommerce ecosystem.

Best for: Stores that need full subscription lifecycle management and plan to scale.

SUMO Subscriptions

A one-time purchase alternative available on CodeCanyon. It covers basic subscription billing, supports PayPal and Stripe, and offers trial periods. It lacks some advanced features like proration and synchronised billing dates.

Best for: Budget-conscious stores with straightforward subscription needs.

YITH WooCommerce Subscription

Another solid option with a freemium model. The free version handles basic recurring billing; the premium version ($149.99/year) adds trial management, synchronised payments, and advanced reporting.

Best for: Stores that want to test subscriptions before committing to a premium solution.

For this guide, we’ll use WooCommerce Subscriptions (the official plugin) as the reference, since it offers the most complete feature set and the best long-term scalability.

Step 2: Install and Configure WooCommerce Subscriptions

Installation

  1. Purchase WooCommerce Subscriptions from woocommerce.com.
  2. Download the plugin ZIP file from your WooCommerce account.
  3. In your WordPress dashboard, go to Plugins → Add New → Upload Plugin.
  4. Upload the ZIP file and click Install Now, then Activate.

Core Settings for WooCommerce Subscriptions Setup

Navigate to WooCommerce → Settings → Subscriptions to configure the basics:

SettingRecommended ValueWhy
Button Text“Subscribe Now” or “Start Your Plan”Clear CTA improves conversion rates
RolesSubscriber → Active SubscriberAssign roles based on subscription status for access control
Failed Payment RetryEnabled (5 retries over 14 days)Recovers revenue from temporary card failures
Renewal SynchronisationEnabled if selling physical goodsAligns all renewals to specific dates for batch processing
Mixed CheckoutDisabled initiallySimplifies checkout; enable once you have non-subscription products too

Set Up Suspension and Cancellation Rules

Under the Subscriptions settings, configure how your store handles subscription pauses and cancellations:

  • Allow subscriber suspension: Enable this. Giving customers a pause option reduces outright cancellations by up to 30%, according to ProfitWell research.
  • Maximum suspensions: Set to 2 per year to prevent abuse.
  • Allow cancellation: Enable it. Blocking cancellation creates frustration and negative reviews. Make the process smooth but include a retention offer (covered in the churn section below).

Step 3: Set Up Stripe for Recurring Billing

Stripe is the gold standard for subscription payments. It supports automatic recurring charges, SCA (Strong Customer Authentication) compliance, smart retries for failed payments, and detailed revenue analytics. For a full list of Stripe integration options, check our roundup of WooCommerce Stripe plugins.

Connect Stripe to WooCommerce

  1. Install the WooCommerce Stripe Payment Gateway plugin (free, from the WooCommerce marketplace).
  2. Go to WooCommerce → Settings → Payments → Stripe.
  3. Click Connect with Stripe and log in to your Stripe account (or create one).
  4. Once connected, enable the following options:
    • Inline Credit Card Form: Enabled (cleaner checkout experience)
    • Payment Request Buttons: Enabled (Apple Pay, Google Pay for faster checkout)
    • Saved Cards: Enabled (critical for subscriptions — tokenizes the card for future charges)
  5. Enable Test Mode initially. Use Stripe’s test card number 4242 4242 4242 4242 with any future expiry and any CVC to test the full flow before going live.

Configure Stripe Billing Settings (In Stripe Dashboard)

Log into your Stripe Dashboard and navigate to Settings → Billing → Subscriptions and emails:

Stripe SettingRecommendation
Smart RetriesEnable — Stripe uses ML to retry failed charges at optimal times
Failed payment emailsEnable — notifies customers when payment fails
Upcoming renewal emailsEnable — send 3 days before renewal
Expired card notificationsEnable — prompts customers to update card details before renewal fails

Important: WooCommerce Subscriptions handles the subscription lifecycle (creation, status changes, cancellations), while Stripe handles the actual payment processing and card tokenization. Make sure automatic recurring payments are working by running a full test cycle: subscribe, wait for renewal, test a failed payment, and confirm the retry logic works.

Step 4: Create Subscription Products with Strategic Pricing

Now create your subscription products. Go to Products → Add New and set the product type to Simple Subscription or Variable Subscription.

Pricing Strategy Framework

Your pricing tiers should follow the “Good-Better-Best” model, which research from Simon-Kucher & Partners shows increases revenue by 20-30% compared to single-tier pricing:

TierPrice PointStrategyPurpose
StarterLow (anchor)Limited features, low commitmentGets customers in the door
ProfessionalMid (target)Best value, most featuresWhere most revenue comes from — highlight this tier
EnterpriseHigh (premium)Everything + priority supportMakes the mid-tier look affordable by comparison

Pricing Configuration Tips

  • Annual discount: Offer 15-20% off for annual billing. This improves cash flow and reduces churn (annual subscribers have 40-60% lower churn than monthly, according to Recurly benchmarks).
  • Free trials: 7-14 day trials work best. Under Subscription Trial, set the trial length. Require a payment method upfront — trials without payment info convert at only 2-5%, while trials with payment info convert at 40-60% (Totango research).
  • Signup fees: Use sparingly. A one-time setup fee works for services that genuinely require onboarding effort, but it increases friction for commodity subscriptions.

Variable Subscriptions for Multiple Plans

If you want customers to choose from multiple subscription tiers on a single product page, use Variable Subscription:

  1. Set product type to Variable Subscription.
  2. Add an attribute (e.g., “Plan”) with values: Starter, Professional, Enterprise.
  3. Create variations for each plan with different prices and billing periods.
  4. In the variation settings, configure the subscription price, billing interval, trial period, and signup fee for each tier.

Step 5: Configure Upgrade and Downgrade Flows

Customers need the flexibility to switch plans. WooCommerce Subscriptions supports this natively through its “Subscription Switching” feature.

Enable Switching

  1. Go to WooCommerce → Settings → Subscriptions → Switching.
  2. Enable Allow switching between subscription variations.
  3. Choose your proration setting:
    • Prorate (recommended): Charges/credits the difference based on remaining time in the billing period. Fair for the customer and avoids revenue leakage.
    • No proration: Customer pays the new price immediately. Simpler but can feel unfair on upgrades mid-cycle.

How Proration Works in Practice

Say a customer is on the $29/month Starter plan and upgrades to the $79/month Professional plan halfway through their billing cycle:

  • Remaining value on Starter: ~$14.50 (half the month unused)
  • Cost of Professional for remaining period: ~$39.50
  • Amount charged at upgrade: $39.50 – $14.50 = $25.00
  • Next renewal: Full $79.00 on the normal billing date

For downgrades, the credit is applied to future renewals. This keeps the process transparent and reduces support tickets.

Best Practices for Plan Switching

  • Display a clear comparison table on your pricing page so customers can see what they gain/lose by switching.
  • Send a confirmation email after every plan change with the new price and next billing date.
  • If a customer downgrades, trigger a short survey asking why — this data is gold for product improvement.

Step 6: Reduce Subscriber Churn — The Biggest Revenue Threat

Acquiring a subscriber means nothing if they cancel after two months. The average monthly churn rate for subscription businesses is 5-7% (Recurly), which means you could lose half your subscribers in a year if left unchecked.

Involuntary Churn: Fix Failed Payments

Up to 40% of all churn is involuntary — the customer didn’t choose to leave, their payment simply failed. Here’s how to combat it:

  1. Enable Stripe Smart Retries: As configured in Step 3, Stripe’s machine learning retries failed charges at optimal times, recovering up to 38% of failed payments automatically.
  2. Install a dunning plugin: Plugins like AutomateWoo let you create automated email sequences when payment fails:
    • Day 0: “Your payment didn’t go through — please update your card.”
    • Day 3: “Your subscription is at risk — update payment to avoid interruption.”
    • Day 7: “Last chance to keep your subscription active.”
  3. Pre-dunning notifications: Email subscribers 7 days before their card expires. WooCommerce Subscriptions includes this feature — make sure it’s enabled under email settings.

Voluntary Churn: Give Customers Reasons to Stay

For customers who actively choose to cancel, implement these retention strategies:

  • Cancellation survey: When a subscriber clicks “Cancel,” present a short survey (“Too expensive,” “Not using it enough,” “Missing features,” “Switching to competitor”). This data helps you address root causes.
  • Pause option: As configured earlier, letting customers pause instead of cancel retains the relationship. Many “cancellers” just need a break.
  • Win-back offers: After cancellation, send a win-back email 30 days later with a discount (e.g., “Come back at 25% off for 3 months”). AutomateWoo can automate this workflow.
  • Downgrade path: If a customer says it’s too expensive, offer to move them to a lower tier rather than losing them entirely.

Churn Benchmarks to Track

MetricTargetWhere to Track
Monthly churn rateUnder 5%WooCommerce → Reports → Subscriptions
Involuntary churn rateUnder 1.5%Stripe Dashboard → Revenue Recovery
Failed payment recoveryAbove 50%Stripe Dashboard → Smart Retries
Trial-to-paid conversionAbove 40%WooCommerce Reports + Google Analytics
Net Revenue RetentionAbove 100%Stripe or Baremetrics (expansion > churn)

Step 7: Essential Subscription Emails to Configure

WooCommerce Subscriptions adds several email templates under WooCommerce → Settings → Emails. Make sure these are all enabled and customized:

  • New Subscription: Welcome email when a customer subscribes. Include what they get, next billing date, and how to manage their subscription.
  • Subscription Renewal: Confirmation after each successful renewal payment.
  • Subscription Renewal Invoice: Sent when automatic payment fails and manual payment is needed.
  • Subscription On-Hold: Notify when payment fails and subscription is suspended.
  • Subscription Cancelled: Confirm cancellation and include a win-back offer or survey link.
  • Subscription Expired: When a fixed-length subscription ends.

Pro tip: Customize each email with your brand voice and include a direct link to the My Account → Subscriptions page so customers can self-serve.

Step 8: Test Your Entire Subscription Flow

Before going live, run through this complete checklist:

  1. New subscription: Purchase a subscription using Stripe test mode. Verify the order is created, subscription is active, and welcome email sends.
  2. Renewal: Use Stripe’s test clock feature to simulate time passing and trigger a renewal. Confirm the payment processes and renewal email sends.
  3. Failed payment: Use test card 4000 0000 0000 0341 (always fails on charge) to trigger a failed payment. Verify the retry schedule activates and dunning emails send.
  4. Plan upgrade/downgrade: Switch between subscription variations. Confirm proration calculates correctly.
  5. Cancellation: Cancel a test subscription. Verify the cancellation email sends and the subscription status updates.
  6. Reactivation: Reactivate a cancelled subscription. Confirm payment processes and status updates.
  7. Customer portal: Log in as a test customer and verify the My Account → Subscriptions page shows all relevant information and actions.

Scaling Your Subscription Revenue

Once your WooCommerce subscriptions setup is live and stable, focus on growth:

  • Expansion revenue: Upsell existing subscribers to higher tiers. This is 3-5x cheaper than acquiring new customers (Pacific Crest SaaS Survey).
  • Referral programs: Give existing subscribers a discount for each successful referral. Plugins like AutomateWoo can automate referral tracking and rewards. See our guide to WooCommerce referral and loyalty plugins for more options.
  • Analytics: Integrate tools like Baremetrics or ChartMogul with Stripe for deeper subscription analytics including MRR, ARR, LTV, and cohort analysis.
  • Content-gated subscriptions: If you sell digital content, use WooCommerce Subscriptions + WooCommerce Memberships to gate access to premium content, courses, or community features.

If you’re building a subscription-based community or membership site on WooCommerce with BuddyPress integration, Wbcom Starter Pack provides WooCommerce add-ons that extend subscription capabilities for social platforms and member-driven stores.

Final Checklist

TaskStatus
Subscription plugin installed and configured
Stripe connected with saved cards enabled
Smart Retries and dunning emails enabled
Pricing tiers created (Good-Better-Best)
Free trial configured with payment info required
Upgrade/downgrade switching with proration
All subscription emails customized
Cancellation flow with survey + pause option
Full test cycle completed in Stripe test mode
Win-back email automation set up

Recurring revenue is the most reliable path to sustainable eCommerce growth. With WooCommerce Subscriptions and Stripe handling the infrastructure, your focus shifts from chasing one-time sales to nurturing long-term customer relationships — and that’s where real profitability lives.