Skip to main content

Hello, I have different guides that clients can download, and each guide has its own flow. How can I configure the flows so that clients receive the guides they download but that the flows do not start at the same time? If someone signs up for two lists, they can complete one flow first, and the next one starts when the current one is finished.

Welcome to the community @valeria1802 

A great question and a head scratcher as Klaviyo doesn’t natively support chaining flows!

I think I’ve come up with a solution to your use-case but please review my logic. It’s a lengthy description and looks complicated, so please bear with me.

If others on here have a simplified approach, I’d love to hear it!

Approach

  • Tag profiles using a custom property called guides_downloaded which is a list data-type so it can hold many values (for each guide).
  • On a guideA form submission, set guide_downloaded to the value guideA_start. On a guideB form submission, set guide_downloaded to the value guideB_start
  • Create two segments - one for guideA and one for guideB - based on the custom properties. Let’s call these guideA_in_flow and guideB_in_flow. Example guideA_in_flow segment below for a guideA form submission. Swap A’s to ‘B’s for the guideB segment
  • Create two flows triggered by new members to these segments: guideA_flow and guideB_flow. The last step in each flow will update the guides_downloaded custom property.For the guideA flow remove the value guideA_start and add the value  guideA_end. For the guideB flow remove the value guideB_start and add the value guideB_end. This tags their profile as having completed the respective flows 

Let’s see how this would work with the possible scenarios:

Contact downloads only guideA

  • form submission sets guide_downloaded to o“guideA_start”]. Brackets and quotes are how a list is stored in Klaviyo
  • Contact is added to the guideA_in_flow segment because guide_downloaded contains guideA_start (true) AND (does not contain guideB_start (true) OR contains guideB_end (false)  
  • Contact moves through the flow and at the last step - an update custom property - the value of the guides_downloaded removes e“guideA_start”] and adds n“guideA_end”] . The update means they are removed from the guideA_in_flow segment.
  • All the above is similar for a contact who only downloads guideB 

Contact downloads guideA, completes the flow and then downloads guideB

  • Form submission adds guideB_start to guide_downloaded so it becomes n“guideA_end”,“guideB_start”]. 
  • Contact is added to guideB_in_flow segment because guides_downloaded contains guideB_start (true) AND (guides_downloaded doesn’t contain guideA_start (true as it was updated to guideA_end when they exited the A flow) OR guides_downloaded contains guideB_end (false))
  • Contact moves through the flow and at the last step - an update custom property - the value of the guides_downloaded removes a“guideB_start”] and adds “guideB_end”] . The update means they are removed from the guideB_in_flow segment.
  • All the above is similar for a contact who completes the guideB flow first then starts the guideA flow

Contact downloads guideA and then downloads guideB while still in the A flow

  • Form submission adds guideB_start to guide_downloaded so it becomes r“guideA_start”,“guideB_start”]. 
  • Contact does NOT enter guideB_in_flow segment (and therefore not the guideB flow) because guides_downloaded contains guideB_start (true) AND (guides_downloaded doesn’t contain guideA_start (false) OR guides_downloaded contains guideA_end (false))
  • The contact will only enter the guideB flow when they are added to the guideB_in_flow segment. That will occur when they’ve completed the GuideA flow i.e guides_downloaded contains guideB_start (true) AND (guides_downloaded doesn’t contain guideA_start (true as it was updated to guideA_end when they exited the A flow) OR guides_downloaded contains guideA_end (true))

Phew! I think I will work, but please check my thinking and test!

Regards

Andy

guideA_in_flow_segment

 


Hi @valeria1802 

I have responded with a (lengthy) solution, but for some reason, it’s going into moderation! I am unable to to resubmit it!

@Taylor Tarpley @stephen.trumble - any reason why it’s been flagged?

Thanks

Andy


Exactly 


Hello @bluesnapper I can't read the whole solution. 😔 Maybe you can send it again or it should appear after moderation? Thank you so much for your help!


Hi @valeria1802 

I was finally able to post it! Must’ve been a forum glitch

Regards

Andy

 


Reply