Skip to main content

The migration doc indicates that the deprecated identify profile now corresponds to the new create_or_update_profile request.
In order to update a profile, do we must include the ID, or can it also be identified and updated by the email?
Since I identify customers by their email, will it update the existing profile's properties or create a new profile altogether?
(The question applies to both client and server create or update profile requests)

 

And just to clarify, what’s the diff between the create profile request vs the create or update one? What will happen if I call the create profile with an already existing profile’s email?

Hey there, @AW1

For the create or update endpoints, you can just include an email address. the endpoint does an “upsert”, so it will update an existing profile with that email address (if one exists), or create a new one.

If you use the Update Profile endpoint, that requires having a profile ID; you’d first need to call Get Profiles, filtering by an email address, to get the profile ID to call Update Profile on. 

If you try to create a profile that already exists in Klaviyo using the “Create Profile” endpoint, you will receive a duplicate profile error. 

Given all of the above, if you’re currently using /identify and only store email address in your system, we’d highly recommend you use the Create or Update profile endpoint if you’re trying to update profile properties on a single profile where you just know their email address


Hi Kim,

I am using Make.com to integrate with a course-selling ecommerce product called Learnworlds.

Basically, whenever someone fills in a form on my site, I want to either create or update a profile in Klaviyo. However, there is no Create/Update call on Make.com, it’s one or the other. 

I can, however, make an API call, but I’m not confident, and wondered if you could help. I’ve attached an image so you can see what I need to fill in!

 



Thank you so much :)


Reply