That'sGonnaHelp
Automation

Back in Stock Alert Automation: Email or SMS?

A restock event can trigger thousands of messages after only a few units return—or send a price alert after the offer ends. Use this routing matrix, event schema, batching rules, and ROI test to choose email, SMS, both, or no send.

teamApril 12, 202621 min read

TL;DR: Use SMS for scarce, urgent restocks only when the shopper explicitly opted in; use email for lower-urgency restocks, richer price context, and cheaper reach. A shared eligibility check prevents stale alerts and overselling.

Back in stock alert automation watches a shopper's request for a specific product or variant, waits for a qualifying inventory or price event, and sends only after a fresh eligibility check. The planning question is “Back-in-Stock and Price-Drop Alerts: When to Use Email vs SMS.” The answer depends on urgency, consent, stock confidence, margin, and what the shopper requested—not on which channel has the louder benchmark.

A useful system does more than notice that inventory changed. It verifies the exact SKU, current available-to-promise quantity, current price, customer permission, recent purchase, frequency cap, and message destination immediately before delivery. That control layer is what keeps an alert useful when a product sells out again in minutes or a price change is reversed.

What is back in stock alert automation?

Back in stock alert automation is an event-driven workflow that records a shopper's request for a product, waits for a valid restock or price threshold, and sends a product-specific notification while the offer is still true. It is narrower than general lifecycle marketing because one shopper, one item, one requested condition, and one current eligibility decision should be traceable in every send.

Klaviyo's back-in-stock documentation describes the basic pattern: a “Subscribed to Back in Stock” event puts the shopper into a special delay until the item is restocked, after which the next step can be email or SMS. Shopify exposes inventory_levels/update when an inventory level changes and products/update when a product or variant changes, according to its webhook topic documentation. Treat those events as prompts to fetch current state, not as permission to send blindly.

This workflow is different from a replenishment email, which predicts when a previous buyer may consume a product and need another. It is also different from browse abandonment automation, which starts from a product view rather than an explicit alert request.

Common SMB use cases include:

  • Apparel and footwear variants: notify a shopper when the requested size and color return, not when any variant returns.
  • Limited seasonal inventory: release a restock in batches so the message count does not exceed what the business can sell.
  • Consumables and replacement parts: alert customers when an unavailable SKU or approved substitute becomes orderable again.
  • B2B wholesale inventory: send a detailed back in stock notification email with quantity, lead time, account pricing, and a sales contact.
  • High-ticket price monitoring: send a price drop notification only after the decrease crosses the shopper's chosen amount or percentage.
  • Service capacity: adapt the same pattern to a newly opened appointment or class slot, with separate rules for transactional and promotional messages.

Search wording reflects both operator and consumer intent. Phrases such as back in stock alerts Shopify and back in stock notifications for WooCommerce often mean “which app should I install?” The operating decision comes first: define the trigger, channel, stop rules, and measurement before choosing a back in stock notification app.

Should a back-in-stock alert use email or SMS?

A back-in-stock alert should default to email when the inventory is likely to remain available, the message needs product or price detail, or SMS consent is missing. Use SMS when the requested variant is scarce, timing changes the buyer's chance to purchase, and the shopper explicitly opted into that text program. Do not treat a phone number collected for shipping as marketing consent.

Email is cheaper for broad reach and gives room for variants, price history, shipping limits, terms, and substitutes. SMS is more interruptive and more expensive per recipient, but it can be appropriate for a high-intent request whose value expires quickly. A back in stock alert automation program should choose a primary channel per event instead of sending every email and text at the same moment.

When should a price-drop alert use SMS instead of email?

A price drop alert should use SMS when the shopper requested text alerts, the discount crosses a clear user-facing threshold, the offer has a short valid window, and contribution margin still supports the message cost. Email is the better default for modest or open-ended price changes because it can explain the old price, new price, variant, exclusions, and expiration without turning every small adjustment into an interruption.

Use a stable reference price. Do not compare today's price with a temporary spike, a misleading “compare at” value, or a different variant. If the decrease is below the shopper's threshold or the price has already reverted, do not send.

Should a store send both email and SMS for the same inventory event?

A store should send both only when each channel has a defined role and the shopper has permission for both. For a scarce restock, SMS can be the primary alert and email can be a later backup only if the item remains available and no purchase occurred. For a stable restock, one email is usually enough.

