> For the complete documentation index, see [llms.txt](https://docs.roadmap.so/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roadmap.so/subscriptions/getting-started/how-to-set-up-a-subscription-plan.md).

# How to set up a subscription plan

Every field on the subscription plan setup form, what it controls, and what to choose for common subscription patterns.

A subscription plan defines how a product can be subscribed to: which products and variants are eligible, what delivery cadences are offered, what discount applies at each cadence, and whether the first delivery is special.

Plans sit alongside the one-time purchase price for each product. They do not replace it. Customers see the subscribe-and-save option in the widget on the product page and pick the cadence that suits them.

This article walks through every field on the **Update Subscription Plan** form. Use it as a reference when you're not sure what each control does.

#### Where to find your plans

In Roadmap, open **Subscriptions**, then **Plans**.

You'll see a list of every plan on your store. Each row shows:

* **Name**: the display name and a one-line summary like `3 delivery frequencies, 10% discount`
* **Products**: the products this plan applies to

Click a plan to edit it. Click **+ New Plan** in the top-right to create one.

#### The plan options

**Display name**

The name customers see, for example `Subscribe & Save 10%`. This is the headline label in the subscription widget on the product page.

Keep it short and benefit-led. Customers see this in the cart and on their account page, so it should make sense without context.

**Subscription Products**

Decide which products and variants are eligible for this plan.

**Products included in this plan**\
A search-and-pick field. Add the products you want to make subscribable on this plan. Customers shopping for any of these products will see the subscription option in the widget.

**Variants included in this plan**\
Use this when you want the plan to apply to specific variants only, for example `30-day supply` but not `10-day trial`. If you leave variants empty after picking a product, all variants of that product are eligible.

The selected products and variants appear as a list with a `×` button to remove each one.

{% hint style="info" %}
Subscription Products also defines the swap pool. When a customer uses **Swap Products** from their account-page dashboard, they can only swap to products on this same plan. If you want to lock customers to a specific subset, for example only the multi-vitamin variants and never the supplements, put each subset on its own plan. Customers on Plan A can swap within Plan A's products only. They can't reach products that live on Plan B.
{% endhint %}

**One-off products**

Controls which products customers can add as one-time additions to an upcoming order.

This is configured separately from **Subscription Products**, and the two do different jobs. A product can be subscribable without being offered as a one-off, and a product can be offered as a one-off without being subscribable.

**Available products**\
Choose how the one-off list is scoped:

* **All products**: customers can add anything in your catalogue.
* **Specific collections**: customers can only pick from the collections you choose.
* **All products except collections**: everything is available apart from the collections you choose.

For either of the collection options, use **Search collections** or **Browse** to add them. Each appears in a list with a `×` to remove it.

**Include unlisted products**\
Lets customers add products that aren't fully published to the online store. Useful for refills, samples, or add-ons you don't want browsable in your catalogue but do want available as a one-off.

Bundled products never appear in the one-off picker, whichever scope you choose.

The admin and the customer see the same one-off list, so this setting is the first place to look when a product is missing from either. See [Adjusting an upcoming subscription order](/subscriptions/managing-subscriptions/adjusting-an-upcoming-subscription-order.md).

**Subscription Schedule**

Optional. Use this when a later cycle should deliver something different, for example a full-size product first and refills afterwards, or a curated rotation across several cycles.

Click **Add scheduled change**. In the modal:

* **On this billing cycle...**: the cycle this change takes effect on. Cycle `1` is the first renewal after the initial purchase.
* **Change to this product**: pick the variant the customer should receive from that cycle. This can be any variant in your store. It does not have to be one of the plan's Subscription Products.
* **Quantity**: how many.

Each change carries forward until another scheduled change takes over, so you only add a change where the product actually switches. Added changes are listed under **Cycle** and **Scheduled change**, with icons to edit or remove each row.

If you don't add any scheduled changes, every cycle delivers whatever's on the contract, meaning the products customers picked when they subscribed.

See [Schedule product changes across billing cycles](/subscriptions/getting-started/schedule-product-changes-across-billing-cycles.md) for worked examples, including rotating subscriptions.

**Delivery options & discounts**

This is where you set the cadences customers can pick from and the discount each cadence earns.

**Do not apply subscription discount to first order (cycle 0)**\
A toggle. Off by default. Turn it on if you want the customer's first order to be at full price and only renewals to receive the subscription discount. Useful when you're treating the first delivery as a starter or trial.

**Frequency rows**\
Each row is one cadence option the customer can pick. The row has:

* **Drag handle**: reorder rows. The order you set here is the order customers see in the widget.
* **Deliver every**: a number.
* **Unit**: one of `day(s)` / `week(s)` / `month(s)` / `year(s)`.
* **Plan name**: the customer-facing label for this row, for example `Delivered every month`.
* **Discount value**: the numeric amount.
* **Discount unit**: `%` is the visible option.
* **Trash**: remove this row.

Click **Add frequency option** to add another row. There's no fixed limit.

**Example**\
For a subscribe-and-save replenishable, you'd add three rows: every `1 month`, every `2 months`, and every `3 months`, all at `10%` off. Customers pick whichever cadence suits how fast they get through the product.

**Billing Cycles Preview**

The card on the right of the plan form. It shows what the customer receives on each cycle, including any scheduled changes you've added. Use it to sanity-check the sequence before you save.

#### What you can't currently configure on a plan

For clarity, here's what isn't configurable per plan in Roadmap today:

* Maximum number of billing cycles, meaning a fixed-term commitment like a `6-month challenge` that auto-stops. Plans run until the customer cancels.
* Prepaid billing, meaning charging all cycles upfront. Cycles are billed individually as they're processed.
* Per-plan customer permissions. Whether a customer can pause, cancel, skip, or change the frequency of their subscription is always on globally. There's no per-plan toggle to disable any of these.

#### Common configurations

**Single-interval subscribe and save**

* **Display name:** `Subscribe & Save 10%`
* **Subscription Products:** the product or variants you're offering
* **Subscription Schedule:** none
* **Delivery options:** one row, Deliver every `1 month`, `Delivered every month`, `10%`
* **Don't apply discount to first order:** off

The simplest plan. One cadence. Flat discount on every delivery.

**Multi-interval, let customers pick**

* **Display name:** `Subscribe & Save 10%`
* **Delivery options:** three rows, every `1 month`, every `2 months`, every `3 months`, all at `10%`
* **Don't apply discount to first order:** off

Customers see three radio options in the widget and pick the one that matches how fast they consume the product.

**Starter kit first, refills afterwards**

* **Display name:** `Skincare regimen: Subscribe`
* **Subscription Products:** the starter kit
* **Subscription Schedule:** one scheduled change on cycle `1` for the refill variant
* **Delivery options:** every `1 month`, `10%`

The first delivery is the full-size starter kit. From cycle `1` onward the customer gets refills, because a scheduled change carries forward. The refill does not need to be on the plan.

**One-off additions from most of your catalogue**

* **One-off products:** **All products except collections**, listing the collections you want to keep out, for example gift cards or clearance
* **Include unlisted products:** on

Customers can add a one-off item from anywhere except the collections you excluded, and you maintain a short exclusion list rather than a long allow list. Choose **Specific collections** instead when you want to offer a small, curated range of add-ons.

**First order full-price, renewals discounted**

* **Don't apply discount to first order:** on
* **Delivery options:** every `1 month`, `15%` off

The customer pays full price on cycle `0` and gets the subscription discount on every renewal. Useful if the first order is treated as a trial.

#### When a plan setting changes

Editing a plan does not rewrite existing customer subscriptions. The change applies to subscriptions created after the change.

If you've changed the discount or the underlying product price and want existing subscribers realigned, use [Realigning existing subscriptions to current prices (Price Sync)](/subscriptions/pricing-and-billing/realigning-existing-subscriptions-to-current-prices-price-sync.md).

#### Related guides

* [Schedule product changes across billing cycles](/subscriptions/getting-started/schedule-product-changes-across-billing-cycles.md)
* [Adjusting an upcoming subscription order](/subscriptions/managing-subscriptions/adjusting-an-upcoming-subscription-order.md)
* [Changing the products on a subscription contract](/subscriptions/managing-subscriptions/changing-the-products-on-a-subscription-contract.md)
* [Changing shipping on a subscription contract](/subscriptions/managing-subscriptions/changing-shipping-on-a-subscription-contract.md)
* [Realigning existing subscriptions to current prices (Price Sync)](/subscriptions/pricing-and-billing/realigning-existing-subscriptions-to-current-prices-price-sync.md)
* [The Subscription Activity Timeline](/subscriptions/managing-subscriptions/the-subscription-activity-timeline.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.roadmap.so/subscriptions/getting-started/how-to-set-up-a-subscription-plan.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
