Skip to main content
Solved

Allow Multiple Emails with different ID on Profile

  • February 13, 2024
  • 4 replies
  • 192 views

Forum|alt.badge.img+1

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

View original
Did this topic or the replies in the thread help you find an answer to your question?

4 replies

kaila.lawrence
Community Manager
Forum|alt.badge.img+31
  • Community Manager
  • 498 replies
  • 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? 

Forum|alt.badge.img+1
  • Author
  • Contributor I
  • 1 reply
  • February 21, 2024
kaila.lawrence wrote:

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
Forum|alt.badge.img+31
  • Community Manager
  • 498 replies
  • 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
Forum|alt.badge.img+37
  • Klaviyo Alum
  • 1393 replies
  • Answer
  • 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