Klaviyo recommends an omnichannel flow because it is easier to maintain and compare than separate flows, but that does not mean every subscriber should receive both messages. Klaviyo recommends limiting a back-in-stock flow to one or two SMS messages.

A vendor-published one-client example reported 7.9% conversion for back-in-stock email and 8.5% for SMS; it is an anecdote, not a benchmark. The Klaviyo partner article that reports those figures does not establish that SMS will outperform email for another catalog, audience, margin, or consent mix. Test the incremental value of SMS against an email-only control.

Email vs SMS Alert Routing Matrix

The Email vs SMS Alert Routing Matrix turns one inventory or price event into an explicit decision: email, SMS, staged use of both, or no send. Apply the hard stops first, then score only eligible events. The thresholds below are That'sGonnaHelp starting recommendations, not industry standards.

Trigger and condition Default route Use SMS when Use staged email + SMS when Do not send when
Scarce variant restock, likely to sell through within 24 hours SMS to valid SMS opt-ins; email to everyone else eligible The shopper requested SMS, local time is allowed, and inventory can support the batch Email is a backup after 30–120 minutes only if stock remains and no purchase occurred Available-to-promise is at or below safety stock
Stable catalog restock, likely available for 72+ hours Email A shopper explicitly chose SMS-only alerts and the message passes the cap Rarely; one channel normally does the job Inventory feed is stale or the SKU cannot be purchased online
Large price drop, 20%+ starter threshold, ending within 24 hours Email The shopper requested SMS and the current price passes a fresh checkout test SMS first, email later with terms if the price remains valid Reference price is unreliable, margin is negative, or the offer reverted
Modest price drop, 5%–19% starter threshold Email Only when the shopper set that exact threshold and SMS is permitted Usually unnecessary The decrease is under the customer's requested threshold
B2B part or equipment restock Email plus an account-owner task The buyer requested operational texts and the account policy allows them Email holds specifications; SMS only flags urgent availability Contract price, minimum order, lead time, or buyer identity is unresolved
Service slot or appointment opening Transactional or service message after review The customer asked for that slot and the message purpose is documented Use one primary channel plus a human follow-up for high-value bookings Consent or message classification is unclear

Before scoring, block SMS if explicit SMS consent is missing. Block every channel if the item is unavailable, the current price does not qualify, the shopper already purchased, the destination is suppressed, an open complaint or refund makes the alert inappropriate, or the event cannot be tied to the exact product request.

For eligible events, use this five-point routing score:

Signal Points Evidence required
Expected sell-through or offer expiration is under 24 hours +2 Recent velocity or explicit expiration, not a guess
Shopper explicitly selected SMS for this alert program +1 Consent source, text, timestamp, and phone number
Price decrease meets the shopper's threshold or is at least 20% +1 Stable reference price and current checkout price
Expected contribution after discount exceeds fully loaded message cost by at least 10× +1 Margin and channel-cost calculation
Inventory or price snapshot is older than the operating freshness limit Hard stop Re-fetch before routing

Use email at 0–2 points. Use SMS as the primary channel at 3 points when consent exists. At 4–5 points, SMS can go first and email can serve as a conditional backup, but only after another inventory, purchase, and suppression check.

How much inventory should be available before a restock alert sends?

Enough inventory should be available to cover safety stock, open checkout reservations, and the notification batch. Do not wake the full waitlist because one unit appeared. A simple planning rule is:

available to notify =
  current sellable inventory
  - safety stock
  - open checkout reservations
  - known store or marketplace allocations

subscribers in this batch =
  floor(available to notify × subscribers allowed per unit)

Klaviyo documents a restock minimum, subscribers notified per restocked unit, and a wait time between batches. Its example shows 20 restocked units and five subscribers per unit producing a first group of 100 subscribers. Those settings are examples; choose a smaller ratio when conversion is high or inventory updates lag.

What data fields are required for back in stock alert automation?

Back in stock alert automation needs a durable request record, a current product snapshot, channel-specific consent, and a send-decision log. The minimum useful join is shopper + SKU or variant + requested condition + destination + current eligibility. Without that join, an operator cannot explain why a message sent.

