** for privacy purposes, the customer data shown here is just dummy data and they are not real **
We have a profile feed set up to send customer create and update from our system to Klaviyo in real-time when a customer record is created. Our API request body looks as below. We send our internal customer ID in the “external_id” field under attributes and it populates correctly under “Profile details” section as shown in the screenshot.
API request body:
{
"data": {
"type": "profile",
"attributes": {
"email": "example@gmail.com",
"external_id": "1003010463",
"first_name": "example",
"last_name": "customer",
"location": {
"address1": "",
"address2": "",
"city": "",
"country": "",
"region": "",
"zip": ""
},
"properties": {
"email_opt_out_date": null,
"birthday": null,
"email_opt_in": "",
"email_opt_in_date": null,
"spouse_name": "",
"marital_status": "",
"phone_opt_in": "",
"gender": "",
"enrolled_in_loyalty_program": "",
"spouse’s_birthday": null,
"cell_phone_opt_in": "",
"anniversary_date": null
}
}
}
}
Customer profile in Klaviyo:

However, when we load customers via csv file upload, even if I name the header column to “external_id” and input value, Klaviyo does not recognize this field and instead asks to create a new mapping field and it creates “external_id” under Custom properties section.

Below is the csv file I uploaded with the placement of the “external_id” field.

How do I need to fix the csv file so that “external_id” field is shown under the Profile details section and not as Custom properties?