Docs

Everything you need to set up Reshelf and understand what it does.

Setup in five minutes

  1. Install the app from the Shopify App Store and approve the permissions (products, inventory, orders and customers).
  2. On the app’s home screen, choose Open theme editor. The editor opens on your product page with the Back-in-stock alert block already placed. Drag it where you want it (usually just under the Add to cart button) and click Save.
  3. Open a sold-out product in your store. The form appears. Request an alert with your own email, then set the product’s inventory above zero: you’ll get the email within a minute.

The home screen’s status section confirms each step: it shows “Form is live on your storefront” once a shopper (or you) has loaded a page with the block.

The storefront form

The block shows only while the selected variant is sold out and hides as soon as the shopper picks an available one, unless price-drop alerts are on (see below). In the theme editor you can choose an inline form or a button that opens a popup, set the heading, button and success text, the colours, and whether to show a newsletter opt-in checkbox.

Leave the text fields blank to use the built-in wording, which appears in the shopper’s language (English, Spanish, French, German, Italian, Portuguese and Dutch). Anything you type is shown as typed.

Two more block settings: Show mobile number field for text alerts adds an optional phone field with an SMS consent checkbox (see Text alerts below), and Offer price-drop alerts on in-stock products shows the form on in-stock items too, with a price-drop heading (see Price-drop alerts).

Signups are protected against bots with a hidden field and rate limits. A shopper who asks twice for the same variant keeps their original place in line.

The alert email

Emails are sent from our domain with your store’s name as the sender; replies go to your store’s email address. In Settings you can edit the subject and message and see a live preview. {{product}} and {{shop}} are replaced with the product name and your store name. Every email includes the product image, a link to that exact variant, and a link to cancel the request, which opens a page where the shopper confirms with one click. It also carries a one-click List-Unsubscribe header, so mail apps that support it show their own unsubscribe button.

Every email ends with your store’s name and postal address, which marketing email has to show. The address is the store address saved in your Shopify admin’s settings; Reshelf checks it once a day. To show a different one, such as a PO box or a registered agent address, type it under Postal address shown in emails in the app’s Settings. If there is no address in either place, alert emails wait and none are sent until you add one; the app’s home screen and an email from Reshelf tell you. Text alerts don’t carry an address.

Text alerts (SMS)

Texts are sent through Twilio, always from a number that belongs to your store alone. US and Canadian carriers require every texting number to be verified for the one business that sends from it, so there is no shared number. On the app’s SMS page, choose how they go out:

Then turn on Show mobile number field for text alerts on the Back-in-stock alert block in the theme editor. The field appears once texts are set up on the SMS page and your store has a published Privacy policy and Terms of service (Settings > Policies in Shopify): the consent box links to both, as carriers require. Shoppers can give an email, a mobile number, or both.

A number is only accepted when the shopper ticks the consent box. Its wording names your store, says what the texts are about, says they are marketing texts, and carries the rates, HELP and STOP lines carriers require. The app keeps a record of each consent: when, the exact wording shown and the page. If Twilio asks for proof of consent, export these records as CSV from the SMS page, for every number or for one. Each request then gets a confirmation text right away, and the alert when the item is back or cheaper. Alert texts go out between 8 a.m. and 9 p.m. in the shopper’s time zone; one that comes due overnight waits until morning. A STOP reply cancels the shopper’s text requests with your store, and later requests from that number wait until they text START. Texts appear in the alert log with the delivery status reported by Twilio.

The text’s wording is yours to set on the SMS page, with a live preview and a segment count. Your store name is added at the start when your wording doesn’t begin with it, and “Reply STOP to opt out” is added unless your wording already says “Reply STOP”. A shopper who signed up in German, Spanish, French, Italian, Dutch or Portuguese gets that line and the confirmation text in their language, and the default wording too while you keep it; wording you change is sent as you wrote it.

Texts go to mobile numbers in the countries your number can reach: the US and Canada for a dedicated toll-free number or a toll-free number of your own, and your number’s own country for a local number from the US, Canada, the UK, Australia, Germany, Spain, Italy, the Netherlands or Sweden. A store that sells alcohol or other age-restricted products never texts Canadian numbers, whichever number it uses. Shoppers with numbers elsewhere are offered email instead.

Price-drop alerts

