Milo Download Limits
Tier 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
- Install and activate the free Milo Subscriptions plugin.
- Upload and activate Milo Download Limits (Plugins → Add New → Upload).
- Enter your license key under Subscriptions → Licenses to enable updates.
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 | On/off switch. Enforces download quotas that reset each billing period. |
| Default downloads per period (standalone) | Number. Default per-period quota for standalone plans that don’t set their own. 0 = unlimited. In WooCommerce mode, set quotas per product instead. |
Setting quotas
In WooCommerce mode, each subscription product gets a Downloads per period field in its Download Limits section of the product data panel (variations have their own field). 0 = unlimited. When a subscription is created, the quota is copied from the purchased product onto the subscription.
In standalone mode, each plan gets its own Downloads per period field in the plan editor. A plan value above 0 wins; otherwise the store-wide default applies. 0 falls back to the default, or unlimited if no default is set.
How allowances and resets work
- Every completed download increments the subscriber’s counter for the current billing period.
- Once the counter reaches the quota, further downloads are blocked with a “Download limit reached” message telling the customer when the quota resets.
- The counter resets to zero automatically on each renewal payment. In WooCommerce mode a subscription note (“Download counter reset after renewal payment”) records each reset.
- In WooCommerce mode the counter lives on the subscription; in standalone mode it lives on the user (standalone is one subscription per user).
What subscribers and admins see
- My Account (WooCommerce mode): the subscription detail page shows a Download Quota table with used, remaining, and a usage bar, plus a warning when the limit is reached.
- Admin: the subscription detail sidebar gains a Download Limits panel showing the quota and usage this period, and the data is exposed in the subscription REST response.
Quota reached email
In WooCommerce mode, a customer email named Download Quota Reached (WooCommerce → Settings → Emails) is sent when the subscriber uses their last download. It reminds them the quota resets at the next renewal, and its subject, heading, and additional content are editable like any WooCommerce email. Overridable templates ship in the add-on’s templates/emails folder.
FAQ
- Do quota changes on a product affect existing subscriptions? No. The quota is copied to the subscription at creation, so edit the subscription’s quota directly for existing subscribers.
- What happens with quota 0? In WooCommerce mode, 0 on the product means unlimited. In standalone mode, 0 on a plan falls back to the store default; a default of 0 means unlimited.
- Does disabling the toggle keep counting? No. Turning off the setting disables enforcement, and in standalone mode counting stops as well.
Developer reference
milo_download_limits_quota_reached(action): fires when a WooCommerce-mode subscriber reaches their quota; receives the subscription.milo_download_limits_quota_reached_standalone(action): fires when a standalone subscriber reaches their quota; receives user ID, count, and quota.
Billing modes
Works in both WooCommerce mode and standalone (Stripe-driven) mode.
Did this page miss something?
Tell us and we rewrite it, usually the same day.