Skip to main content
Contributor I
May 17, 2024 2:06 PM UTC
Solved

Nurturing sequence with marketing resources. How to make sure they don't start at the same time?

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.

This topic has been closed for replies.
bluesnapper
Champion & Partner
May 19, 2024 10:32 AM UTC

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 [โ€œ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 [โ€œguideA_startโ€] and adds [โ€œ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ย [โ€œ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 [โ€œ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ย [โ€œ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

ย 

https://bluesnapper.com - Klaviyo Champion '24 & Partner

5 replies

bluesnapper
Partner
Champion & Partner
May 19, 2024 10:32 AM UTC

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 [โ€œ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 [โ€œguideA_startโ€] and adds [โ€œ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ย [โ€œ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 [โ€œ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ย [โ€œ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

ย 

https://bluesnapper.com - Klaviyo Champion '24 & Partner
bluesnapper
Partner
Champion & Partner
May 19, 2024 10:37 AM UTC

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

https://bluesnapper.com - Klaviyo Champion '24 & Partner
JACKSON_12
Problem Solver II
Problem Solver II
May 19, 2024 11:26 AM UTC

Exactlyย 

Contributor I
May 19, 2024 12:37 PM UTC

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!

bluesnapper
Partner
Champion & Partner
May 19, 2024 3:44 PM UTC

Hi @valeria1802ย 

I was finally able to post it! Mustโ€™ve been a forum glitch

Regards

Andy

ย 

https://bluesnapper.com - Klaviyo Champion '24 & Partner