Turn on Offer price-drop alerts on in-stock products on the block. On an in-stock variant the form appears with a price-drop heading; the app remembers the price the shopper saw. When the variant’s price goes below it and the item is still purchasable, the shopper gets an email or text with the old and new price. With Shopify Markets, the price is the one for the shopper’s country, in its currency, so a shopper is alerted when their own price falls and sees it in the currency they shop in. Product updates trigger the check, with a re-check every five minutes as a backstop. The email and text wording lives in Settings and on the SMS page, with {{old_price}} and {{new_price}} available.

Sending rules

In Settings → Sending rules:

Send now on the Requests page ignores these rules for one product, for the times you want everyone told immediately.

Alert log and status

The Alert log lists every email and text: who, which product, the channel, what triggered it (a restock, a price drop, the five-minute re-check, a follow-up batch, or Send now), when the change was detected, when the message was handed to the provider, and its delivery status: sent, delayed, delivered, bounced, marked as spam, or send failed. A shopper who marks an email as spam or replies STOP to a text is unsubscribed automatically.

The home screen’s Status section checks, each time you open the app, that:

Requests and exports

Requests shows demand by product (how many are waiting and since when), price-drop requests with the lowest price shoppers are waiting for, and the latest individual requests with their channel. You can delete a request, or export everything as CSV, including phone numbers, consent times and, for email requests, whether the shopper ticked the newsletter box.

Shopify customers

Shoppers who ask for an alert are added to Customers in your Shopify admin, usually within five minutes, with the email address or mobile number they gave and the tag Reshelf. Filter your customers by that tag to see everyone who came from the form. A shopper who is already a customer only gets the tag; their name, address and other details are never changed. A shopper who gave both an email and a mobile number becomes one customer when Shopify allows it.

When the shopper ticked the newsletter box, the customer is marked as subscribed to email marketing (single opt-in, dated when they ticked it), the same tick that is sent to Klaviyo. Reshelf never unsubscribes anyone, and leaves a customer who unsubscribed after ticking as they are. Without the tick, consent isn’t touched. The form can’t confirm the address, so if the law where you sell requires double opt-in, confirm these shoppers before emailing them. SMS marketing consent is never set: the form’s SMS checkbox covers texts about that one item, its confirmation and its alert.

Requests made before this was added are synced too, a batch every five minutes. To turn it off, go to Settings → Shopify customers and choose Off; newsletter ticks then aren’t sent to Shopify either (Klaviyo, if connected, still gets them). Customers already added stay in your Shopify admin, where you can edit or delete them. If the home screen’s Status section says a new permission needs approving, reopen the app and approve it; alerts keep sending in the meantime.

Recovered revenue

When an order includes a variant that a shopper was alerted about within the previous 14 days, that order is counted on the home screen as revenue from alerts. Matching is by the shopper’s email on the order, so only email alerts are counted; text alerts aren’t attributed.

Klaviyo

On Integrations, paste a Klaviyo private API key with full access to events, lists, profiles and subscriptions. Only shoppers who tick the newsletter box on the form are sent to Klaviyo, so turn on Show newsletter opt-in checkbox in the block’s settings first; without it nothing syncs. For those shoppers the app records four events on their profile: “Back in stock requested”, “Back in stock alert sent”, “Price drop requested” and “Price drop alert sent”, each with the product and variant, and subscribes them to the list you choose.

Mobile numbers are never sent to Klaviyo. A shopper is identified there by email address only, and the “alert sent” events are recorded for alerts sent by email, not for texts.

Shopify Flow

Two triggers are available in Flow once the app is installed. Both are for back-in-stock requests by email:

Text requests and price-drop requests don’t fire them.

Use them to tag customers, post to Slack, or feed your own reports.

Plans

Every alert feature is on every plan; plans differ in the monthly number of alerts, and a dedicated texting number needs a paid plan billed monthly. See the pricing section. Change plans from the app; Shopify handles the charge.

Texts cost what your texting option costs (see Text alerts). With your own Twilio account, Twilio bills you directly at its rates and Reshelf adds no charge, on every plan, including Free. With a dedicated number from Reshelf, the number costs $2.15 per monthly billing period once it’s approved, and texts cost 2¢ per segment to US and Canadian numbers after your store’s 5 free texts, under the monthly spend cap you set. Shopify bills both with a paid plan billed monthly. Emails are never charged per message.