Multiple lead magnet flow logic

  • 3 January 2023
  • 7 replies

Badge +2

I’ve read (and re-read!) all the threads on this topic, but I’m still struggling.

I have one main list. My subscribe form offers a lead magnet.  The link to the LM is sent in the first message of the welcome series. 

I’d like to add several new lead magnets via different forms on landing pages. These subscribers should get a specific first welcome email with a link to the correct LM, then go through the same welcome series as the main list does. The LMs are different, but all related to the same topic which is why I want everyone to go through the same welcome series.

Option 1 is to create a flow split for every LM at the top of the main welcome flow. Deliver a unique first email, then all subsequent messages are the same. This results in an “ugly” wide flow, but it works. The only downside is, once subscribed a person can never subscribe for a new LM. Yes, I can send all new LMs to the list first (sneak peek), but people will stumble upon the new signup forms and try them (and get nothing)

Option 2 that I see recommended often is to create a new list for each LM so it gets it’s own welcome flow.  That makes sense, but I see two issues.  First, if someone subscribes to a new list with an alternate email, they’ll get my regular campaigns twice since I need to send them to multiple lists now, and they’ll also inflate my profile count. Second, all my segmentation logic generally starts by testing if “is in [main list] and not suppressed”. Now every time I add a new LM/List, I’ll need to update every segments logic with “is in [main list] OR [LM1] OR [LM2] OR… and not suppressed”.

Neither of these seems ideal. Is there a better way to do this?  If not, which would you go with, 1 or 2?


Best answer by Jessica eCommerce Badassery 5 January 2023, 00:58

View original

7 replies

Userlevel 7
Badge +58

Hi @mike.potvin, welcome to the community!

I’m not sure if have come across this thread on this topic, but I presented one possible solution:

To recap it here, I prefer using a different $source value for each Lead Magnet signup into a single main List and to receive the same List Triggered “Welcome Series”.  Then create a Segment Triggered Flow (for each unique $source property) to send the unique Lead Magnet email (and/or messages) specific to that $source. You just have to interleave the timing depending on what sequences of emails you want between the Welcome Series and the Lead Magnet email(s). The advantages of doing this are:

  • All emails go into a Main List, so you don’t have to keep updating/modifying a “Main Segment” rule.
  • All subscribers will get the Welcome Series exactly once, and if they already received it, they won’t get it again.
  • Users can theoretically get all Lead Magnets (once) without going through the Welcome Series multiple times.
  • Each Segment Triggered Flow is separately listed in your Flow list for easy reporting and analytics purposes.
  • Since each Segment Triggered Flow is separate from the Welcome Series, you can build even more sophisticated personalization, use Update Profile Property Actions and other contextually relevant follow-ups in that same Flow without managing a messy “tree” of branches in your main Welcome Series Flow.
  • Since you only have a single Welcome Flow (except for the unique Lead Magnet email), you get the properly aggregated analytics for it, and you don’t have to maintain multiple duplicates (so changes to any emails in the Welcome Series, doesn’t have to be replicated multiple times which can be tedious to maintain). 
  • You can future proof the process as you create new Lead Magnets, you simply have to create a new Form (with a new $source value) that is triggered by a New Segment Triggered Flow - and you don’t have to touch/alter anything you’ve already done.  

Of course there may be unique reasons to not do the above, or if you don’t think that you’ll have lots of different lead magnets now or in the future, you can use the “Separate List” for each signup - it’s easier to implement if you don’t mind cloning your Welcome Series for each List.

Also, there’s not a real way to prevent the same person using two or more different email addresses - so I wouldn’t worry too much about that.  People know that if they use different email addresses, they’re going to get a Campaign email for each.

But if the same email address are in different Lists or Segment, Klaviyo will automatically de-duplicate them if they are in your audience of the same Campaign (List or Segments). If you send separate Campaigns (with the same content) to different Lists or Segments separately, you can enable “Smart Sending” to avoid sending more than one email to the same email address.    

Hope this helps!

Badge +2

Thanks Joseph. The issue with segment triggered flows is that they can take 20 minutes or more to fire. When someone subscribes to receive a lead magnet, they’ll get the initial list-triggered welcome message almost immediately after confirming their subscription, but it won’t have a link to the LM.  Then 20 minutes or so later another segment triggered email will arrive with the lead magnet link.  I feel like that’s not a great experience and will frustrate people. The only solution here that I can see is to make the first segment triggered email actually be the first welcome message, then have the list-triggered welcome series start with the SECOND welcome series email after delaying a day or so. The first segment triggered email will still only arrive 20 minutes after confirming their subscription which might still be frustrating.

Badge +2

Hmm, I’m not sure how this got marked as “solved”… I’m still looking for a solution where the subscriber doesn’t have to wait 20+ minutes for a segment triggered flow to fire.

Userlevel 7
Badge +58

Hi @mike.potvin ,

Quick question, where are we getting the 20 minute wait time number for a segment triggered flow? 

Userlevel 5
Badge +19

@mike.potvin  Yes, the segment triggered flow is SLOOOOOWWWWWW… I swear it didn’t used to be, but recently came across this with a client - took 10 minutes to deliver the email - and I ended up restructuring everything. I originally was using segment trigger for welcome to get around the Shopify signs up at checkout issue, but it didn’t work out.

And yes, neither 1 or 2 is a good option. Been asking for the option to allow users through a list or segment triggered flow more than once for 5+ years for this reason. 


Let’s say you’re willing to overlook the delay in sending the freebie and want to use segment triggered flows.

  • You’ll use hidden profile properties to show you which freebie they signed up for. (I like to create separate fields for this because the standard $source field gets overwritten with their most recent source.) and then use that to create the segment that triggers the delivery flow.
  • Then, at the end of that flow you add a profile property - FOR WELCOME SERIES. That adds them to a segment that triggers your welcome series. Everyone goes to the same one, they will never get it more than once and the delay on that does’t matter because you’ll probably start it the next day.
  • You COULD… deliver their freebie on the success page of the form (not my favorite) and just make sure they know there is something super juicy in the follow up email so they still open and click it. We need to train our subscribers. 


The other option, though you would have to use a 3rd party form builder that can send webhooks (I do this with Elementor on my wordpress website) - is to catch a webhook in Zapier and then send a custom event to Klaviyo called filled out form. 

  • Then you can add a trigger filter to each flow based on the name of the form. 
  • After you deliver the freebie, you add the profile property FOR WELCOME SERIES as mentioned above to move them into the other flow.

You need the 3rd party form because the only way to send a webhook through Klaviyo is through a flow and it completely ignores the Subscribed to List event after the first one - it’s as if it doesn’t exist. You can’t even use the “Subscribed to List” event in Zapier because it just doesn’t register it.


Hope that helps!

Userlevel 5
Badge +19

@alex.hong  I don’t know if the delay is intended behavior - I don’t ever remember it taking that long. Been using Klaviyo a long time. 

But I recently created some segment triggered flows for a client welcome flow and it took 12 minutes to send the first email. 

I had reached out to support about it because I thought it wasn’t sending at all. By the time they had gotten back to me, the agent showed me it was delivered, 12 minutes later - but didn’t say anything like “Oh that’s slower than it should be, let me report it” 

Badge +2

Hi @mike.potvin ,

Quick question, where are we getting the 20 minute wait time number for a segment triggered flow? 

Hey Alex, I’ve read it in other threads, but my own testing confirms it.  The timing is variable, but it’s always more than 10 minutes.