Solved

Why is my segment triggered flow not sending emails?

  • 1 December 2020
  • 9 replies
  • 870 views

Badge

Hi there!

I have set up a flow based on people from our mailing list who have viewed products on our Shopify site. 

Once they view, they become part of a segment called “Potential Purchasers”. We set up a flow for anyone being added to that group, but no emails have been sent. Would they all be blocked by “smart send” at this stage? If so, shouldn’t they appear as “skipped” at least?

 



Thank you!

 

icon

Best answer by retention 1 December 2020, 09:24

Hello!

I assume that the Segment in the screenshot is the one that you want to use as a trigger for your Flow. If that’s the case, the reason why your Flow is not triggering is because you have the wrong Segment selected as a trigger.

Your selected Segment is: “Potential Purchasers - viewed product (but not bought)”
You need to select the Segment: “ Potential Purchasers”

Fastest way to change the trigger List/Segment for a Flow is to clone the existing Flow and change the List/Segment for the new Flow.

1. Clone the Flow


2. Select new List/Segment



Hope this helps!

View original

9 replies

Userlevel 6
Badge +4

Hello!

I assume that the Segment in the screenshot is the one that you want to use as a trigger for your Flow. If that’s the case, the reason why your Flow is not triggering is because you have the wrong Segment selected as a trigger.

Your selected Segment is: “Potential Purchasers - viewed product (but not bought)”
You need to select the Segment: “ Potential Purchasers”

Fastest way to change the trigger List/Segment for a Flow is to clone the existing Flow and change the List/Segment for the new Flow.

1. Clone the Flow


2. Select new List/Segment



Hope this helps!

Badge

Thank you -- you spotted the flaw!

Badge

A follow up question:

Email #1 is set to send right away for people just added to the list. Email #2 waits 4 days. If I clone this now, will email #1 NOT send to the people currently on the list (as that time has passed)?

Any way around this to ensure all people being added to the list get email #1, and #2?

Userlevel 6
Badge +4

A follow up question:

Email #1 is set to send right away for people just added to the list. Email #2 waits 4 days. If I clone this now, will email #1 NOT send to the people currently on the list (as that time has passed)?

Any way around this to ensure all people being added to the list get email #1, and #2?


A couple of things to understand about List/Segment triggered Flows.

  1. When you clone the Flow and change the trigger List/Segment, people who are already in the List/Segment WILL NOT automatically enter the Flow. Only new people who join that List/Segment after the Flow is Live will trigger the Flow.
  2. There is a way to “Back-Populate” a Flow. This means that you can manually trigger the Flow for the subscribers that are already on your List/Segment. When you “Back-Populate” a List/Segment triggered Flow, you can choose to back-populate based on the date someone was added to the List/Segment, which in your case will skip Email #1 and go directly to Email #2. If there are people who joined the Segment 5 days ago, they will skip Email #2 also and go to Email #3. This is not a good option in your case. The second option is to “Back-Populate” relative to the moment when you click the “Back-Populate” button. This will trigger the Flow for all subscribers in your List/Segment, as they’re just joining. They will start from the very top of the Flow and receive all Emails. This is the option you want to choose in your case. Here’s the documentation on how to “Back-Populate” a Flow: How to Back-Populate a Flow
  3. Another suggestion from us is to avoid using Segments as triggers for Flows where you want to send the first Email instantly, without time delay (like in your case). While in Lists, when someone subscribes they’re instantly added to the List (in a matter of seconds), in Segments there can be a delay of up to 1 hour before Klaviyo “processes” that the subscriber is eligible to enter the Segment based on the Segment's definitions. This means that in Segment triggered Flows, even if you don’t have a time delay before the first Email, there can still be some delay before the subscriber actually enters the Segment and therefore trigger the Flow. You can learn more about this process here: How Segments Update

Hope that you’ll find these instructions helpful.

 

Badge

So very helpful, Joseph. I’m grateful for your insights. I am following your advice to Back-Populate and happy to learn something new about Klaviyo - cheers!

Badge

Just when I thought this was solved… I need advice on what isn’t working yet : (

After setting up the Back-Populate option as “relative to the moment when you click the Back-Populate button”, I expected that it would take some time to send. About 1 hr for the time delay I added, and at least another hour given this is a segment. That delay is okay.

From 9:30am PST, that should have meant that around 11:30am PST, the deliveries would begin. It’s 1:15pm PST and only 1 of 223 has been sent. The # on the list was previously 222, so I suspect what IS working is that people now added to the list (those who viewed product) are going to receive as intended.

I had hoped to initiate with the other 222 folks too. Did I miss something?

 

Userlevel 6
Badge +4

@sfmetalworks I think I know what’s the problem.


I just run your scenario in my test account, and it worked perfectly.

There’s only one reason that I could think of that would cause this. I suspect that your Email #1 wasn’t Live at the moment you clicked “Back-Populate”. At the moment you Back-Populated the Flow, all 222 people you had in your Segment entered the Flow. If your Emails were in Draft mode, they couldn’t “catch” the subscribers. Emails in Draft mode are being skipped in Flows as they don’t exist.

If the Back-Populate worked, you should almost instantly see the subscribers in the “Waiting” section of Email #1, as shown in the image below.
 


Hope this helps!
 

Badge

@retention -- Thanks for digging into this with me -- it worked!

Only downside is now 2 people on the list will get Email #1 again, but it could be worse. Any ideas for that?

If not, no worries. This has been very helpful!

 

 

Hi @sfmetalworks - everything @retention has shared has been great, given the questions you’ve had about segment-triggered flows. I wanted to additionally note that your use case sounds a lot like a “browse abandonment” flow and there are other ways to achieve this. I think it will be helpful for you to understand this, either because possibly it can help here or it may help as you think about building future flows.

Background:  The way that you’ve built this flow is you have included in your segment logic what I would think of as an inclusion condition and an exclusion condition. e.g. You want people to enter this segment when they (a) view a product (inclusion condition) and exclude them if (b) the same person has completed a purchase (exclusion condition).

Klaviyo’s flows can accommodate this in another way. You could use the “Viewed Product” action as the actual trigger for the flow, then apply “Placed Order” as what is known as a flow filter. The “trigger” is essentially the inclusion mechanism and the flow filter the exclusion mechanism. Essentially, Klaviyo would be saying, “Okay, any time someone performs the event ‘Viewed Product’ they can enter the flow; but if they subsequently perform the event ‘Placed Order’ they need to immediately exit the flow.”  Note: flow filters are very versatile, so you can also apply more of these in many combinations.

You might wonder, why might this be preferable to a “segment” triggered flow? Well, one reason is that it requires one less step - i.e. you don’t need to separately create a segment and then reference that. But another more important reason is that recipients are only considered as entering a segment (for the purpose of triggering a flow) one time, the first time they enter. So, this case, each person will enter your segment at most once. The alternative approach I described allows for a flow to be triggered on each occurrence of the inclusion condition. 

You can see an example of a Browse Abandonment flow here.

 

Reply