Skip to main content

It is clear how to set person-level profile params via the API. However, I am setting up an integration in which I want to be able to upsert (Klaviyo) client-level parameters that would accessible to all lists and segments in the same manner as person-level profile params, but without having to update each person any time a client-level param changes.

For illustrative example: Assume my product integrates with ACME Co (A) and sets a product_preference parameter in the profile of each customer. Assume I want a “default preference” to apply in any case that a person’s profile does not have a product_preference set. Client A may want to change that default preference from time to time. And, when they do, I want a way to represent that choice at the account level instead of having to repopulate the change across every known “person”. Is there a solution to this problem? Can that solution be implemented via an API endpoint?

Hi there @nick-sg,

Welcome and thanks for sharing. 

I believe at this time there is no method natively to update default preferences through an entire account without using lists/segments. I will look further into this on the API and profile update level and reach back with my findings.

 

Thanks!
Alex


Update - Thanks @alex.hong. Upon further investigation and speaking briefly with a Klaviyo dev at a conference, I agree that this problem is not solvable via the APIs in the manner I hoped. However, there is a potential solution via Custom Web Feeds, where I can expose a JSON object of the account-level parameters I want to surface and route those parameters into templates. The main shortcoming of this solution is that Custom Web Feed parameters have to be exposed via a public endpoint (i.e. unsecured). This probably isn’t a huge deal if my intention is to put those parameters into email campaigns anyway.


Reply