> For the complete documentation index, see [llms.txt](https://the-wishlist-documentation.gitbook.io/the-wishlist-documentation-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://the-wishlist-documentation.gitbook.io/the-wishlist-documentation-docs/notify-me-and-coming-soon/controlled-release-batching.md).

# Controlled release (batching)

When an item on the **Notify Me** list comes back in stock, the default behaviour is to alert every waiting customer at once. **Controlled release** spreads those alerts over time instead, with the oldest request first, rechecking stock before each batch. It is designed for a small restock of a high-demand line, where alerting everyone at once sends most customers straight to a sold-out page.

This guide covers two things:

1. How to configure controlled release (the **Controlled release** section under Notify Me configuration).
2. How to read the **Controlled restock releases** dashboard.

> Controlled release paces *alerts*. It does **not** reserve or hold stock. A customer alerted in batch 1 has no more claim on the item than one alerted in batch 3. Never describe it to customers as reserving stock, securing an item, or priority access.

***

### Where to find the settings

The configuration is part of the **Controlled release** section inside the existing Notify Me notification settings:

> **Marketing Integrations** > **Notify Me** section > **Controlled release**.

The toggle and all its fields are greyed out until the **Notify Me notification itself is switched on** for that integration — batching is meaningless while Notify Me is off.&#x20;

***

### Turning it on

**Release Notify Me alerts in controlled batches** is the master switch. Off (the default) means today's behaviour: everyone is alerted the moment stock returns. On means alerts are paced according to the settings below.

You then choose a **delivery mode**, which decides how the size of each batch is calculated.

***

### Delivery modes

#### Notify everyone at once

Every waiting customer is alerted as soon as stock returns, in a single batch. This is the current (pre-controlled-release) behaviour. Choose this if you want a release record and dashboard visibility, but no pacing.

#### Fixed number per batch

Alert a set number of customers at a time, oldest request first, waiting between batches.

* **Batch size:** how many customers to alert in each batch.

Batch size stays the same every batch regardless of how much stock is on hand. Stock is still rechecked before each batch, and the release stops if stock runs out or drops below your minimum.

#### Scale to available stock

The batch size is calculated from how much stock is on hand, so a small restock alerts fewer customers and a large one alerts more.

* **Notifications per unit of stock**: how many customers to alert for each sellable unit.

Before each batch, the system reads live stock and sizes the batch as:

```
batch size = sellable stock on hand  ×  notifications per unit
```

where:

```
sellable stock = max(0, stock on hand − safety stock)
```

Because stock is re-read before **every** batch, the mode self-adjusts: as customers buy, the on-hand figure falls and the next batch shrinks accordingly. When sellable stock drops below your minimum (or to zero), the release stops and any remaining customers stay on the list for the next restock.

**Notes on the stock figure**

* "Stock on hand" is the aggregate on-hand quantity across the item's stock locations. It is **not** an available-to-sell figure, it does not deduct open orders, carts, or reserved stock. **Safety stock** is your only buffer for that gap.
* For a Shopify Markets-enabled tenant, the figure is that **region's** stock, and each region runs its own release.
* For non-Shopify Markets users, you can configure specific locations as sources.  Contact TWC for more details.

**Worked example:** notifications per unit = 3, safety stock = 5, minimum inventory = 3, maximum batch size = 30, 50 customers waiting:

<table><thead><tr><th width="109.453125">Batch</th><th>Stock on hand</th><th width="127.61328125">Sellable (minus 5)</th><th width="115.41015625">Raw (times 3)</th><th width="129.7265625">Actually alerted</th><th>Why</th></tr></thead><tbody><tr><td>1</td><td>20</td><td>15</td><td>45</td><td><strong>30</strong></td><td>capped by maximum batch size</td></tr><tr><td>2</td><td>12</td><td>7</td><td>21</td><td><strong>20</strong></td><td>only 20 customers left waiting</td></tr><tr><td>3</td><td>6</td><td>1</td><td>3</td><td><strong>0 - stops</strong></td><td>sellable (1) is below the minimum (3)</td></tr></tbody></table>

***

### The settings, field by field

| Setting                                                   | Applies to               | What it does                                                                                                                                                                                                                                                                                     |
| --------------------------------------------------------- | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Release Notify Me alerts in controlled batches**        | All                      | Master on / off switch.                                                                                                                                                                                                                                                                          |
| **Delivery mode**                                         | All                      | Which of the three modes above is used.                                                                                                                                                                                                                                                          |
| **Batch size**                                            | Fixed batches            | Customers alerted per batch.                                                                                                                                                                                                                                                                     |
| **Notifications per unit of stock**                       | Scale to available stock | Customers alerted per sellable unit.                                                                                                                                                                                                                                                             |
| **Batch interval (minutes)**                              | Fixed, Scale             | Wait between batches. Must be between 5 minutes and 7 days (10080 minutes). Defaults to 60.                                                                                                                                                                                                      |
| **Safety stock**                                          | All                      | Units held back before counting sellable stock. The buffer between on-hand and genuinely sellable.                                                                                                                                                                                               |
| **Minimum inventory**                                     | All                      | If sellable stock falls below this before a batch, the release stops. Remaining customers stay on the list.                                                                                                                                                                                      |
| **Maximum batch size**                                    | Fixed, Scale             | Hard ceiling on any single batch. Cannot be less than the batch size.                                                                                                                                                                                                                            |
| **Maximum notifications per release**                     | All                      | Total cap across the whole release. Cannot be less than the batch size.                                                                                                                                                                                                                          |
| **Send to wishlist customers after Notify Me (fallback)** | All                      | After the whole Notify Me list has been alerted, also alert customers who wishlisted the item but did not explicitly ask to be notified. These respect marketing opt-in and suppression; the Notify Me alerts do not, because a Notify Me request is an explicit customer request for that item. |

#### How the batch size is capped

Whatever a mode calculates, the size is then limited, in this order:

1. **Maximum batch size**:  no batch exceeds this.
2. **Maximum notifications per release**:  the batch is trimmed so the release total does not exceed this cap.
3. **Customers still waiting:** you can never alert more people than are left on the list.

The dashboard records which of these limited each batch, so "why was this batch only N customers?" can always be answered.

***

### The Controlled restock releases dashboard

Each time an item with controlled release switched on comes back in stock, one **release** appears here. The dashboard is read-only visibility.  Settings are changed in the Notify Me section described above.

#### Filters

* **Variant reference** / **Product reference:** find releases for a specific item.
* **Status**:  filter by release outcome (see statuses below).
* **Delivery**:  filter by delivery mode.
* **Start date / End date**:  filter by when stock returned.

#### Columns

| Column               | Meaning                                                                                                                        |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| **Item**             | The product and variant that restocked.                                                                                        |
| **Stock returned**   | When the restock was detected and the release started.                                                                         |
| **Status**           | The release's current state (see below).                                                                                       |
| **Delivery**         | Which delivery mode this release used.                                                                                         |
| **Waiting at start** | How many customers were on the Notify Me list when the release began.                                                          |
| **Alerted**          | How many have been alerted or queued so far. (Hover shows the Notify Me and wishlist split.)                                   |
| **Still waiting**    | How many remain to be alerted, as at the last batch.  Not a live figure.                                                       |
| **Batch**            | The current batch number.                                                                                                      |
| **Next batch**       | When the next batch is scheduled. A running release with no next batch scheduled is flagged.  Contact support if you see this. |

Select a row to open the detail drawer, which lists every batch with the exact stock reading it used, the size it calculated, what capped it, and how many were alerted, skipped or failed.

#### Release statuses

| Status               | Meaning                                                                                          |
| -------------------- | ------------------------------------------------------------------------------------------------ |
| **Starting**         | Created; the first batch is about to go out.                                                     |
| **Running**          | Batches are going out on schedule. Stock is rechecked before each one.                           |
| **Paused**           | Held, not currently sending.                                                                     |
| **Completed**        | Everyone eligible was alerted, or a limit you configured was reached.                            |
| **Stopped manually** | Someone stopped this release. Customers not yet alerted stay on the list for the next restock.   |
| **Stock sold out**   | Stock ran out before everyone was alerted. Remaining customers stay on the list.                 |
| **Stock too low**    | Stock fell below the minimum you set, so alerting stopped. Remaining customers stay on the list. |
| **Failed**           | A batch failed repeatedly and the release stopped. Remaining customers stay on the list.         |

Only **Failed** is a genuine fault. "Stock sold out" and "Stock too low" are normal outcomes.  They mean the guards you configured did their job.

#### Batch (wave) statuses

Within a release's detail view, each batch shows its own status:

| Status              | Meaning                                                                |
| ------------------- | ---------------------------------------------------------------------- |
| **Scheduled**       | Booked to run at the time shown.                                       |
| **Sending**         | Currently going out.                                                   |
| **Sent**            | This batch finished.                                                   |
| **Failed**          | This batch failed and will be retried.                                 |
| **Nothing to send** | The batch ran but had nobody to alert, or stock was below the minimum. |

### Releasing a batch early (manual control)

You do not have to wait for the scheduled interval to send the next batch. The existing manual **Notify Me "send now"** action for a variant now doubles as a **"release the next batch now"** control:

* **When no controlled release is active for that variant**, the action behaves as it always has — it alerts every eligible waiting customer immediately, with no pacing.
* **When a controlled release is active for that variant**, the same action instead **advances the release by one batch**. It respects the configured batch size and the one-alert-per-restock guarantee, rather than blasting everyone and defeating the pacing you set up.

Notes:

* It is safe to use even if a scheduled batch is about to run — whichever fires first wins and the other does nothing. The release then schedules its following batch as normal.
* For a Markets tenant, it advances one batch for **each** active region release on that variant.
* This only applies to a **variant-level** action. A product-level action (no specific variant) still sends the ordinary immediate blast, so pacing is lost for that send — the one-alert-per-restock guarantee still holds, but the batching does not.

#### Audience tags

* **Notify Me:** customers who explicitly asked to be notified about this item.
* **Wishlist:** customers who wishlisted the item but did not ask to be notified. Alerted only after the whole Notify Me list, and only if the wishlist fallback is switched on.

***

### Quick answers

* **The settings are greyed out.** The Notify Me notification itself is not switched on for that integration. Turn it on first.
* **A release is stuck on "Running" with no next batch.** This is the one condition worth raising with support.  A running release should always have a next batch scheduled.
* **"Still waiting" does not match what I expect.** It is the figure as at the last batch, not live; it updates when the next batch runs.
* **Does controlled release hold stock for waiting customers?** No. It paces alerts only.
*
