> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ecomelixir.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Subscriptions

> Add a subscribe and save option to your product page

The **Subscribe & Save** block adds a subscription option to your product page, with delivery frequency, subscriber benefits, and bonus gifts.

<Warning>
  **Elixir displays the subscription option. It doesn't create the subscription.** Recurring billing needs a Shopify subscription app. Without one, there's no selling plan for the block to attach to and customers are charged a normal one-time order.
</Warning>

## Step 1: Set up subscriptions in Shopify

1. Install a subscription app from the Shopify App Store (Recharge, Seal Subscriptions, Appstle, Loop, and others all work).
2. In the app, create a **selling plan** for the product: the discount, the delivery frequencies you offer, and any minimum commitment.
3. Apply the selling plan to the products you want to sell on subscription.

Once that's done, the product has a selling plan attached, which is what the theme reads.

## Step 2: Add the block

1. Open your product page in the theme editor.
2. Add the **Subscribe & Save** block, normally directly above the Add to Cart button.

## Step 3: Choose a configuration mode

This is the decision that shapes everything else.

| Mode        | How it works                                                           | Use when                                                                            |
| ----------- | ---------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| **Dynamic** | Reads the product's selling plans and builds the options automatically | Your subscription app is set up and you want prices and frequencies to stay in sync |
| **Custom**  | You type in every price, frequency, and label yourself                 | You want full control of the wording and layout                                     |

**Dynamic is the safer choice.** Prices and delivery frequencies come from the selling plan, so what customers see matches what they're charged. Change the discount in your app and the product page follows.

### If you use Custom mode

Custom mode is display only. You must still connect it to a real selling plan:

* Enter the **Selling Plan ID** from your subscription app. Without it the option can't attach to a subscription.
* The prices you type are labels. Actual checkout pricing comes from the selling plan and from [Shopify Discounts](https://admin.shopify.com/discounts).

<Warning>
  In Custom mode, a price you type that doesn't match the selling plan means customers see one number and get charged another. Keep them in sync, or use Dynamic mode.
</Warning>

## Step 4: Choose a layout

| Layout Mode  | What customers see                                             |
| ------------ | -------------------------------------------------------------- |
| **Toggle**   | A single switch to turn subscription on                        |
| **Selector** | Two cards side by side, One-Time Purchase and Subscribe & Save |

**Preselect Option** sets which is chosen when the page loads. It defaults to **subscribe**, which lifts subscription take-up but can surprise customers who wanted a single purchase. If you preselect subscribe, make the choice obvious on screen.

## Step 5: Fill in the content

### Delivery frequency

Turn on **Enable Delivery Frequency Dropdown** and enter one option per line:

```
Every 30 days
Every 60 days
Every 90 days
```

The first line is selected by default. In Dynamic mode these come from your selling plan instead. If a plan has only one frequency, **Show single delivery option as subtitle** displays it as text rather than a pointless one-item dropdown.

### Savings badge

* **Show Discount Badge Instead of Price** replaces the subscribe price with a badge like "20% OFF", calculated from the selling plan
* **Discount Badge Text** overrides that with static text. Leave it blank to keep the automatic calculation, which stays correct when you change the plan.

### Subscriber benefits

Benefits are added as **Benefit** child blocks inside the Subscribe & Save block, each with its own icon and text. Add, remove, and reorder them like any other block.

Good benefits answer "why subscribe instead of buying once": free shipping on every order, cancel anytime, priority support, a lower per-unit price.

### Bonus gifts

You can show up to five gift items on the subscribe option, each with an image, name, quantity, price, and compare-at price.

These are **display only**. Set up the actual free gift through your subscription app or a Shopify automatic discount, the same way as any other [free gift](/guides/free-gifts).

## Free gifts that unlock on subscribe

The [Free Gift block](/guides/free-gifts) has a **Subscription** unlock type. Set it and every configured gift unlocks the moment the customer chooses the subscription option, which pairs well with a Subscribe & Save block on the same page.

## Troubleshooting

<AccordionGroup>
  <Accordion title="The subscription option doesn't appear">
    The product has no selling plan attached. Check in your subscription app that the plan is applied to this specific product, then reload the theme editor.
  </Accordion>

  <Accordion title="Customers are charged a one-time price">
    In Custom mode, the **Selling Plan ID** is missing or wrong, so the order was placed without a subscription. Copy the ID from your subscription app, or switch to Dynamic mode.
  </Accordion>

  <Accordion title="The displayed discount doesn't match the charge">
    Custom mode prices are typed by hand and don't update when the selling plan changes. Leave the discount badge text blank so it calculates from the plan, or switch to Dynamic mode.
  </Accordion>

  <Accordion title="The frequency dropdown is empty">
    In Dynamic mode the frequencies come from the selling plan. If the plan has only one delivery interval there's nothing to choose from. Turn on **Show single delivery option as subtitle** to display it as text.
  </Accordion>

  <Accordion title="Customers subscribe by accident">
    **Preselect Option** defaults to subscribe. Switch it to one-time purchase, or use the **Selector** layout so both choices are visible side by side.
  </Accordion>
</AccordionGroup>