Field Why it matters Reject or review when
alert_request_id Idempotency and audit trail One request can create duplicate sends
Customer or anonymous profile ID Joins request, consent, purchase, and suppression Email and phone map to different people
Product, variant, and location ID Prevents wrong-size or wrong-location alerts Only a product-level ID is stored
Alert type Separates restock, price drop, and service availability One generic flag drives every message
Requested channel Preserves the shopper's choice The form silently upgrades email to SMS
Consent status, source, text, and timestamp Proves channel eligibility Consent purpose or capture language is missing
Requested price or percentage threshold Prevents trivial price alerts No user or policy threshold exists
Reference and current eligible price Supports a defensible price calculation Different currencies, variants, or discounts are compared
Current sellable inventory and safety stock Controls batching Inventory includes unavailable locations
Event and snapshot timestamps Supports freshness checks Event is newer than the fetched state or state is stale
Purchase, cart, refund, complaint, and support state Supplies stop rules A new purchase or active issue is invisible
Send decision, reason code, and message ID Supports QA and measurement The operator cannot reconstruct the decision

The event payload can stay small if the workflow fetches authoritative state before sending:

{
  "alert_request_id": "ar_10482",
  "profile_id": "cus_701",
  "variant_id": "sku_boot_8_black",
  "alert_type": "back_in_stock",
  "requested_channel": "sms",
  "requested_threshold": null,
  "event_at": "2026-04-12T15:04:20Z",
  "source_event_id": "inventory_levels_update_8841"
}

How should price-drop automation calculate a real price change?

Price-drop automation should compare the current purchasable price with a stable reference price for the same SKU, currency, customer group, and quantity. Store both values and the rule version used for the decision.

price drop percentage =
  (reference eligible price - current eligible price)
  / reference eligible price
  × 100

The reference can be the regular price observed before the promotion or a user-saved price. Exclude tax and shipping consistently, and test the product page or cart before delivery. A price drop notification app that cannot explain its reference price should not send on behalf of the business.

How do you build the automation and stop it safely?

Build the automation as one observable event path with a fresh pre-send check, not as separate email and SMS flows that drift over time. Start with one product family, one alert type, and one decision table. Expand only after duplicate, stale, and suppressed paths behave correctly.

  1. Capture an explicit request. Record the shopper, exact variant, alert type, threshold, requested channel, consent evidence, and timestamp.
  2. Normalize product state. Join inventory by location, reservations, safety stock, price, currency, discount window, and purchase URL.
  3. Consume events idempotently. Deduplicate by source event ID and request ID; let an inventory or product event trigger a fresh read.
  4. Apply hard stops. Check purchase, current stock, current price, consent, opt-out, quiet hours, complaint, refund, and global frequency caps.
  5. Route with one ruleset. Produce email, sms, email_then_sms, or no_send plus a reason code and rule version.
  6. Send and observe. Store provider message ID, cost, delivery, click, completed order, return, opt-out, and complaint events.
  7. Reconcile daily. Compare waitlist requests, inventory, sends, purchases, failures, and suppressions so missed or duplicate events surface.

For an existing platform, first run a Klaviyo audit against the form, event, catalog, profile, flow, and attribution data. Platform templates save build time only when the underlying variant, consent, and inventory states are correct.

What should stop an email or SMS alert before delivery?

A newer purchase, missing consent, opt-out, unavailable inventory, reverted price, invalid destination, active complaint, unresolved refund, quiet-hours conflict, or shared frequency-cap breach should stop the alert. Recheck those conditions at delivery time, including for a second message.

Klaviyo notes that its flow cannot check whether an item is still in stock before a follow-up message. If the platform cannot perform the required second check, use one message or put the eligibility check in an external workflow before the provider send.

Channel law and policy are more complex than a table. The FTC says each separate CAN-SPAM-violating commercial email can face a penalty of up to $53,088. The FTC's CAN-SPAM guide also explains sender responsibility and opt-out duties.

Federal telephone-solicitation rules use 8 a.m. to 9 p.m. at the recipient's local time as the outer delivery window. The current 47 CFR 64.1200 also treats common replies such as STOP, QUIT, END, CANCEL, and UNSUBSCRIBE as consent revocation methods and gives a ten-business-day outside limit for covered requests. Use immediate suppression as the operating target, consider a narrower local-time window, and review current federal, state, carrier, and platform rules with qualified counsel.

