Scenario · Subscription online store · Supplements and wellness
From a one-off purchase
to a subscription that renews.
Products people use every day but buy only once. Flexible subscriptions and custom kits that turn one-off orders into recurring customers, with a personal area where they manage everything themselves.
E-commerce scenario — supplements on subscription
Premium products.
A supermarket-level LTV.
The scenario: a young premium supplements brand — certified ingredients, lab-tested, no fillers. It targets mindful consumers willing to spend more on products that work. It has already built a loyal customer base through YouTube content and a science-led newsletter.
The problem is structural: each customer buys once and then disappears. Customer lifetime value (LTV) is barely above the first order, while acquisition cost is high: margins are so tight that each new customer barely covers costs. The answer is turning one-off purchases into recurring subscriptions — but the WooCommerce installed years ago can't do it, and the plugins added are badly configured and cause payment problems at renewal.
It needs a real subscription system, not a patched-up plugin.
"My ideal customer takes supplements every day. They should reorder every month. Instead I have to win them back from scratch every month. Something's wrong."
— The typical problem for brands selling repeat-purchase productsRequirements for an e-commerce with recurring subscriptions
What was
really needed.
Six areas that come out of a funnel analysis, interviews with existing customers and a working session on cohort data — the only way to really see where value is lost over time.
A reliable recurring subscription system
The customer picks the frequency (30, 60 or 90 days) and the system charges and ships automatically. Pausing, changing frequency and cancelling are all self-serve in the customer area — no need to contact support. No friction at renewal.
Configurable bundles with progressive discount
The customer builds their own "kit" by choosing 2, 3 or 4 products with an increasing discount (10%, 15%, 20%). The more products they add, the more they save — and the harder it becomes to cancel, because they've built a personalized routine.
Personalized client area with subscription management
Customers need to see the next renewal, change address and payment method, pause, skip a delivery, add or remove products from the bundle — all without opening a support ticket. WooCommerce's standard customer area isn't enough.
Product pages with scientific content
Customers in this sector are demanding and informed: they read labels, check dosages, look up the studies cited. The product page has to include active ingredients with dosage, linked studies, FAQs on interactions and certifications. Long content, but well organised.
Regulatory compliance: labeling and claims
In Italy and the EU, food supplements have strict rules on what can and cannot be written. Health claims, implicit therapeutic indications, recommended dosages: every text on the website must comply with EC Regulation 1924/2006 and the Italian Ministry of Health guidelines.
Recurring payment management and churn prevention
Automatic payments fail: expired card, insufficient funds, 3DS not completed. Every failed payment is a subscription at risk. It needs a smart retry system with email and SMS notifications, and a win-back sequence for those who cancelled.
WooCommerce Subscriptions technical challenges
Where the real
problems hide.
Subscriptions on WooCommerce are more complex than they look: installing a plugin isn't enough. Every aspect — from recurring payments to stock for subscribers — hides complexity that only shows up in production.
WordPress e-commerce development process
How I
organise the work.
Nine to ten weeks in four phases. Subscription complexity calls for a step-by-step approach: first the recurring payment engine, then the bundle builder, then the customer area. Each phase delivered and tested before moving on.
Full audit of the existing WooCommerce: installed plugins (often dozens, many unused), CSS/JS conflicts, slow checkout. Cohort analysis of historical data to measure how many customers are lost. Architecture: WooCommerce Subscriptions + custom PHP plugin + Stripe Billing + an email automation tool.
WooCommerce Subscriptions with a custom PHP extension for the specific rules (pause, skip delivery, edit bundle). Stripe with merchant-initiated transactions for PSD2 compliance. Dozens of payment scenarios tested: successful renewal, expired card, insufficient funds, incomplete 3DS.
A custom PHP plugin for the bundle builder with progressive discounts and stock synced across several items. A custom WooCommerce theme with long-form product pages (ingredients, studies, FAQ). A redesigned customer area with visual subscription management. Optimisation: server response under 2 seconds.
Email automation: welcome for new subscribers (5 emails in 14 days), pre-renewal notices, failed-payment recovery (3 attempts in 7 days with SMS), win-back 30 and 60 days after cancellation. Migration of existing subscribers. Controlled go-live with 24-hour monitoring.
Technical solution: checkout and subscriptions
How I solve
each problem.
WooCommerce Subscriptions extended for real-world cases
WooCommerce Subscriptions handles the basic subscription cycle. But a brand like this needs rules the plugin doesn't support on its own: bundles with a progressive discount that updates when products change, the option to skip a single delivery without cancelling, a notice 5 days before renewal.
A custom PHP plugin hooks into WooCommerce Subscriptions with actions and filters, without touching the core, so it stays compatible with future updates. The same plugin calculates bundle discounts based on the chosen combination, following rules set from the admin panel without touching code.
The plugin is documented and covered by PHPUnit tests. The owner can change discount rules from the WordPress panel without touching code, and WooCommerce Subscriptions updates won't break anything.
PSD2 compliance without friction: automatic renewal that works
With Stripe's default setup, each renewal may ask for 3DS authentication: if the customer doesn't complete it, the renewal fails — and that happens a lot. The answer is configuring Stripe with merchant-initiated transactions (MIT), which exempt recurring payments from strong authentication when consent was properly collected on the first order.
For payments that fail anyway (expired card, insufficient funds) there's a 3-step sequence: immediate retry, then after 24 hours with an email, then after 72 hours with an SMS. If all fail, the subscription goes "on hold" — not cancelled — and a win-back sequence starts. A realistic goal: recovering more than half of failed payments.
The personalized kit that raises LTV and cuts churn
The bundle builder is a custom WordPress widget: the customer picks 2 to 4 products and sees the discount and monthly price in real time. Each product shows a line with its main benefit — not the technical name, but the concrete result ("Deeper sleep", "Energy and focus").
Product pages become readable scientific documents: active ingredients with dosage per capsule, links to studies, warnings compliant with EC Regulation 1924/2006, FAQs on drug interactions. The goal is for time on the product page to grow from under a minute to a few minutes — a sign customers really read.
Customers with a 3- or 4-product bundle tend to cancel much less than those with a single product: their lifetime value can be several times higher. That's why the bundle is the heart of the project.
WordPress e-commerce tech stack
Technologies chosen, not imposed.
WooCommerce as the base — the most flexible choice for a subscription system with custom rules. Every custom component is a separate plugin, tested and documented.
WooCommerce stores that grew over the years often have dozens of plugins, many unused or duplicated. After the clean-up: under 10 plugins, all needed. Server response time drops a lot. Lighthouse goal: 85+ on mobile, 90+ on desktop — a great result for a WooCommerce store with subscriptions.
Example goals — subscription e-commerce
What to expect
in the first months.
Example figures, not a client's results: realistic goals for a scenario like this, to be measured with WooCommerce analytics, the Stripe dashboard, email automation reports and cohort data.
"Last month subscriptions brought in more than all the new traffic put together." That's where you want to get: no more starting from zero every month.
— The project's business goalLessons for a subscription e-commerce
What I bring
to every project like this.
These are the points I always keep in mind in subscription e-commerce.
Subscriptions need a payment engine configured with surgical precision. PSD2 and 3DS look like red tape until you see lots of renewals fail for missing authentication. Setting up the MIT exemption on Stripe properly isn't in the basic docs: it takes deep knowledge of payment APIs.
A bundle raises customer value far more than a price increase. Moving from a single product to a 3-product bundle raises lifetime value not because customers pay more each month (they pay less, thanks to the discount), but because they cancel much less. The tie to a "personal kit" weighs more than the discount.
Dozens of WooCommerce plugins don't make a site: they make a problem. Years of plugins "added to try" bring weight, conflicts and security risks. Cleaning up before development often improves response times more than any code optimisation.
Scientific content on product pages doesn't slow sales: it helps them. The instinct that "too much text scares people" is wrong with this audience: they read labels at the supermarket. Giving them studies, dosages and interaction FAQs increases time on page and conversions.
Recovering failed payments is worth as much as finding new customers. Every payment recovered automatically is a subscription that isn't lost. The email/SMS sequence is cheap to set up and then runs on its own.
Have a similar project in mind?
Tell me about it: we start from goals and priorities, and the first call is free.