Documentation
Everything, written down.
Install it, sell your first subscription, migrate an existing store, or hook into the events. The whole handbook is public, with no account and no paywall in front of it.
The handbook
InstallationMilo Subscriptions is a WordPress plugin that adds recurring subscription products to your store. It works in two modes: This guide covers installation for both modes. Requirements Before installing, make sure your site meets the following requirements: Requirement Minimum Recommended WordPress 6.0 Latest PHP 7.4 8.1+ MySQL 5.7 8.0+ WooCommerce (WC mode) 8.0 Latest HTTPS […]Quick startThis guide walks you through creating your first subscription product and making your first test purchase. You should be able to complete it in under ten minutes. Before you begin, make sure Milo Subscriptions is installed and activated. See Installation if you need help. Step 1: Choose your mode Milo Subscriptions supports two modes. Pick […]Subscription productsSubscription products are the building blocks of your recurring revenue. Milo Subscriptions adds two new product types to WooCommerce: Simple subscription and Variable subscription. This page covers simple subscriptions. For variable subscriptions, see Variable subscriptions. Creating a simple subscription Subscription options When you select Simple subscription, the General tab of the Product data panel shows […]Variable subscriptionsVariable subscriptions let you sell the same product with multiple billing options. A classic example is a SaaS product with Monthly and Annual plans, or a membership site with Basic, Pro, and Premium tiers. Each variation has its own price, billing period, interval, trial, and sign-up fee. Customers pick the variation they want from a […]Billing optionsBilling options control when and how often your customers are charged. Milo Subscriptions builds every subscription on a small set of primitives: billing period, billing interval, length, trial, sign-up fee, and sync. This page explains how they work together and what combinations are possible. The core concepts Billing period The unit of time between renewals. […]Lifetime subscriptionsLifetime subscriptions charge the customer once and grant them ongoing access with no renewals. They are useful when you want the subscription benefits (memberships, downloads, protected content, analytics) but with a single up-front payment instead of a recurring charge. When to use lifetime subscriptions Pick a lifetime subscription when: If you need any form of […]Fixed expiryA fixed expiry date ends a subscription on a specific calendar day, regardless of when it started. This is different from Length, which ends the subscription after a number of renewals. Fixed expiry is useful when access must stop on a known date that is shared across all customers. When to use fixed expiry Pick […]Cart and checkoutMilo Subscriptions integrates directly with the WooCommerce cart and checkout, so selling a subscription feels identical to selling any other product. This page explains what changes when a subscription is in the cart, how payment is handled, and how to customize the experience. Adding a subscription to the cart When a customer adds a subscription […]Switching SubscriptionsSwitching lets customers move between variations of a variable subscription without starting over. For example, a customer on a Monthly plan can upgrade to Annual from their My Account page. What can be switched Switching is available on variable subscriptions only. A customer can move between variations of the same product. Simple subscriptions cannot be […]RenewalsRenewals are the recurring charges that keep a subscription active. Milo Subscriptions handles scheduling the next payment, creating the renewal order, and charging the customer. How renewals are scheduled When a subscription is created, the plugin stores the next payment date based on the billing period and interval. After every successful renewal, the next payment […]CancellationCancelling a subscription ends the recurring billing relationship with a customer. How cancellation works When a subscription is cancelled: Cancellation does not issue a refund. Refund the original payment through WooCommerce separately. Pending cancellation vs immediate Cancelled Customer-initiated cancellation Enabling self-cancellation The cancellation survey Milo Subscriptions ships with an optional cancellation survey, disabled by default. […]DownloadsDownloadable subscription products use the standard WooCommerce download system. Milo Subscriptions wires the WooCommerce download permissions to the subscription’s status so access is granted and revoked automatically as the subscription moves through its lifecycle. How access is controlled Milo Subscriptions hooks into subscription status changes and updates the WooCommerce download permissions accordingly. Internally, the plugin […]Bulk price updateSubscriptions store the price at purchase time, so changing a product’s price does not automatically update existing subscriptions. This is a deliberate design choice: customers who bought at a given price expect to keep that price unless you explicitly raise it. The Bulk price update tool lets you do exactly that in a controlled, transparent […]Synchronized renewalsSynchronized renewals align every subscription to a fixed calendar day instead of the customer’s signup anniversary. This is useful for predictable revenue timing or clean accounting cycles. When to use synchronized renewals If you want every customer to keep their own anniversary, leave sync disabled. If you want subscriptions to end on a shared date […]EmailsMilo Subscriptions sends transactional emails to customers and admins at key points in the subscription lifecycle. This page lists the real emails shipped with the core plugin, how to configure them, and how to customize their templates. How the emails work Emails use the WooCommerce email system: The email list The core plugin ships 11 […]Admin subscriptionsThe admin All Subscriptions screen is where you view, filter, search, and manage every subscription on your site. Open it from Subscriptions → All Subscriptions. List view The list shows each subscription with: Filters The header filter bar supports filtering by status, product, customer, date range, and gateway. Filtered views are URL-encoded and shareable. Search […]My accountThe My account page is where customers manage their own subscriptions. Milo Subscriptions integrates with the standard WooCommerce /my-account/ page and adds a Subscriptions section. What customers see Logged-in customers see a Subscriptions item in the My account menu. The page lists every subscription the customer has, along with per-subscription detail views reachable via a […]AnalyticsThe Analytics screen surfaces the revenue and subscriber metrics that matter for a subscription business. Open it from Subscriptions → Analytics. This page documents the metrics and views that actually ship with the core plugin. The Advanced Analytics add-on extends the set with additional reporting. Date ranges The plugin exposes five preset ranges (no custom […]Migrationmilosubscriptions includes a built-in Migration tool that moves subscription data from an existing subscription plugin into milosubscriptions. It runs as a wizard with four steps (Detect, Preview, Progress, Complete) and processes subscriptions in the background via Action Scheduler, so the import continues even if you close the browser tab. Open it from milosubscriptions → Migration. […]Integrating a Payment Gateway with Milo SubscriptionsThis guide is for developers who want an existing or custom WooCommerce payment gateway to handle subscription renewals and payment-method changes through Milo Subscriptions. Milo Payments uses these same hooks internally; the Any Gateway add-on is what unlocks non-Milo Payments gateways for subscription checkout. Renewals When a renewal is due, Milo Subscriptions creates a renewal […]SettingsThe Settings page is where you configure how Milo Subscriptions behaves on your site: which mode to run in (WooCommerce or Standalone), what customers are allowed to do, how renewals are processed, which emails to send, and more. Open it from Milo Subscriptions → Settings. Settings are grouped into tabs. This page walks through each […]Migration and Payment GatewaysWhen you import subscriptions from WooCommerce Subscriptions, WP Swings, YITH, Flexible, or Sublium, Milo Subscriptions decides which payment gateway each migrated subscription will renew through. This page explains the default behavior, how to tell whether your migrated subscriptions will actually auto-renew, and how to keep your existing gateway. How gateways are mapped by default By […]Hooks & filtersMilo Subscriptions exposes a set of WordPress action hooks and filter hooks so you can react to subscription lifecycle events, modify output, or extend behavior without editing the plugin itself. This page lists every public hook, what it passes, and where it fires. All hooks use the milo_subscriptions_ prefix (note the underscore between milo and […]REST APIMilo Subscriptions ships with a REST API for managing subscriptions, running analytics queries, importing from other subscription plugins, and managing add-ons and settings. The API is admin-only and gated by the manage_woocommerce capability. This page is a high-level overview. For the exact endpoint list and parameters, see the developer reference on the site or read […]FAQAnswers to the most common questions about Milo Subscriptions. If you do not find what you are looking for here, check the rest of the documentation or contact our support team. General What is Milo Subscriptions? Milo Subscriptions is a WordPress plugin that lets you sell recurring subscriptions from your website. It works with WooCommerce […]StatusesThe six statuses A subscription is always in exactly one of these. Pending. Created, but not yet paid for. This is where a subscription sits between the order being placed and the payment clearing. Nothing renews and no access is granted. Active. Paid and running. Renewals are scheduled, and any content, downloads or roles tied […]PaymentsMilo Subscriptions can work with any WooCommerce-compatible payment gateway that supports tokenized recurring payments (Stripe, PayPal, WooPayments, Braintree, Authorize.net, and so on). On top of that, Milo ships a dedicated payments plugin called Milo Payments, which bundles the four most common gateways behind a single OAuth connection flow. This page covers both options: using stock […]TroubleshootingThings that look like a fault in Milo and are not always one, with what to do about each.
Payment gateways
StripeStripe is connected through Milo Payments and is the recommended gateway for most stores. It handles credit and debit cards, Apple Pay, Google Pay, and SEPA Direct Debit, with automatic SCA and 3D Secure. It is the only gateway supported in Standalone mode. Key facts Connecting Stripe Gateway detail page After connecting, the Stripe detail […]PayPalPayPal is connected through Milo Payments using the PayPal Commerce Platform. It accepts PayPal, Venmo, and Pay Later, and supports automatic subscription renewals through PayPal vault tokens. Key facts Connecting PayPal Gateway detail page Once connected, the PayPal detail page shows two sections: Connection Settings A Disconnect button lives in the page header. Disconnecting revokes […]SquareSquare is connected through Milo Payments and accepts credit and debit card payments via Square’s Web Payments SDK. It is particularly useful when you already use Square for in-person sales and want to reuse the same processing account online. Key facts Connecting Square The connection stores four credentials internally: Gateway detail page Once connected, the […]MollieMollie is connected through Milo Payments and provides access to 20+ payment methods popular in Europe, including iDEAL, Bancontact, credit cards, SOFORT, SEPA Direct Debit, and more. It is the right choice when most of your customers are in the Netherlands, Belgium, Germany, or elsewhere in the EU where local methods outperform cards. Key facts […]
Add-on guides
Milo License ServerSell software licenses tied to your subscriptions: key generation, site activations, plugin update delivery, GitHub release sync, and evergreen download URLs, all from your own store. Installation Activation creates a dedicated licenses table plus a telemetry table for update pings and downloads. The admin lives under Subscriptions → Licenses with four screens: All Licenses, Products, […]Milo Elementor ConnectorShow or hide any Elementor element based on the visitor’s subscription status or the products they are subscribed to, straight from the Elementor editor. Installation The connector stays inert until both Elementor and Milo Subscriptions are active, so it is safe to leave installed on any site. The visibility panel Edit any page with Elementor, […]Stripe BridgeMilo Stripe Bridge runs recurring billing through the official WooCommerce Stripe gateway. It is designed for stores that migrated from WooCommerce Subscriptions and want to keep their existing Stripe setup. Requirements How it works Sign-ups When a checkout contains a subscription product, the bridge forces WC Stripe to save the payment method for off-session use. […]Milo TeamsSell team and company subscriptions. One subscription, multiple seats: the manager invites members who inherit the access. Installation Configuration Configuration lives on the plan or product (the team seats field); there is no separate settings screen. Setting up a team plan Add a Team seats value to a plan (standalone) or to a subscription product […]Milo Cancellation FlowsWin back cancelling subscribers with retention offers: pause the subscription or a renewal discount, before the cancellation goes through. Installation Configuration Show a retention offer before a cancellation goes through. Works best with the cancellation survey enabled, so the offer follows the customer’s reason. Under Subscriptions → Settings → General → Cancellation Flows: Setting Description […]Milo Box BuilderLet customers build their own subscription box: pick N items from a pool, and change next renewal’s contents from My Account. Installation Configuration Configuration lives on the product (box size + pool); there is no separate settings screen. Configuring a box On a subscription product, set the Box size (how many items each box holds) […]Milo WebhooksSend signed webhooks on subscription events. Connect Zapier, Make, n8n, your CRM, or anything with a URL. Installation Configuration POST a signed JSON payload to your endpoint on subscription events. Verify deliveries with the X-Milo-Signature header (HMAC SHA-256 of the body using your secret). Under Subscriptions → Settings → General → Webhooks: Setting Description Send […]Milo ReferralsRefer-a-friend for subscriptions: referral links, renewal-discount rewards for referrers, and a welcome discount for friends. Installation Configuration Subscribers share their referral link from My Account. A signup through it rewards the referrer with a renewal discount, applied by the Subscription Coupons add-on. Under Subscriptions → Settings → General → Referrals: Setting Description Enable referrals On/off […]Milo LoyaltyPoints on every subscription payment, redeemable into a discount on the next renewal. Installation Configuration Subscribers earn points on every subscription payment and redeem them from My Account into a discount on their next renewal (applied by the Subscription Coupons add-on). Under Subscriptions → Settings → General → Loyalty: Setting Description Enable loyalty points On/off […]Milo InvoicesSequentially numbered, printable invoices for subscription orders and every renewal, with customer VAT numbers. Installation Configuration Sequentially numbered, printable invoices for subscription orders and every renewal. Customers can enter a VAT number at checkout. Under Subscriptions → Settings → General → Invoices: Setting Description Generate invoices On/off switch. Invoice number prefix Text value. Seller details […]Milo Payment PlansSell any product in N equal monthly payments, collected automatically until the plan is fully paid. Installation Configuration Configuration lives on the product (installments count and frequency); there is no separate settings screen. Setting up a plan On a subscription product, enable Payment plan mode and set the number of payments. The product page and […]Milo Trials ProFriction-free trials: card-free sign-ups per product and a one-click trial extension for customers. Installation Configuration Card-free trial sign-ups are enabled per product (“No card required for the trial” on the product). The one-click extension below lets a customer push their trial end once. Under Subscriptions → Settings → General → Trials Pro: Setting Description Allow […]Milo Pricing TablesA pricing table block and shortcode for your plans, with current-plan awareness and one-click switch buttons. Installation Configuration Configuration lives in the block options (or shortcode attributes); there is no separate settings screen. Building a table Insert the Milo Pricing Table block and pick products by name in the inspector (searchable, no raw IDs). Options: […]Milo WinbackAutomated win-back emails after cancellation, with a one-click resubscribe link and a come-back discount. Installation Configuration Email cancelled subscribers a come-back offer with a one-click resubscribe link. The sequence stops as soon as they subscribe again, and each customer only gets one win-back cycle. The renewal discount is applied by the Subscription Coupons add-on. Under […]Milo WaitlistCapacity-limited plans with a waitlist. When a spot frees up, the first in line gets a time-limited invitation. Installation Configuration Configuration lives on the product (the capacity field); the waitlist itself is managed under Subscriptions → Waitlist. Capacity Set Capacity on a subscription product (0 = unlimited). At capacity the product becomes non-purchasable and shows […]Milo NPSOne-click satisfaction surveys after renewals. Detractors alert you, promoters are nudged to your referral program. Installation Configuration One-click satisfaction surveys after renewals. Scores land on the subscription; detractors (0-6) trigger an admin alert email, promoters (9-10) are pointed to your referral link when Milo Referrals is active. Under Subscriptions → Settings → General → NPS: […]Milo Store CreditGrant customers store credit that is consumed automatically on their upcoming renewals. Installation Configuration No settings screen: grant credit from user profiles, or programmatically. Granting credit Edit any user profile: a Credit balance field lets you set or adjust their balance, with a reason. Milo Gift Cards feeds redemptions into the same balance automatically. Consumption […]Milo SlackSubscription events in your Slack channel: new subscribers, cancellations with their reason, failed payments, and more. Installation Configuration Post subscription events to a Slack channel via an incoming webhook URL (Slack → Apps → Incoming Webhooks). Under Subscriptions → Settings → General → Slack: Setting Description Send Slack notifications On/off switch. Slack webhook URL Text […]Milo Gift CardsSell gift cards that redeem into store credit, consumed automatically on the recipient’s renewals. Installation Configuration Configuration lives on the product (the gift card checkbox); code management has its own screen under Subscriptions → Gift Cards. Selling gift cards Check This is a gift card on a product. An optional recipient-email field appears on the […]Milo OnboardingWelcome email sequences for new subscribers, ending with a pre-renewal heads-up. Kill early churn. Installation Configuration Welcome email sequence for new subscribers: welcome, tips, check-in, then a pre-renewal heads-up as the last step. The sequence stops automatically if the subscription ends. Customize the content with the milo_onboarding_email filter. Under Subscriptions → Settings → General → […]Milo AffiliatesA partner program for your subscriptions: tracked links and recurring commissions, renewals included. Installation Configuration Partners sign up from the [milo_affiliate] page, you approve them under Subscriptions → Affiliates, and they earn commissions on the sign-ups they bring, including renewals during the commission window. Under Subscriptions → Settings → General → Affiliates: Setting Description Enable […]Milo FulfillmentThe shipping side of subscription boxes: shipments screen, aggregated pick lists, packing slips, tracking. Installation Configuration Ship physical subscription orders from Subscriptions → Fulfillment: pick lists, packing slips, and shipped notifications. Under Subscriptions → Settings → General → Fulfillment: Setting Description Enable fulfillment On/off switch. Shipping offset (days) Orders ship this many days after billing. […]Milo ComplianceAuto-renewal compliance: archived consent proof, pre-renewal notices with one-click cancel, price-change alerts. Installation Configuration Auto-renewal compliance: consent proof at checkout, pre-renewal notices with the exact amount, price-increase notifications, and an audit trail on every subscription. Under Subscriptions → Settings → General → Compliance: Setting Description Enable compliance features On/off switch. Require a renewal-consent checkbox at […]Milo Social ProofA live subscriber counter and “someone just subscribed” toasts, powered by your real data. No fake numbers. Installation Configuration A live subscriber counter (block or [milo_subscriber_count] shortcode) and optional “someone just subscribed” toasts, powered by your real subscriber data. Under Subscriptions → Settings → General → Social Proof: Setting Description Enable social proof On/off switch. […]Milo TransferMove a subscription to a new owner: signed acceptance links, history intact, payment method safely detached. Installation Configuration Let a subscription change hands: the recipient accepts by email, history stays intact, and the previous owner’s payment method is detached. Under Subscriptions → Settings → General → Transfer: Setting Description Enable transfers On/off switch. Customers can […]Milo DiscordActive subscribers get a Discord role automatically. Cancelled ones lose it. Your community runs itself. Installation Configuration Create a Discord application and bot (discord.com/developers), invite the bot to your server with Manage Roles, then paste the credentials here. Add the [milo_discord] area to your account page so subscribers can connect. Under Subscriptions → Settings → […]Milo CalendarPrivate add-to-calendar feeds for customers, and a renewal schedule with daily volumes and revenue for you. Installation Configuration Customers get a private calendar feed of their renewals ([milo_calendar] shortcode or block); you get a renewal schedule under Subscriptions → Calendar. Under Subscriptions → Settings → General → Calendar: Setting Description Enable calendar feeds On/off switch. […]Milo Age CheckAge verification for restricted subscriptions: wine clubs, spirits, and anything 18+. Installation Configuration Flag a product as age-restricted in its settings; checkout then requires a date of birth, validated against your minimum age and remembered per customer with an archived proof. Under Subscriptions → Settings → General → Age Check: Setting Description Enable age verification […]Milo TVThe office dashboard: a signed full-screen page with your live subscriber count, today’s numbers, and the activity feed. Installation Configuration Under Subscriptions → Settings → General → Milo TV: Setting Description Enable the TV dashboard On/off switch. Turning it off invalidates the URL immediately. The settings section shows your signed dashboard URL. Open it full-screen […]PassMilo Pass turns every subscription into a scannable QR member pass, verified live at the door. Requirements Setup Nothing to configure: once activated, every subscriber sees their pass on the My Account subscription page. Optionally: Scanning at the door Staff scan the QR with any phone camera; it opens a full-screen page: The verdict is […]DigestMilo Digest emails a periodic summary of your subscription business to you and your team. Requirements Setup Activate the add-on: a weekly digest to the site admin email is scheduled immediately (Monday 8:00, site time). To adjust, go to Settings > General > Digest: Setting Default Effect Send the digest On Master switch. Frequency Weekly […]Any GatewayUnlock any registered WooCommerce payment gateway for subscription checkouts; without this add-on, subscription carts are limited to the Milo Payments gateways (Stripe, PayPal, Mollie, Square). Installation The license is what unlocks the feature: without a valid key the add-on stays dormant and subscription carts remain limited to Milo Payments gateways. The same key also enables […]Milo Advanced AnalyticsDeep subscription analytics: MRR movement, churn breakdown, cohort retention, lifetime value, trial conversion, customer health, revenue forecasting, CSV exports, and scheduled email digests. Installation The add-on adds seven new tabs to Subscriptions → Analytics: MRR Movement, Churn, Cohorts, Lifetime Value, Trials, Health, and Forecast. Configuration Calculation settings (they affect MRR, churn, cohort, and LTV figures; […]Milo Failed Payment RetryAutomatic dunning: when a renewal payment fails, the charge is retried on a schedule you control, with customer emails at each step, before the subscription is cancelled. Installation WooCommerce is required; the add-on hooks into WooCommerce renewal orders and gateways. Configuration Under Subscriptions → Settings → Checkout & Payments → Failed Payment Retry: Setting Description […]Milo GiftingLet customers buy a subscription as a gift: the purchaser handles billing, the recipient gets the subscription in their own account. Installation Configuration Under Subscriptions → Settings → General → Gifting: Setting Description Enable subscription gifting On/off switch. Shows a “This is a gift” option on subscription product pages. Enabled by default. How it works […]Milo MembershipsRestrict pages, posts, and individual content blocks to customers with an active Milo Subscriptions subscription, with optional per-product rules and drip delays. Installation Configuration Under Subscriptions → Memberships you get two tabs: Settings and Restricted content. Setting Description Default fallback message Shown to non-members in place of protected content when no custom message is set. […]Milo Subscription CouponsFour subscription-aware WooCommerce coupon types: discount the recurring price or the sign-up fee, forever or for a set number of renewals. Installation Coupon types The add-on registers four new discount types in the standard WooCommerce coupon type dropdown: Type What it discounts On renewals Recurring product % discount A percentage off subscription products in the […]Milo All Products for SubscriptionsAdd a “Subscribe & Save” option to any existing WooCommerce simple or variable product, so you can sell subscriptions without creating dedicated subscription products. Installation Configuration Under Subscriptions → Settings → General → All Products for Subscriptions: Setting Description Enable Subscribe & Save Global on/off switch. When off, the option no longer appears on the […]Milo Stock ManagementAuto-pause subscriptions when a product’s stock hits zero and auto-resume them when stock is replenished, with the customer notified by email. Installation Configuration Under Subscriptions → Settings → General → Stock Management: Setting Description Enable stock-based subscription pausing On/off switch. Enabled by default. That is the only setting. Everything else happens automatically based on your […]Milo Scheduled Start DatesLet customers or store owners pick a future activation date for a subscription: it is created at checkout, waits in Pending, and activates itself on the day. Installation Configuration Under Subscriptions → Settings → Checkout & Payments → Scheduled Start Dates: Setting Description Enable scheduled start dates On/off switch (on by default). Allow products to […]Milo Split ShippingDifferent billing and shipping schedules on the same subscription: charge annually, ship monthly, with $0 shipment orders created automatically for your fulfillment team. Installation Configuration Under Subscriptions → Settings → Checkout & Payments → Split Shipping: Setting Description Enable split shipping schedules On/off switch (on by default). Shows the split shipping fields on subscription products. […]Milo Download LimitsTier download allowances by subscription plan: cap how many files a subscriber can download per billing period, with the counter resetting on every renewal payment. Installation WooCommerce is optional: the add-on works in WooCommerce mode and in standalone (Stripe-driven) mode. Configuration Under Subscriptions → Settings → General → Download Limits: Setting Description Enable download limits […]Milo Gravity FormsCreate subscriptions from Gravity Forms submissions, either a WooCommerce subscription product or a standalone plan (Stripe Checkout), with per-form field mapping and merge tags. Installation WooCommerce is optional: it is only needed for the WooCommerce billing mode. Standalone mode works without it. Global setting Under Subscriptions → Settings → General → Gravity Forms: Setting Description […]
Still stuck?
Support is handled by the people who write the code, not a first line filter.