Keep SMS consent, STOP sync, quiet hours, and cross-program caps in one shared control layer. The implementation checklist in SMS marketing automation with consent rules covers those controls in more depth.

Operator composite: a measured dual-channel pilot

This operator composite shows how a small ecommerce team could test channel routing without treating SMS as an automatic upgrade. It is an illustrative model assembled from recurring implementation patterns, not a named public customer claim. Every company detail and result below is a planning example.

A 16-person specialty-parts retailer sold 640 SKUs through Shopify and a small showroom. About 3,100 people requested stock or price alerts each month. Its old workflow sent one daily back in stock notification email to every matching address, even when only a showroom unit had returned or the shopper had already purchased a substitute.

The team defined an eight-week baseline and found 4,800 alert requests that would have been eligible after obvious suppressions. Completed purchases within 48 hours were 7.1% in the email-only path. The business used a $32 contribution estimate per qualifying order after product cost, payment fees, fulfillment, and expected returns.

The first build used Shopify inventory and product events, a warehouse availability query, Klaviyo email, provider-managed SMS, and one alert-decision table in its database. Half of eligible requests stayed in an email-only control. The other half used the matrix: SMS for scarce, short-window events with explicit SMS consent; email for stable restocks and ordinary price changes.

Testing exposed two failures before launch. Showroom inventory made an online variant appear available, and a temporary “compare at” value created a fake price decrease. The team changed each event into a re-fetch, subtracted location allocations and reservations, stored a stable reference price, and required a successful product-page or cart check.

In the illustrative result, the email-only control produced a 7.1% 48-hour purchase rate and the routed group produced 8.7%. Across 2,400 requests per group, the 1.6-percentage-point difference modeled about 38 incremental orders. That difference would still need confidence checks, return adjustment, channel leakage review, and another test period.

At $32 contribution per qualifying order, 38 modeled incremental orders produced $1,216 of incremental contribution during eight weeks. After $112 of illustrative message and monitoring cost, net test value was $1,104 against $3,600 of setup cost. If that rate held, simple payback would be about 6.5 months; the eight-week pilot itself did not pay back the build, and a weaker repeat could erase the case.

What does alert automation cost and how do you prove ROI?

Alert automation can cost almost nothing in incremental software when clean inventory events and email automation already exist, or several thousand dollars when identity, catalog, consent, and price history need repair. Budget for data joins, QA, monitoring, and message usage—not only the flow-builder subscription.

Twilio lists US outbound long-code SMS from $0.0083 per segment before carrier, registration, destination, and number charges. Twilio's US pricing page also notes that text messages are billed per segment, so long copy or Unicode characters can change cost.

Cost item SMB planning range in USD Main cost driver
Existing email automation $0 incremental to list-based paid pricing Active profiles, monthly sends, features, support
SMS message usage From $0.0083 per outbound segment plus fees on Twilio Segments, carrier fees, sender type, registration, destination
Alert form and event setup 8–24 internal hours or $1,000–$3,000 external estimate Theme, consent fields, product and variant mapping
Inventory and price-state integration $2,000–$8,000 external estimate Locations, reservations, ERP, markets, currencies, price history
QA and controlled pilot 12–30 internal hours Test profiles, variants, channels, holds, dashboards
Ongoing review 2–6 internal hours per month Catalog changes, failures, complaints, spend, experiments

These service amounts are That'sGonnaHelp planning estimates, not quotes or market benchmarks. A single-store catalog with clean native events may cost less. A multi-location or B2B catalog with contract pricing, POS, marketplaces, and an ERP may cost more.

How do you measure whether stock and price alerts caused incremental orders?

Measure incremental orders by comparing a routed treatment with a valid control that receives the current standard experience. If every eligible shopper already receives email, test email-only against rule-based email or SMS; do not compare SMS recipients with people who never consented to SMS.

incremental purchase rate =
  qualifying purchase rate in routed group
  - qualifying purchase rate in control

incremental contribution =
  incremental qualifying orders
  × contribution per order

net value =
  incremental contribution
  - message, discount, setup, QA, and maintenance costs

payback months =
  one-time implementation cost
  / average monthly net value before setup cost

Use completed, noncanceled, nonrefunded orders for the exact requested SKU or an approved substitute. Report opt-outs, complaints, stockout-after-click, duplicate sends, and gross margin beside conversion. The broader business process automation ROI framework helps keep labor savings, contribution, software, and ongoing costs in one model.

