What this does
Cap how many times a customer can skip an upcoming order. Pick a count (e.g. 3) and a scope (per month, per year, or per contract lifetime). While a customer is under the cap, the skip dialog tells them how many of their skips they have used. When they reach the cap, the Skip button is replaced with a message that offers alternatives: pause the subscription, change frequency, or contact you.
The cap is OFF by default. Nothing changes for any of your customers until you turn it on.
How to enable it
Go to Subi app Settings > Customer Portal > Customer permissions.
Make sure Set limitation to skip subscription is ON.
Turn on Limit number of skips.
Enter a maximum number (default 3) and pick a scope (Per month / Per year / Per contract lifetime — default Per year).
Click Save. The cap takes effect immediately for all your customers.
What the customer sees before they hit the cap
With the cap on, a customer who opens the skip dialog reads one line under the message telling them where they stand, so the block is never a surprise. The wording follows the scope you picked:
Per month — "You've skipped 1 of 3 allowed in the last 30 days."
Per year — "You've skipped 1 of 3 allowed in the last 12 months."
Per contract lifetime — "You've skipped 1 of 3 allowed."
The month and year scopes are rolling windows, not calendar periods: a skip stops counting 30 days (or 12 months) after it happened, not on the first of the month or in January. That is why the line says "in the last 30 days" rather than "this month".
A customer on a shop with no cap sees no such line, and the dialog looks exactly as it did before.
What happens when a customer hits the cap
In the customer portal and in Shopify Customer Accounts, the Skip button is replaced with a "Skip limit reached" link. When the customer clicks it, they see a modal offering options:
Pause subscription — opens your existing pause flow.
Change frequency — opens your existing change-frequency flow.
Contact merchant — opens the customer's email client with a pre-filled subject line.
What counts toward the cap
Only customer-initiated skips and public-API skips count toward the cap. The following do NOT count and are not blocked by the cap:
Skips you initiate from the Subi admin (single contract or bulk edit "Skip next order").
Skips offered by the cancellation-flow "Skip next order" treatment.
Important: this applies retroactively
When you turn the cap on (or lower it), customers who have already exceeded the new limit are blocked from skipping immediately. They stay blocked until enough time rolls past (for Per month / Per year scopes) or until you raise the cap. Subi shows you a warning when you save the setting, so you know what to expect.
What's not in this version
Per-customer overrides, a skip-analytics dashboard for you, and configurable block-message copy are all on the roadmap but not in this release. The three alternatives offered at the cap are fixed. The usage line the customer reads before the cap is wording you can edit, like the rest of the portal's text, in Subi Admin > Storefront & Portal > Customer Portal > Portal Customization.
For developers
If you call the public API skip endpoint, a new error code NEXT_BILLING_SKIP_LIMIT_EXCEEDED is returned with HTTP 422 when the cap blocks the request. Subscription contract detail responses carry a skip_blocked_by_limit boolean field, and a skip_limit_usage object — used, max_count and scope — which is null on a shop with no cap.



