Playbook · Klaviyo flow not sending
Klaviyo flow not sending — abandoned checkout, shipping, or browse, after the flow already looks live.
Written for a Shopify DTC owner who already pays for Klaviyo, published a flow, waited on an abandoned checkout, a shipment, or a browse, and got nothing. This is a missing-mail playbook, not a copy rewrite. Native tools first. Honest limits. No recovered-revenue number, no conversion lift, no invented case studies.
Nico at Latch AI Ops · Sep 1, 2026 · ~10 minute read
Buy the 72-hour install — $997Checkout email not sendingKlaviyo + ShopifyWISMO email not sendingMerchant FAQ
01
Live on the canvas is not the same as sending.
If the reminder, shipping note, or browse email never arrived, do not start inside the template. Late, duplicate, and missing are three different bugs. Overlap between Klaviyo and Shopify notifications is a different page: Klaviyo + Shopify notifications. Native abandoned-checkout silence is checkout email not sending. Shipping templates that never fire are WISMO email not sending. This page is only the case where a Klaviyo flow already looks live and still sends nothing.
Seven ordinary reasons a live-looking flow sends nothing: the status is still manual, the trigger metric never hits Klaviyo, the profile is not in the Shopify integration, smart sending or a frequency cap held the message, an existing- customer filter skipped them, a timezone delay has not elapsed, or the profile is unsubscribed. Walk them in that order. You already have an ESP. You do not need a third recovery app to find a skip reason.
02
Flow status: manual vs live.
Open Flows. Find abandoned checkout, shipping / fulfilled order, or browse abandonment. Read the status, not the name and not the green check on a single email card. Draft does not send. Manual does not send to a real customer who left checkout at 2pm, got a carrier scan, or viewed a product. Live is the only status that counts.
Manual is the trap. Someone set it so they could review the first ten sends, then never came back. The canvas looks finished. Analytics can even show people in the flow — waiting in a manual queue you are not clearing. From the customer’s inbox that is silence.
If you are not ready to maintain a live flow, do not leave it on manual next to a native Shopify toggle that is also off. Turn native mail on, or press Live. A checkout-ready workflow is one live sequence, not a pretty canvas.
03
Trigger metric missing.
Names lie. Triggers do not. A flow titled “Abandoned checkout” that listens to Checkout Started, or a shipping flow listening to Placed Order instead of Fulfilled Order, or a browse flow listening to a metric Shopify never synced, will look live and still send nothing useful — or nothing at all.
Open Analytics → Metrics. Confirm the event you think you triggered actually exists in the last hour: Checkout Abandoned / Shopify Abandoned Checkout, Fulfilled Order, Viewed Product, or whatever the flow is built on. If the metric is empty, the flow has nobody to enroll. Common gaps: the Shopify integration is paused, the pixel is not on the storefront, you tested from an admin session so the event never qualified, or you renamed / duplicated a metric and the flow still points at the old one.
Then open the flow trigger and match it to that metric. Checkout Started is not Abandoned Checkout. Placed Order is not Fulfilled Order. Added to Cart is not Viewed Product. If you only have budget for one recovery sequence, run checkout abandoned — details sit in the abandoned-checkout playbook.
04
Profile not in the Shopify integration.
Klaviyo can know an email address from a list import, a popup, or a test send and still not treat that person as a Shopify customer. Abandoned checkout, fulfilled-order, and browse flows need the Shopify integration to attach the event to the profile. If the profile has no Shopify ID, no recent Shopify activity, or the integration is disconnected, the trigger never lands on them.
Open the profile. Look for Shopify as a source, a Shopify customer ID, and the event you just created. If the activity feed is empty, the integration did not sync that person. Typical causes: you tested with a staff account or a draft order, the customer used Shop Pay / a guest checkout that did not map, the Klaviyo app in Shopify is uninstalled or missing permissions, or historic sync never ran after you connected the store.
Test from a phone that is not logged into admin. Use a real email you control that is not the store owner. Start checkout or view a product, wait, then read the profile — not the flow canvas. The canvas is not the proof. The profile activity is.
05
Smart sending / frequency cap.
Klaviyo tries not to email the same person too often. That is useful until it hides a real abandon, a real shipment, or a real browse. Smart sending and account-level frequency caps skip a message even when the flow is live and the trigger fired. From the inbox that looks like “Klaviyo stopped working.”
Open the profile → activity / skipped. “Smart Sending,” “frequency,” or “already received an email” is the answer. You already sent a campaign this morning, a test, a preview, or another flow email to that address. The recovery or shipping message waits, then expires, then never sends. Use a fresh address for the next test. Do not keep abandoning from the store-owner inbox.
If you want transactional shipping mail to always go, that mail usually belongs in Shopify notifications, not in a marketing flow sitting under smart sending. Ownership of those events is the Klaviyo + Shopify notifications playbook. Do not turn smart sending off globally to fix one skip. Read the skip. Then decide which messages are marketing and which are operational.
06
Existing customer filter.
A lot of Klaviyo templates ship with “has not placed an order” or “is not an existing customer” on the trigger or the first email. That is correct for a welcome or a first- time abandoner. It is silent for the person who bought last month and then left a second checkout, or who already has an order so your shipping flow’s “first-time buyer” split never reaches them.
Open the trigger filters and every split. Read them twice. “Has placed order at least once” vs “has not placed order since starting checkout” are not the same sentence. If the filter is inverted, the live flow looks healthy and still sends nothing to the people you care about. If you tested with an account that already ordered, you tested the skip, not the send.
Recovery mail is supposed to skip a customer who finished that purchase. It is not supposed to skip every customer who has ever bought from you unless you meant that. Confirm the window on the filter (ever / last 30 days / since this checkout) before you rebuild the flow.
07
Timezone delay.
Klaviyo delays are often “wait 10 hours,” “wait 1 day,” or “send in the recipient’s timezone between 9am and 12pm.” You left checkout at 2pm, checked at 4pm, and declared it dead. That is a late-mail bug wearing a missing-mail costume. Read the wait. Read whether it uses the profile timezone. Wait that long, or temporarily set the first step to one hour for the test, then put a sane production delay back.
Timezone send is the other silent skip. If the profile has no timezone, Klaviyo uses account time. If the window is tomorrow morning in the customer’s zone, nothing goes out this afternoon. A shipping flow with a 24-hour wait after Fulfilled Order will also look dead if you tested at noon and opened the inbox at 1.
Timing for checkout reminders belongs in the abandoned-checkout playbook. Check it here so you stop debugging a send that has not been scheduled yet.
08
Unsubscribed.
A live flow does not override a suppression list. Unsubscribed, bounced, marked as never send, or globally excluded — abandoned checkout, shipping, and browse all skip. Open the profile. If the badge is unsubscribed, that is the whole ticket. Your test from the store-owner address is often already suppressed from a prior import or a previous unsubscribe.
Use a fresh address for the next test. Do not resubscribe the owner just to prove the canvas. If real customers are unsubscribed, that is a list problem, not a flow-status problem. Transactional shipping mail that must reach a buyer even after they left marketing should live in Shopify notifications, not in a Klaviyo marketing flow. That split is in Klaviyo + Shopify notifications.
Preview / “send test email” from the template editor also does not prove the trigger. That only proves the template can render. A test send is not an abandoned-checkout, fulfilled-order, or viewed-product event.
09
When to stay DIY vs pay $997.
Stay DIY if you can spend one afternoon on the list above: live vs manual, trigger metric, Shopify integration on the profile, smart sending / frequency cap, existing-customer filter, timezone delay, unsubscribed. Send one real abandoned checkout, one real fulfillment, or one real browse from a phone. Click the link. That is the whole playbook. No agency required. Short answers also live on the merchant FAQ. Related troubleshooting: checkout email not sending, WISMO email not sending, Klaviyo + Shopify notifications.
Pay for help when the work is not the email template — it is connecting the stack you already have so checkout follow-up is one live workflow instead of a manual flow plus a native toggle you forgot, lead capture is not dying in DMs, and exceptions show up in a channel you already check. That is the Latch AI Ops install.
What $997 USD one-time buys: lead capture on the live store, ops alerts in a channel you already check, and a checkout-ready workflow. 72 hours after collaborator access, not after payment. One live Shopify store. Access plus a delivery thread. Store URL collected at checkout. Not a SaaS seat, not a Klaviyo rebuild, not a Gorgias implementation, not a support VA, not a brand or theme job.
Other shops’ public ranges, not testimonials: a Shopify Flow or recovery-app install typically runs $500–$2,500. A Klaviyo-only flow rebuild typically runs $2,000–$5,000.$997 is the cheap end of that work, sold as a 72-hour install of three systems — not as recovered checkout revenue.
What it does not buy: recovered checkout revenue, a lift in conversion, a percent of carts saved, or a case study. Latch AI Ops has not published customer proof because there are no customers yet. You are buying the install.
Checkout is on Whop. Operator is Nico. United States offer. You can revoke collaborator access after handoff. We do not take owner passwords.