How do I segment 2 groups of people for different "welcome" pathways?

  • 17 January 2024
  • 3 replies


I have a general mailing list.  The idea is that ANY subscriber on my website or shop comes into this list.  Once they hit that list, they get a “Welcome” series/flow.. everything about this is normal.


What I wanted is a new “list” for people that are filling a “Free Sample” form to where they get a “Free Sample” series/flow before getting moved into the general mailing list from above.


I thought the solution was to create a separate list, subscribe them to that, and then use a flow to move them to the general mailing list after their “Free Sample” is completed.  However, that’s not an option.

These forums said I should be using “Tags” to tag a user and “Segments” instead of “Lists”.. but you can’t create a “Segment” based on “Tags” and I can’t modify a “User” to add or remove “Tags” via the “Properties about someone” definition.


I need these people to sign up, get an e-mail about their free sample.. wait a bit to send another e-mail to make sure their free sample experience went well, and then move them into the main general email list with the original Welcome flow.


I feel like between the platform and the community forums I am just lapping in circles with 0 solution and this feels way more complicated than it needs to be.


Best answer by bluesnapper 18 January 2024, 12:52

View original

3 replies

Userlevel 7
Badge +35

Welcome to the community @ALINEworks 

As you say, adding contacts to a list via a flow is not possible. However, there is a solution for your use case using one main list and flow:

  1. On your 'Free sample' form, add a profile property free_sample and set this to a value of yes. On form submission, that profile property (tag) will be added to the contact's profile with a value of yes.
  2. Create a segment sample requests with a condition properties about someone and choose free_sample in the dimension field and equals yes in the dimension value field. This segment will populate with contacts who have submitted your free sample form. This step isn't necessary for your flow, but having a view of sample requests contacts is obviously good and you’ll have segment growth reporting. Note that you must add free_sample as a custom property to a test profile for it to appear as an option in the segment dimensions.
  3. Your welcome flow will trigger when any contact subscribes to your list (including sample requests) so add an immediate branch to the flow with a conditional split. As with the sample requests segment, choose properties about someone, free_sample and equals yes. Your YES branch is where you add your free sample messages. At the end of this branch (your last free sample message) copy the 'standard' welcome messages, delays etc so they also receive those. Any contacts added to the list who have not requested a sample (free_sample is not yes) will go down the NO branch.

If you want general subscribers also to have the option to request a free sample on your general capture form, add an option for sample request and set the same custom property/values as above. Then, when they're added to the list, they'll go down the YES (sample request) part of the flow.

Some screengrabs below,

Note that if it’s possible for a contact to join your general list and then submit your sample request form, you’ll need to modify this approach. Otherwise, they’ll go down the NO (standard welcome branch) and never see the sample request message in the YES branch. 

Does that help?




Form submit button
sample request segment



@bluesnapper - Thank you for taking the time to reply!

This solution seems valid in my mind; I will give it a shot here this weekend and return with updates on whether it work or if I ran into further issues.


@bluesnapper ‘s solution solves the first part of the issue and lets me get that pathway as described.  Thanks for providing!

Consideration for others in the future, and the conundrum of the second half of the issue:

  1. Setting a custom profile property value does not seem to be natively supported on the Klaviyo form entry/submit (which feels like it should be an option). The solution natively is to create an input field, manually set the value, and manually hide it - or create a secondary flow trigger with some other data regarding that form.
    1. I had a WordPress plugin that supports the Klaviyo API which allowed me to send this profile property/custom field more easily and within my own styling.. so I used that instead.
    2. I did poke around with the Klaviyo form editor to see if it would make my life easier and the conclusion was the above.
  2. This flow setup unravels the first part of my hopeful solution - but does not accommodate folks that submit both forms (as they are not mutually exclusive).
    1. There isn’t a flow trigger for “profile property update” which I believe would have tackled the second half super easily.
    2. Instead, it seems you have to follow @bluesnapper ‘s instructions for the custom segment, and then:
      1. Create a new Flow
      2. Set the Trigger as “added to segment”
      3. Select that Free Sample Request segment that was set up
      4. Design a new flow for these users
    3. This seems like it will work, but now I’m presumably going to be blasting people that have signed up for both with 2 e-mails and now need to hunt for a way to prevent that (which seems to be by adding a conditional based on whether someone has received a welcome flow already - but that doesn’t allow me to see which path they went down so now I have to add another manual custom field to track if someone got the welcome pathway or the free sample pathway?)
    4. Overall this entire process feels cumbersome and it’s just one blockade after another for what feels like is a very basic use case.  I wonder if something like “sub lists” or parent-child relationships of lists existed that we could create flows on to move folks around more easily.
      1. The deeper I get, the more complicated it becomes.. and now I’m dreading adding different Free Sample types for all my products in the future.. as each free sample request type added just exponentially grows the complication of managing.  I’d be better off at that point sorting it out manually.