Hi Joel! Thanks for your question to the community. Since Klaviyo doesn’t allow users to re-enter the same flow at the same step, we need a workaround using conditional splits and profile properties. Here is how you can successfully do this.
Step 1: Track Users in the Welcome Flow
Before users exit the Welcome Flow (when they make a purchase), you need to store their progress.
- Before Each Email in the Welcome Flow
- Add an “Update Profile Property” action before every major step:
- "was_in_welcome" = "true"
- "welcome_step" = [current step number]
- Example:
- Before Email 1: "welcome_step" = 1
- Before Email 2: "welcome_step" = 2
- Before Email 3: "welcome_step" = 3
- Exit Users Who Make a Purchase
- Add a Flow Filter: "Placed Order > Zero Times Since Starting This Flow"
- This ensures that once they place an order, they exit the Welcome Flow.
Step 2: Move Users to a Post-Purchase Flow
After they exit the Welcome Flow, we send them to a Post-Purchase Flow.
- Create the Post-Purchase Flow
- Trigger: Placed Order
- Flow Filter: "Properties about someone > was_in_welcome = true"
- (Ensures only those who were in the Welcome Flow enter, preventing all buyers from joining.)
- Actions in the Post-Purchase Flow
- Send Post-Purchase Emails
- At the End of the Flow (Before Exiting)
- Add an “Update Profile Property” action:
- "return_to_welcome" = "true"
- This marks users as ready to return to the Welcome Flow.
Step 3: Add Users Back into the Welcome Flow
Now, we need a way to reintroduce users into the Welcome Flow at the correct step.
- Create a New Segment
- Segment Name: "Returning to Welcome Flow"
- Conditions:
-
"Properties about someone > return_to_welcome = true"
-
"Properties about someone > was_in_welcome = true"
-
Add an exclusion condition so users who already completed the Welcome Flow do not re-enter.
- Create a Separate “Welcome Flow – Returning Users” Flow
- Trigger: "Added to Segment" → Select “Returning to Welcome Flow”`
- Flow Actions:
- Conditional Split (Check welcome_step Property):
- If "welcome_step" = 1 → Send them the first Welcome email.
- If "welcome_step" = 2 → Send them the second Welcome email.
- If "welcome_step" = 3 → Send them the third Welcome email.
- Etc.
- After the last email in this flow, add an “Update Profile Property”:
- "return_to_welcome" = "false" (Prevents them from looping back again.)
Why This Works
- Prevents all purchasers from re-entering Welcome Flow.
- Only those who were originally in Welcome Flow return.
- Users continue from the correct step, rather than restarting.
- No duplicate entries or infinite loops.
I hope this helps solve your issue! If you need additional help implementing this please let me know.