Skip to main content
Contributor II
May 15, 2024
Solved

Create or Update Profile - new APIs (by email / id)

  • May 15, 2024
  • 2 replies
  • 191 views

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?

    This topic has been closed for replies.
    Best answer by Kim Strauch

    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

    2 replies

    Kim Strauch
    Klaviyo Employee
    Klaviyo Employee
    May 24, 2024

    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

    Contributor I
    October 1, 2024

    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 :)