Should Klaviyo support profile properties of type object?

  • 25 June 2022
  • 6 replies
  • 165 views

Userlevel 4
Badge +7

Hey all!

I’d love to be able to store profile properties using a nested object structure.

For example, my company works with multiple partners and therefore we always have partner information that we store on profiles.

It’d be great if I could have a single object called `partner` that contained the id, name, slug, etc. of the partner.

It’d be much cleaner than holding these profile properties all top level and needing to prefix them like partner_id, partner_name, partner_slug, etc.

If you could have nested profile properties, it could look like partner.id, partner.name, partner.slug, etc.

Even for non-technical users, it’d be a great way to organize and store profile properties. A flat profile property structure is very difficult to maintain once there are 10, 15, 20+ properties.

 

Let me know what you think. 

 

Cheers,

Kevin.


6 replies

Badge +3

i was thinking the same thing!! i guess it might be a bit messy when creating a new segment and the ui for selecting the fields right now is just an option list… but i totally agree itd be way more neat with object as a field type!

Userlevel 4
Badge +7

I agree about creating segments but it isn’t any different than filtering an event by its properties.

Events are already stored as objects so there’s a path there.

Well, maybe there needs to be a limit to the number of nested objects you can have–an event only has one level of properties I believe.

I’m sure this question has been asked before and I’m sure there’s a feature request for it, but I couldn’t find it anywhere. If anyone can locate the feature request, I’d upvote it in a heartbeat!

Badge +3

right sorry i didnt know much about filtering events, if they already have nested object then i really don’t see why not for profile properties 🤔

 

limit the number of nested field is a great idea! if i see a similar post/feature request i will share it here then~

Userlevel 7
Badge +58

Hi there @tieu @KeviSunshine,

One of the limitations we have in the Klaviyo product when it comes to nested profile properties is the ability to segment for them. You could make it into a list data type and add multiple values under one property. 

Or you could implement this via webhooks. You essentially need to fire a webhook right after the trigger event and then send an identify call to append whatever nested event data you want as a new custom property. In its current state we can only build a segment where “property equals: x” by using the “what someone has or has not done” operator which isn’t helpful since sometimes customers would like to set it up so its fired on custom properties like Dates .The way to set this up would be to setup a Metric Triggered Flow off the Event and then fire a webhook action to our identify API to add the X value from the event data as a new custom property to the persons profile. 

I would also consider looking into custom metrics and adding properties using a CSV upload to help nest some properties.

There is currently a product request for this and similar topics in our backend product board. Hopefully other Community members can chime in here with ideas or workarounds they have too.

 

Thanks,

Alex

Userlevel 4
Badge +7

Hi Alex!

Thanks for the response.

I understand that Klaviyo doesn’t support this right now and I’m not looking for a workaround. I think built-in support for nested properties is the only solution.

In an ideal world, nested profile properties would be segmented in a similar manner to how it works for “What some has or has not done” (as you mentioned).

Is there a way to upvote this product request?

 

Cheers,

Kevin.

 

P.S. For anyone interested, here’s a screenshot showing the how the “What someone has or has not done” works–this is a very helpful feature and I wish this type of filtering could be applied to nested profile properties!!

 

Userlevel 7
Badge +58

Hi there @KeviSunshine,

Thanks for the response. The more community members post about their feature requests or start discussions like you have, the more attention it brings to our product team so thank you for contributing to the discussion!

Reply