Skip to main content
Contributor I
February 13, 2024
Solved

Allow Multiple Emails with different ID on Profile

  • February 13, 2024
  • 5 replies
  • 438 views

I’m currently trying to Add Multiple Profiles with the Same Email but different ID. I’ve used the external id which is $id. Every time I trigger the profile with the same email. It overwrites and updates the profile and It doesn’t create a new Profile for the one with a different ID? 

    Best answer by Brian Turcotte

    Hi @bkatigbak!

    My apologies for the delay here! The root of the issue is that you cannot have two different profiles with the same email. Email is the primary ID for profiles in Klaviyo, and will always override any other identifier.

     

    Best,

    Brian

    5 replies

    kaila.lawrence
    Community Manager
    Community Manager
    February 14, 2024

    Hey @bkatigbak! Let break this down a bit further:

    1. Which integration is the external ID coming from? How did you set this up?
    2. What is your use case for needing profiles with the same email address but different IDs?
    3. When you say “trigger the profile”, in what way do you mean? 
    bkatigbakAuthor
    Contributor I
    February 21, 2024

    Hey @bkatigbak! Let break this down a bit further:

    1. Which integration is the external ID coming from? How did you set this up?
    2. What is your use case for needing profiles with the same email address but different IDs?
    3. When you say “trigger the profile”, in what way do you mean? 

    Hi Kaila,

     

    Sorry for the late revert.

    For the api call, I’m calling via /api/track under this I’ve added on the Event Klaviyo: Customer Properties. There I’ve added $id which I set so external id would be set.

    For the Model it would look something like this: 

    public class EventKlaviyo
    {
    [JsonProperty("token")]
    public string APIKey { get; set; }
    [JsonProperty("list_id")]
    public string ListId { get; set; }
    [JsonProperty("event")]
    public string Event_title { get; set; }
    [JsonProperty("customer_properties")]
    public CustomerProperties Properties { get; set; }
    }

    public class CustomerProperties
    {
    [JsonProperty("$id")]
    public string Id{ get; set; }

    [JsonProperty("$email")]
    public string Email { get; set; }

    [JsonProperty("$first_name")]
    public string First_name { get; set; }

    [JsonProperty("$last_name")]
    public string Last_name { get; set; }

    [JsonProperty("$phone_number")]
    public string Phone_number { get; set; }

    }

    As for the use case. Requirements wants me to create a different profile in Klaviyo each time a different type of account was created on the user’s system(Partner Web App).

    For triggering the profile, Sorry for my bad definition there. I basically mean when an api call was sent to track and a profile is generated.

    kaila.lawrence
    Community Manager
    Community Manager
    February 21, 2024

    @bkatigbak No problem! In this case, this is a question best suited for the technical geniuses in our Developer Group. I’ve moved the question there so a developer can help guide you from here.

    Brian Turcotte
    Klaviyo Alum
    April 25, 2024

    Hi @bkatigbak!

    My apologies for the delay here! The root of the issue is that you cannot have two different profiles with the same email. Email is the primary ID for profiles in Klaviyo, and will always override any other identifier.

     

    Best,

    Brian

    Contributor I
    June 8, 2026

    I have the same problem. We need create multiple profiles for one customer (email) in Klaviyo, with different external ID. I assume the external ID is the unique ID of profile. I used to be able to complete it, before May 15. Now, i am not able. Every time, the request with same email will override previous profile with same email. Why? 

    Is there a setting to control it? I use https://a.klaviyo.com/api/profile-import