How to expire a profile property

  • 18 December 2023
  • 3 replies

Badge +1

I’m trying to create a campaign with 1 email that will contain different blocks (different categories of products). If they have looked at a product of a given category, they will see that block, otherwise get a default block.

I have created segments of the categories to send the mailing to and am now trying to create a flow that creates a profile property so that I can used that in the show/hide logic. 

I can do: if viewed product of category x > create a custom property > … but what is the correct way to ‘expire’ this tag? E.g. after 60 days make it ‘false’ instead of ‘true’ or delete the property all together.

Added complexity is that every new viewed product starts a new 60-day cycle in the meantime.

3 replies

Userlevel 6
Badge +29

Hi @Stijn Meyvaert 

Thank you for posting your question in the community. Does the profile property change based on what product category they view?

How you manage the profile property will depend on a couple of things:

Do you want to know if someone has already been apart of that segment in the past?

If not, then you could simply use the Update Profile Property step in the flow to delete the property.

However, if you want to know and have more specific control over who has received the property, you could update it to a different value that your flow doesn’t use, but indicates that user has been apart of the flow previously. 

If people can be entered into the segment again after 60-days and it doesn’t matter what product category they might have viewed previously, I think deleting the data from any previous cycle will be the cleanest to ensure users are receiving the correct content in the email in the future.

While this doesn’t directly relate to your question, if you want to complete remove a profile property from your account, you need to request Klaviyo support to purge the property and all data from your account. This is not a way to delete a profile property manually from your account.

I hope this helps!

@In the Inbox 

Badge +1

I’m creating different properties per category & I don’t need to know whether they have been in that segment before. I’m looking for an automated way to show true or false based on whether or not they have viewed a product in the last 60 days.

Using the update profile property step: don’t understand how? I’m using it to create the property but am looking for a way to change it afterwards after 60 days of NOT looking at any product in this category.

Unless there is another way to show/hide a specific block/section based on this?

Userlevel 5
Badge +17

Hello @Stijn Meyvaert,

I have an idea that might help, not sure.

Say one of your product categories is X, and if someone looks at a product in category X, the custom profile property created is Z. You could build a segment like this:

Properties about someone

[custom profile property] equals [Z]


What someone has done (or not done)   

Viewed Product zero times in the last 60 days

Where [Product Category] equals [X]


This would give you everyone who originally looked at a product in that category, but hasn’t looked at the category since. You can then build a flow that would delete the profile property for anyone who joins the segment.