Skip to main content
Sticky

How to set up your first back-in-stock flow in Klaviyo (and what to check when emails don't send)

  • April 29, 2026
  • 0 replies
  • 62 views
marika-t
Problem Solver II
Forum|alt.badge.img+8

Short answer: A back-in-stock flow in Klaviyo automatically emails customers when a product they requested becomes available again. To set it up: connect your ecommerce platform, verify inventory tracking in your catalog, capture the correct variant data via a signup form, and build a flow with a "Subscribed to Back in Stock" trigger plus a conditional split that checks real-time availability before sending.

You've got a product that sells out fast. That's a good problem…until you realize you're losing customers who would've bought if they'd known it was back.

A back-in-stock flow helps capture sales you’d otherwise lose by automatically notifying interested customers the moment inventory returns. This guide walks you through the complete setup for Shopify and Klaviyo, plus a troubleshooting checklist for when products restock but emails don't send.

This looks like a lot, but the actual build takes under an hour – here's what you actually need to know! 👇


What a back-in-stock flow does

A back-in-stock flow sends an automated email when a product someone wanted comes back into inventory. When a customer lands on your product page and sees "out of stock," they can enter their email to get notified when you restock. Once inventory returns, Klaviyo automatically sends them an email with a link to buy.

Here's the full sequence:

  1. Customer subscribes to notifications for a specific product variant (like a blue jacket in medium)
  2. Klaviyo logs a "Subscribed to Back in Stock" event with that variant's ID
  3. Your ecommerce platform updates the inventory count when you restock
  4. Klaviyo detects the change in its catalog and triggers the flow
  5. The email sends — but only if the variant is available, the data synced correctly, and the flow filters let it through

The flow is variant-specific, which matters more than you might think. If someone wants the medium blue jacket, they won't get an email when you restock the large or the green version. The system tracks down to the size, color, and style level.


Before you build the flow

Klaviyo doesn't track inventory on its own. It pulls data from your ecommerce platform (Shopify, BigCommerce, and others). When that sync breaks, your flow won't send– even if everything else looks perfect.

Three fields in Klaviyo's catalog control whether a back-in-stock trigger can fire:

Field What it needs to be
Inventory quantity Must go from 0 → 1+ to trigger
Inventory policy Must deny sales when out of stock (not "continue selling")
Variant availability Must show as available

 

First, check that your Shopify or BigCommerce integration is connected and actively syncing. Open Integrations in Klaviyo and look for a green "Connected" status next to your ecommerce platform. Then navigate to Content > Catalog and confirm your products are appearing there.

Next, verify inventory tracking is turned on in your ecommerce platform. In Shopify, you'll find this under product settings in a field called "Track quantity." Without inventory tracking enabled, your platform won't tell Klaviyo when items go out of stock or come back in.

You'll also want to turn off "Continue selling when out of stock" for products you want to include in back-in-stock flows. When this setting is on, your platform never marks items as unavailable, so the back-in-stock signup button won't appear on your product pages.

Finally, confirm catalog sync is enabled in your Klaviyo integration settings. This keeps product data flowing automatically – images, prices, inventory counts, all of it.

 

 

What to check Where What you're looking for
Inventory quantity Klaviyo catalog > variant details Matches your platform's current stock level
Inventory policy Your platform's product settings "Don't continue selling" when out of stock
Variant status Klaviyo catalog > variant details Available
Product publish status Your platform's product settings Published to online store
Catalog sync Klaviyo > Integrations > [Platform] > Settings Real-time updates enabled

 


Where the signup lives on your site

 

When a product runs out of stock, Klaviyo replaces your "Add to Cart" button with a "Notify me when available" button — automatically, through your ecommerce integration. No custom code needed.

When someone submits the form, Klaviyo captures their email consent and logs exactly which product and variant they want. That data becomes a "Subscribed to Back in Stock" event on their profile, with five properties your flow depends on:

Property Used for
Variant ID Matches subscriber to the exact restocked product
Product Name Email subject and body
Product URL CTA button
Image URL Product image in email
Price Optional display in email

 

The form is kept simple on purpose. Klaviyo's native form captures all of this automatically. Customize the button text, colors, and confirmation message under Content > Sign-up forms > Back in stock.

Custom forms require manual verification. The most common mistake is hardcoding the variant ID, which points every signup to the same product regardless of which page the customer is on. Test on multiple product pages and check the resulting events in customer profiles to confirm each one captures the correct variant.

To verify it's working: subscribe with a test email, go to Audience > Profiles, open your test profile's timeline, and confirm the "Subscribed to Back in Stock" event includes all five properties. Fix any gaps before building the flow.


The trigger event that starts everything

When someone submits a back-in-stock form, Klaviyo creates a "Subscribed to Back in Stock" event on their customer profile. This event includes everything you'll need later: product name, product ID, variant name, variant ID, image URL, price, and product page URL.

The subscription doesn't send an email right away. Instead, the flow waits until your ecommerce platform reports that the specific variant is back in stock, then sends the notification.

You can see these events by opening any customer profile in Klaviyo and scrolling to their activity timeline. Look for "Subscribed to Back in Stock" with product details listed below it.

Variant ID is particularly important if you sell products with multiple options. Someone who subscribed for a medium blue shirt won't get notified when you restock the large red one. The variant IDs have to match exactly.

 


Building the flow structure

If you want to follow along, start building here.

Go to Flows > Create Flow. Look for the pre-built template called "Back in Stock" and select it. The template includes the trigger and a basic email structure you can customize.

The trigger is set to the "Subscribed to Back in Stock" metric. Anyone who submits the signup form enters the flow immediately, but they won't receive an email until their requested product actually restocks.

Here's a simple flow structure to start with:

  • Email 1: immediate notification when the product is back
  • Conditional split: check if they placed an order for that product
  • Email 2: 24-hour reminder, sent only if they haven't purchased

Smart Sending: The first email is time-sensitive, so think carefully about your Smart Sending settings. If you have limited inventory, you might want to bypass Smart Send Time to ensure immediate delivery. You can adjust this in the email settings under "Smart Sending."

Add a flow filter to exclude anyone who already purchased the product since subscribing. Go to Flow Filters and add a condition like "Has not placed order where Product ID equals [product ID from trigger] since starting this flow."

You might also exclude anyone who received a back-in-stock email in the last 7 days. This prevents oversending if someone subscribes to multiple products that all restock at once.


Designing the email that converts

Your back-in-stock email has one job: get someone from their inbox to your product page. Start with a clear subject line like "Good news! [Product Name] is back in stock."

The email body should feature the product prominently. Use the image URL from the trigger event to display the exact item they requested. Below that, include the product name, variant (if applicable), and price.

Here's how to pull product details dynamically:

  • Product name: {{ event.ProductName }}
  • Variant: {{ event.VariantName }}
  • Product image: {{ event.ImageURL }}
  • Product URL: {{ event.ProductURL }}

Your call-to-action should be direct: "Shop Now" or "Get It Now" linking to the product page. Place the button twice, once near the top and once at the bottom.

You can create urgency honestly. Phrases like "Limited quantities available" or "You asked, we restocked" work well. If you genuinely have limited stock, say so.

Make sure your email looks clean on mobile devices. Most people will open this on their phone, often within minutes of receiving it.


What to check when emails don't send

This is the section I wish I'd had when I was first setting these up.

Symptom What to check Where
Flow never triggers Inventory tracking on? "Continue selling" off? Product published? Your platform's product settings
Flow triggers, no email Flow status set to Live? Flow builder, top right
Customer not receiving email Email consent captured? Smart Sending blocking? Klaviyo profile > consent
Platform shows in stock, Klaviyo doesn't Force catalog resync Klaviyo > Integrations > [Platform] > Settings
Wrong variant notified Variant ID hardcoded in form? "Subscribed to Back in Stock" event in test profile
Email sends but product already sold out Conditional split missing before send Flow builder
Some subscribers never notified Minimum inventory threshold too high? Notifying in groups? Settings > Back in stock settings

Pre-launch checklist

Before setting the flow to Live:

Check
  Catalog syncing; inventory fields match your platform
  "Continue selling when out of stock" disabled
  Signup form capturing all five event properties
  Flow trigger set to "Subscribed to Back in Stock"
  Conditional split checks stock before sending
  Flow filters exclude recent purchasers and recipients
  Test restock simulation completed and email verified

 

When back-in-stock flows fail, it's almost never the flow itself — it's the data feeding into it. Get the catalog and form right first, test before you go live, and the flow will do exactly what it promises.


Start simple, then optimize

Back-in-stock flows typically drive strong performance because the intent is already there. Someone who subscribes is telling you exactly what they want to buy. You just need to let them know when it's available.

Start with a single, well-crafted email. Once you confirm it's working reliably, you can test additions like SMS notifications for subscribers who've opted into text messages, or a second email for people who don't purchase right away.

Monitor your flow analytics for the first few weeks. Look at how many people are entering the flow, how many emails are actually sending, and most importantly, how many recipients are placing orders. If your send rate is lower than your subscription rate, work through the troubleshooting checklist.

The goal is simple: turn every "sold out" moment into a future sale. When someone can't buy from you today, a back-in-stock flow keeps you top of mind when they can.


Helpful resources and next steps

If you are new to flows entirely, check out this Help Center article about getting started.

Your turn: let’s talk “BIS” strategy

What's your biggest question or challenge with Back in Stock flows? Are you stuck on setup, trying to optimize an existing flow, or figuring out how to handle variants or inventory caps?

And if you've already got a BIS flow live: What's been your most surprising learning or win so far? I'd love to hear what's working (or not working) for you.