Fix Klaviyo emails not sending after flow verification
When STOQ verifies a Klaviyo flow, it checks that a flow with the right name exists. It doesn't check what's inside the flow, so a flow can verify successfully and still fail to deliver. These are the three usual causes.
Smart Sending is skipping the email
Klaviyo's Smart Sending skips a profile that was emailed recently (within about 16 hours). Because a customer may have just gotten another email from you, the back in stock alert gets suppressed.
Fix: Open the flow's Email action settings and turn off Skip recently emailed profiles (Smart Sending) for that action. Back in stock alerts are time-sensitive and explicitly requested, so they should always send.
The template uses catalog variables instead of STOQ variables
If your template pulls product data from Klaviyo's catalog lookup blocks (like catalog_item.title), Klaviyo may skip the send when the product reads as out of stock in its catalog, which is exactly the moment a restock alert should fire.
Fix: Replace catalog references with STOQ event variables, for example use {{ event.product_title }} instead of catalog_item.title. STOQ sends the product details on the event, so no catalog lookup is needed. See Personalize Klaviyo back in stock emails.
The flow is triggered by the wrong metric
A flow built on Klaviyo's native Back in Stock metric won't fire, because STOQ sends its own metric.
Fix: Rebuild the flow on the STOQ metric that matches your connection: Back in stock alert (STOQ) on an OAuth connection, or the Stoq - prefixed metric on a legacy API key connection. A flow's trigger can't be changed after creation, so create a new flow with the correct metric.
Check your setup
After the fix, use Send test event from STOQ, then confirm in Klaviyo that the flow sends rather than skips. Klaviyo's flow analytics show whether a message was Skipped and why.
FAQ
Verification passed, so why doesn't it send?
Verification only confirms a flow with the right name exists. It doesn't inspect Smart Sending, the template's variables, or the send settings inside the flow, which is where these issues live.
Where do I see why a message was skipped?
In Klaviyo's flow analytics, the message shows a Skipped status with a reason, such as Smart Sending or a catalog condition.
Could double opt-in be the cause?
If a signup hasn't confirmed and you use double opt-in, the profile may not be eligible yet. That's expected. See Set up double opt-in.
