Why isn’t my Klaviyo flow sending?
What to check when profiles don’t enter, wait, or get skipped
If your Klaviyo flow isn’t sending, start by figuring out where the profile stopped. If the person never entered the flow, look at the trigger, event, and trigger filters. If they entered but didn’t receive a message, check whether the message is Live, Waiting, or Skipped, then review the specific reason in Recipient Activity.
A profile not receiving a message does not always mean the flow is broken. Filters, Smart Sending, consent, timing, and other eligibility rules can intentionally prevent a send.
Start here: where did the profile stop?
| What you’re seeing | Check first |
|---|---|
| No one is entering the flow | The trigger, triggering event, and trigger filters |
| Some profiles are not entering | Profile filters, segment/list membership, and AND/OR logic |
| A profile is Waiting | Time delays, quiet hours, and message timing |
| A profile is Skipped | Recipient Activity and the displayed skip reason |
| Smart Sending appears | Whether the profile recently received a message from the same channel |
| An SMS is not sending | Consent, phone-number validity, sending-number status, and quiet hours |
| It works for some profiles but not others | Each profile’s event data, consent, suppression, and filter eligibility |
Why isn’t anyone entering my flow?
First, confirm that the event or membership change that should trigger the flow actually happened.
Then check:
-
Trigger configuration: Make sure the flow is using the metric, list, or segment you intended.
-
Event data: For a metric-triggered flow, confirm that the expected event appears on the affected profile.
-
Trigger and profile filters: Open the flow trigger and review the filters. Multiple conditions joined with AND must all be true; OR conditions allow any connected condition to be true.
-
Existing segment members: A list- or segment-triggered flow normally responds to profiles who newly enter after the flow is active. People who were already in the segment before the flow existed may need Add Past Profiles.
-
Event timing: For metric-triggered flows, compare the event’s timestamp with Klaviyo’s recorded timestamp in Activity Details. A delay of 6 hours or more can prevent a metric-triggered flow from firing. Transactional flows have a different tolerance.
For a deeper explanation of existing segment members and Add Past Profiles, read Why your Klaviyo flow isn’t sending to people already in your segment and what to do instead.
Why did Klaviyo skip this profile?
Open the flow’s Recipient Activity and select the skipped profile. The skip reason tells you which eligibility rule prevented the message from sending.
| Skip reason | What it usually means |
|---|---|
| Smart Sending | The profile recently received a message from the same channel within the Smart Sending window. |
| Fails Flow Filters | The profile no longer meets the flow filters at send time. |
| Fails Additional Filters | The profile does not meet filters attached specifically to that message. |
| Person Suppressed | The profile is suppressed and cannot receive the message. |
| Missing Email or Phone Number | The profile does not have a usable address or phone number for that channel. |
| Missing SMS Consent | The profile does not have the required SMS consent. |
| Phone Number Is Not Valid | The phone number cannot be used for the SMS send. |
A skipped profile is not automatically evidence of a product defect. A flow can evaluate filters when someone enters and again before a later message sends, so a profile may qualify initially and then be skipped later.
Why is my flow message stuck in Waiting?
Waiting usually means the profile is scheduled for a future step. Check the time delay between the trigger and the message, any delay until a specific time or day, the configured timezone, and SMS quiet hours.
If the message is in Manual status, profiles can queue for review instead of sending automatically. If the message is in Draft, it will not send or queue profiles. Set messages to Live when you are ready for automatic sending.
Why isn’t my abandoned cart flow sending?
Start with the same diagnostic path:
-
Confirm that the expected checkout event is being recorded.
-
Check that the flow is using the correct trigger event.
-
Review the flow filters, including the condition that prevents a profile from receiving an abandoned-cart message after placing an order.
-
Open Recipient Activity and inspect the skipped reason.
-
Check Smart Sending and the message status.
The same process applies to welcome, browse-abandonment, post-purchase, and win-back flows. The trigger event and filters change, but the diagnostic order does not.
What if people were already in my segment?
A segment-triggered flow is designed to respond when profiles newly qualify after the flow is active. If you want to include people who were already in the segment, review the flow’s Add Past Profiles option and the placement choices available for that flow type.
If the goal is a one-time message to everyone currently in the segment—not an automated journey—a campaign may be the better fit.
Still not sending? Here’s what to collect before asking for help
Include:
-
Flow name
-
Message name
-
One or more affected profile identifiers
-
Triggering event and timestamp
-
Whether the profile entered the flow
-
The Recipient Activity skip reason or current status
-
A screenshot of the trigger and Flow Filters
-
Expected result versus actual result
