> For the complete documentation index, see [llms.txt](https://docs.shopperos.stackline.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.shopperos.stackline.com/selling-and-checkout/subscribe-and-save.md).

# Subscribe & Save

Subscribe & Save lets shoppers buy a product on a repeating schedule at a discount. ShopperOS places each renewal order, charges the saved card, and emails the shopper before each order.

You control:

* the discount,
* the delivery schedules shoppers can pick,
* which products and sales channels offer subscriptions,
* when reminder emails go out.

```mermaid
flowchart LR
  A["Reminder email"] -->|1 to 6 days later| B["Renewal placed at 10:00"]
  B --> C{"Card charged?"}
  C -->|Yes| D["Renewal order"]
  C -->|Declined| E["Email to shopper, retry 1 and 3 days later"]
  E --> F["Payment needed"]
```

*Each renewal follows this path. The email states the exact amount, and the renewal never charges more.*

## Before you start

Subscribe & Save stays off until all of these are ready. Check the **Before you turn this on** box on the settings page. It shows each one as <mark style="color:green;">Ready</mark> or <mark style="color:orange;">Not ready</mark>, with a **Set up** button.

| Requirement            | What it needs                                                                                                                                                                             | Page                                                                            |
| ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
| **In-app checkout**    | Checkout on, with a sales channel set up.                                                                                                                                                 | [Turn on checkout and payments](/selling-and-checkout/checkout-and-payments.md) |
| **Payments**           | A Stripe payment account that can charge renewals.                                                                                                                                        | [Payments](/selling-and-checkout/checkout-and-payments.md#payments)             |
| **Shopper OS sign-in** | Shoppers sign in with a phone code before their first subscription order. Guest checkout cannot subscribe. In **Settings → Authentication**, this option is called **Brandclub sign-in**. | **Settings → Authentication**                                                   |

{% hint style="info" %}
Subscriptions are offered on your Shopify storefront, through the ShopperOS **Add to bag** button on your product pages. Your Stackline team adds this button to your theme.
{% endhint %}

## Step 1: Set up the app defaults

The app defaults apply to every product that offers subscriptions. You set them in **Settings → Checkout → Subscribe & Save**.

{% stepper %}
{% step %}

### Open the Subscribe & Save tab

Open **Settings → Checkout**, and click the **Subscribe & Save** tab.
{% endstep %}

{% step %}

### Set each card

Set each card. The sections below explain each one.
{% endstep %}

{% step %}

### Save

Click **Save**. The first save turns on Subscribe & Save.
{% endstep %}
{% endstepper %}

Next, turn on **Offered** for your [sales channels](#sales-channels), then [opt in your products](#step-2-opt-in-your-products).

![Settings → Checkout → Subscribe & Save](https://489913050-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FblcXcPwOUg5osGsERflQ%2Fuploads%2Fgit-blob-ea78e530f778aa911b56abcd543e4da3643f3baa%2Fsettings-subscribe-and-save.jpg?alt=media)

### Accept new subscriptions

This switch decides whether shoppers can start new subscriptions.

* On: shoppers can start new subscriptions on every channel that offers them.
* Off: the option is hidden and new sign-ups are refused. Live subscriptions keep billing on their schedule.

### Default discount

The default discount applies to every opted-in product, unless a product sets its own. It is a schedule table. The first row prices every order until the first change.

| Discount                | Value           | Rule                                                                                     |
| ----------------------- | --------------- | ---------------------------------------------------------------------------------------- |
| **Percentage off**      | A percent       | 1% to 50% of the price the shopper would pay today, sale price included.                 |
| **Fixed amount off**    | A dollar amount | Never more than the unit price.                                                          |
| **Fixed product price** | A dollar price  | Never raises the price. If the catalog price is lower, the shopper pays the lower price. |

#### Give later orders a different discount

You can give the first order a different discount from later orders. Click **Give later orders a different discount** at the bottom of the table. A new row appears.

* **After N paid orders**: the row starts on the order after N paid orders. **After 1 paid order** starts on the second order. A skipped or failed order is not a paid order.
* Pick the discount and enter its value. A new row starts with the discount type of the row above it.
* Click **Add another later discount** for more rows. Each row must come after more orders than the row above it.
* Click the cross at the end of a row to remove it. With no later rows, every order gets the first row's discount.

Under the table, **Shopper sees** states the schedule, for example **20% off first order, then 10% off**.

### Frequencies

Frequencies are the schedules a shopper can pick. A product can offer fewer of them, but never more.

* Click **Add frequency** to add a row. Each row has:
  * a **Delivery interval**: a number and a unit (days, weeks, months, or years).
  * a **Charge day**: **Same day as the first order**, or a fixed day. Weekly plans use a weekday. Monthly and yearly plans use a day of the month.
* **Shopper sees** previews the label shoppers see, for example **Every 2 weeks**.
* Click **×** to remove a row. At least one frequency must stay.

#### Recommend one frequency

You can recommend one frequency. When a shopper picks Subscribe & Save, the recommended frequency is selected first. Shoppers see **(recommended)** after its label.

* In the **Recommended** column, select the frequency to recommend.
* To recommend none, select the last row, **No recommendation**. The first frequency is then selected first, with no mark.
* If you remove the recommended frequency, nothing is recommended. Pick another one, or keep none.

A product can recommend a different frequency on its own tab. A recommendation never changes a live subscription or what a shopper pays.

### Sales channels

This table lists your Shopify storefront channels. Turn on **Offered** for each channel where shoppers can subscribe. This switch saves as soon as you click it.

![Sales channels, reminders, and turn off](https://489913050-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FblcXcPwOUg5osGsERflQ%2Fuploads%2Fgit-blob-bf04eee10683454bb50661072caac8e91887be26%2Fsettings-subscribe-and-save-channels.jpg?alt=media)

{% hint style="warning" %}
After the first save, each channel starts with **Offered** off. Turn it on for every channel where you want to sell subscriptions.
{% endhint %}

### Reminders and timing

These two settings decide when shoppers hear from you and when renewals run.

| Setting            | What it does                                                                                                                                                                                               |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Reminder email** | How many days before each renewal the shopper gets an email with the exact amount, from 1 to 6 days. A renewal never charges more than the email says. A price increase is always announced 7 days before. |
| **Time zone**      | Renewals are placed at 10:00 in this time zone. "Today" for every schedule follows it.                                                                                                                     |

## Step 2: Opt in your products

Products start opted out. Do these steps for each product you want to offer. You work in **Catalog → product → Checkout → Subscribe & Save**.

{% stepper %}
{% step %}

### Open the product

Open **Catalog**, and click the product.
{% endstep %}

{% step %}

### Open its Checkout page

In the product menu, click **Checkout**.
{% endstep %}

{% step %}

### Open its Subscribe & Save tab

Click the **Subscribe & Save** tab.
{% endstep %}

{% step %}

### Turn it on

Turn on **Enabled**.
{% endstep %}

{% step %}

### Choose the discount

Under **Discount**, keep **Use the app default**, or choose **Override for this product**.

The override starts as a copy of the app schedule in the same table. Change any row. The override replaces the app's whole schedule, later rows included. When **Save** is off, the reason shows beside it.
{% endstep %}

{% step %}

### Choose the frequencies

Under **Frequencies**, untick any schedule you do not want to offer for this product. At least one must stay ticked.
{% endstep %}

{% step %}

### Optional: recommend a frequency

In the **Recommended** column, select the frequency to recommend for this product. Without a pick, the product uses the app's recommendation. A line under the table shows which recommendation applies:

* **Recommended for this product: …** Click **Use the app's recommendation** to go back to the app's pick.
* **Recommended: …, from the app settings.** A change in the app settings applies here too.
* **The app recommends …, which this product does not offer.** Pick a frequency, or shoppers see no recommendation.
  {% endstep %}

{% step %}

### Check and save

Check **What the shopper sees** on the right, and click **Save**.
{% endstep %}
{% endstepper %}

![A product's Subscribe & Save tab](https://489913050-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FblcXcPwOUg5osGsERflQ%2Fuploads%2Fgit-blob-4d531e972097319c8de24388bf120d84f47741f8%2Fproduct-subscribe-and-save.jpg?alt=media)

Done. Next, read [what shoppers see](#shoppers-see-the-offer-in-four-places).

## Shoppers see the offer in four places

A shopper meets Subscribe & Save in four places, in this order.

1. **Product page**: under **How do you want it?**, the shopper picks **One-time purchase** or **Subscribe & Save**. **One-time purchase** is selected first. Subscribe & Save shows the discount, the subscriber price, a **Deliver** schedule, and the next order date. The schedule starts on the recommended frequency, or on the first frequency when none is recommended.
2. **Bag**: the line shows **Subscribe & Save** with the discount and the next order date. The shopper can change its **Delivery** schedule.
3. **Checkout**: the shopper signs in with their mobile phone number and a 6-digit code before they can pay. Under **Your renewals**, they see the next order date and its estimated amount. They agree to the subscription terms.
4. **After the order**: the shopper manages their subscription from their account under **Subscriptions** on your store. They can skip an order, pause, change the date or quantity, update their card or address, or cancel.

On the product page, in the bag and at checkout, the schedule list marks the recommended frequency **(recommended)**.

A discount code can apply to the first order together with the subscription discount. Renewals never use a discount code.

### One-time and subscription lines can share a bag

A shopper can buy a product one time and subscribe to it in the same order. The bag then holds two lines of the product: a one-time line and a **Subscribe & Save** line. A product has at most one of each.

* When the shopper adds the product again with the same choice, the quantity of that line goes up.
* If the shopper subscribes again with a different schedule, the subscription line takes the new schedule. It also adds the quantity.
* To change a subscription to a one-time purchase, the shopper removes the subscription line. Then they add the product as a one-time purchase.

## Step 3: Manage subscriptions

Open **Commerce → Subscriptions** to see and change each subscription. Subscriptions that need review are listed first.

* Search by **Name**, **SKU**, or **Subscription ID**.
* Filter by **Status**: <mark style="color:orange;">Needs review</mark>, <mark style="color:blue;">Starting</mark>, <mark style="color:green;">Active</mark>, Paused, <mark style="color:orange;">Payment needed</mark>, Cancelled, or Ended.

Click a subscription to open it. You can:

| Action                  | What it does                                                                         |
| ----------------------- | ------------------------------------------------------------------------------------ |
| **Skip next**           | Skips the next order only.                                                           |
| **Pause** / **Resume**  | Stops or restarts future orders.                                                     |
| **Quantity**            | Changes how many units each order contains.                                          |
| **Cancel subscription** | Ends future orders. You must enter a reason. Orders already placed are not affected. |
| **Retry now**           | Shown when a renewal is on hold. Check the storefront order first, then retry.       |

Each action is logged with your name under **Activity**.

In **Commerce → Orders**, set **Source** to **Subscription** to see renewal orders only.

## A declined renewal is tried again twice

When a renewal card is declined, ShopperOS emails the shopper. It tries the card again 1 day later and 3 days later. The subscription shows **Payment needed** until the shopper updates their card.

## Turn off Subscribe & Save

Use the **Turn off** card at the bottom of **Settings → Checkout → Subscribe & Save**.

| Action                           | What it does                                                                                                               |
| -------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| **Accept new subscriptions** off | Stops new sign-ups. Live subscriptions keep billing. Use this to pause the program.                                        |
| **End all subscriptions**        | Cancels every live subscription and emails each shopper. You must type the project name to confirm. This cannot be undone. |
| **Turn off**                     | Hides Subscribe & Save from shoppers and deletes its settings. Available only when no subscriptions are live.              |

## Some features are not available yet

These are not part of Subscribe & Save today:

* Subscribe & Save on a Pages store that uses the Pages checkout.
* Different discounts per frequency.
* Product swaps, one-time add-ons, or prepaid plans.
* Editing the email templates.
* Exporting the subscriptions list.

## What if…?

<details>

<summary>What if the product page says that the app does not offer subscriptions?</summary>

The message reads **This app does not offer subscriptions. Turn them on in Settings › Checkout.** Finish Step 1 first.

</details>

<details>

<summary>What if a shopper wants a new card or shipping address?</summary>

Only the shopper can change the card or the shipping address, from their own account.

</details>

<details>

<summary>What if a renewal order needs a refund?</summary>

Refunds are made on the order, not on the subscription. See [Refund a shopper](/selling-and-checkout/orders.md#refund-a-shopper).

</details>

## Next step

{% content-ref url="/pages/Vxrrp5F6oPYQxE7W2iLV" %}
[Orders](/selling-and-checkout/orders.md)
{% endcontent-ref %}