When is this automation not a good fit?

This automation is not a good fit when inventory or price data is unreliable, the list lacks channel-specific permission, or alert volume is too low to justify another operational system. In those cases, repair the source data, use a manual waitlist, or send one carefully reviewed email rather than automating a false promise.

Delay the project when:

  • Inventory cannot distinguish online sellable units from store, marketplace, damaged, reserved, or safety stock.
  • Prices vary by customer, market, quantity, or currency and the workflow cannot reproduce the checkout price.
  • The store has no durable record of what product, threshold, and channel the shopper requested.
  • SMS permission is inferred from a phone number instead of explicit consent evidence.
  • The team cannot process replies, opt-outs, failures, complaints, and support issues.
  • Most restocks sell through before event and catalog systems agree.
  • Monthly eligible volume cannot support a useful channel experiment or reasonable payback.

Common mistakes

The most common mistakes come from treating an event as truth and a channel as permission. Avoid these failure modes:

  • Sending for any product-level restock instead of the exact requested variant.
  • Alerting the whole waitlist when only a few units are available.
  • Letting compare_at_price create a fake price drop alert.
  • Sending email and SMS notifications together without a channel role or shared cap.
  • Reusing general newsletter consent for an item-specific SMS program without review.
  • Counting clicks or attributed revenue without a control and contribution margin.
  • Sending a second message without rechecking stock, price, purchase, and suppression state.

FAQ

How do shoppers get notified when an item is back in stock?

The shopper submits an alert form for a specific product or variant and chooses an allowed channel. The system records that request, waits for a qualifying inventory event, rechecks current sellable stock and eligibility, then sends the back in stock alert.

How do shoppers get price drop notifications?

The shopper saves a product and, ideally, a dollar or percentage threshold. The workflow compares a stable reference price with the current eligible checkout price for the same variant and currency, then sends only if the requested threshold still holds.

How do you set a price drop alert for an ecommerce store?

Store the profile, variant, reference price, requested threshold, channel, consent, and timestamp. Subscribe to product or price changes, fetch current state, calculate the decrease, apply stop rules, and record the send decision and resulting purchase.

Treat an SMS stock or price alert as requiring clear, program-specific SMS permission unless qualified counsel confirms a different classification for the exact message. A phone number collected for delivery, account security, or customer support is not automatically permission for promotional texts.

How do you prevent overselling after a restock notification?

Subtract safety stock, reservations, and other channel allocations from current sellable inventory. Notify in small batches, re-fetch inventory between batches, and stop when available-to-promise inventory reaches the minimum.

How much inventory should be available before an alert sends?

There is no universal unit count. Set a minimum by SKU or family, then cap the subscriber batch using observed conversion, inventory latency, reservations, safety stock, and subscribers allowed per unit.

Is SMS always better than a back in stock notification email?

No. SMS may help when timing is critical and permission is clear, while email handles detail, broader reach, and lower-urgency inventory better. Test SMS incrementally against the store's email standard instead of importing another company's conversion rate.

Can one workflow support email and SMS alerts?

Yes. One shared decision service can feed email and SMS alerts while preserving separate consent, quiet hours, copy, cost, and delivery rules. Keeping eligibility logic shared reduces drift between email and SMS notifications.

Answer clarity notes

  • Dates: source links reflect the cited source or publication context; check current vendor pricing, platform capabilities, carrier rules, and regulations before acting.
  • Scope: this article is for US SMB operating decisions, not legal, financial, tax, or platform-policy advice. Obtain qualified review for the exact SMS program, states, customer relationship, and message purpose.
  • Evidence: public sources support linked facts and the one vendor-published conversion example. The That'sGonnaHelp pilot is an operator composite, not a named public customer claim.
  • Estimates: cost ranges, routing thresholds, ROI figures, timing windows, and payback are planning guidance, not guarantees or industry benchmarks.
  • Do not infer: a platform feature, consent record, price event, or inventory event does not prove that a message is lawful, deliverable, accurate, or profitable for another business.

Sources

That'sGonnaHelp can map the request, inventory, price, consent, routing, and measurement states before an SMB buys another alert app or adds SMS to a fragile email flow.

Related articles

Discuss your project