Solved

Show dynamic content based on segment

  • 19 July 2022
  • 6 replies
  • 886 views

Badge +2

Hi there, 

Is it possible to show/hide blocks based on whether someone is in a specific segment? 

 

For example, I have dynamic segments of VIPs, Non-Shoppers, Lapsed customers etc and want to show them a targeted banner in email campaigns without having to build multiple different campaigns each time. 

 

I feel like this should be possible as I’ve done it in other ESPs, but segment-based functionality does seem more limited in Klaviyo so I fear it isn’t! 

icon

Best answer by Dov 20 July 2022, 16:27

View original

6 replies

Userlevel 7
Badge +61

Hi @SarahCopyClub,

Thanks for sharing this question with us.

It’s not directly possible, but I have answered the same question with a few alternative solutions in the thread below:

In addition to this, you could create separate flows triggered by each segment and send the specific content to each discrete segment alone. Here is our Guide to Creating a Segment-Triggered Flow.

Lastly, keep in mind you can save emails as templates and make multiple copies/clones of a single template and simply swap out the header from copy-to-copy.

I hope that’s helpful and thanks for being a community member.

Badge +2

Thanks for your response @Dov!

I had considered using flows to assign a profile property for each segment and then using that to show/hide content. However, the segments in questions are dynamic (e.g lapsed customers) so I would need the tag to be removed again once someone is no longer in the segment. 

As far as I’m aware I can’t automate the removal of profile properties via flows. Is that correct? 

I’m wanting to feature the dynamic content in campaigns rather than flows, so I think we’ll have to have multiple versions of a campaign each time we send! 

Userlevel 7
Badge +61

Hi @SarahCopyClub,

Thanks for your reply.

You actually can add and remove profile properties in a flow using an Update Profile Property Action. This might get a little tricky to use in a flow for your use-case, (using a segment-trigger) because if users are in the flow and no longer meet the segment definition part way through the flow, they will skip the remainder of the flow. So if you inserted an “add” profile property at the beginning and a “remove” at the end, it’s possible the profile property gets added, then they no longer qualify for the segment for one reason or another, and that property is never removed from their profile at the end of the flow. In other words, “timing” the add or remove profile property blocks with a segment-triggered flow can be a bit tricky. It’s still helpful to be aware of this property action as there are other use cases for it you may find helpful.

Userlevel 5
Badge +18

@SarahCopyClub  You could do this by creating the opposite segment and changing the value of the profile property when they join that segment, but unfortunately, subscribers won’t go through a segmented trigger flow more than once. (I’ve requested the option to send them through twice many times, lol) What I’m not clear on, is if they leave the original segment and then come back, would that allow them to trigger the flow again, I don’t think so.

You might be able to pull it off with metric triggered flows, at least for the lapsed purchaser. You just want to make sure it’s a completely separate flow than any other ones you have that send content so you don’t have to include any trigger filters that would remove people from the flow. 

Trigger flow by placing an order
Update profile property immediately, recently purchased with a value of true
Delay 90 days (or whatever time frame you use to determine a lapsed purchaser) 
Add conditional split, placed order since starting this flow 
If no, update profile property, recently purchased with a value of false

 

Once they’re out of the flow with a value of false, that field will get updated again when they make their next purchase, until then they are a lapsed purchaser. If they have placed an order since starting the flow, the field will show they are not a lapsed purchaser and in theory they should already be back in the 90 day delay again. 

I came here looking for something else and then came across your post. I enjoy trying to find workarounds in Klaviyo functionality and felt compelled to try and figure this out. It’s very possible there is a flaw in my logic, lol

LMK what I missed :) 

Userlevel 7
Badge +61

Hi @Jessica eCommerce Badassery,

Thanks for your message here!

I really like your crafty solution for the lapsed customer group:

@SarahCopyClub  You could do this by creating the opposite segment and changing the value of the profile property when they join that segment, but unfortunately, subscribers won’t go through a segmented trigger flow more than once. (I’ve requested the option to send them through twice many times, lol) What I’m not clear on, is if they leave the original segment and then come back, would that allow them to trigger the flow again, I don’t think so.

You might be able to pull it off with metric triggered flows, at least for the lapsed purchaser. You just want to make sure it’s a completely separate flow than any other ones you have that send content so you don’t have to include any trigger filters that would remove people from the flow. 

Trigger flow by placing an order
Update profile property immediately, recently purchased with a value of true
Delay 90 days (or whatever time frame you use to determine a lapsed purchaser) 
Add conditional split, placed order since starting this flow 
If no, update profile property, recently purchased with a value of false

 

Once they’re out of the flow with a value of false, that field will get updated again when they make their next purchase, until then they are a lapsed purchaser. If they have placed an order since starting the flow, the field will show they are not a lapsed purchaser and in theory they should already be back in the 90 day delay again. 

I came here looking for something else and then came across your post. I enjoy trying to find workarounds in Klaviyo functionality and felt compelled to try and figure this out. It’s very possible there is a flaw in my logic, lol

LMK what I missed :) 

@SarahCopyClub, as @Jessica eCommerce Badassery points out, using metric-triggered flows for this use-case makes a lot of sense. And similar logic that @Jessica eCommerce Badassery uses in this example can also be applied to a VIP-type flow (where you would replicate the segment definitions outlined in that doc to your conditional split(s) in a flow). For example, having a flow triggered off of Placed Order with a conditional split Placed Order is greater than 3 in the last 365 days. If yes > update to VIP = true, if no update to VIP = false. From there, alter your emails after the conditional split depending on if they’re VIP or not (analogous to the hide/show feature - just using properties to cater VIP vs non-VIP emails depending on the profile property, like we discussed in the original solution). Having discrete flows and discrete properties for lapsed customer, vip customer etc. for these is recommended to keep everything straight.

Just wanted to add that on there :) Hope that was helpful and thanks again Jessica for sharing your wisdom here.

Badge +2

@Jessica eCommerce Badassery @Dov Thanks so much, this is a great workaround for the lapsed & VIP segments! 

 

Going to get to work on this now! 

Reply