How do you update the fields of historic event data that was uploaded?

Badge +3


I have successfully uploaded over 5 years of historical order data, which worked great, but I now realize there are some additional fields I should have included in the CSV files I uploaded. If I just re-upload all the same CSV files with the new columns of values included will this append the extra field values to the existing orders in Klaviyo, as it will have the same Order ID/Event ID in the second upload?


Thanks in advance for any help or pointers.



Best answer by David To 7 May 2021, 20:51

View original

3 replies

Userlevel 7
Badge +60

Hello @throttleup,

More than happy to provide more clarification!

As stated, updating existing events within Klaviyo is not supported. 

In the case you are using API to push an event to Klaviyo and the name of the event and the $event_id match a pre-existing event’s, then Klaviyo would neither create a duplicate event nor update the pre-existing event with any new information. Essentially nothing would happen in this scenario. This is because, as mentioned, updating events that have already been recorded within Klaviyo is not supported and therefore any new data would not be upserted. 

However, if the name of the event is different from the name of the pre-existing events but the $event_id are the same, both events can still co-exist. For example, if you had an existing Add to Cart event with the $event_id of 123456 and you pushed a Viewed Product event with the same $event_id of 123456, both of these events; being named differently can exist. In this case pushing the Viewed Product event with the $event_id of 123456 would just cause it to trigger and be recorded within Klaviyo like any other event. 

Hope this helps!


Userlevel 7
Badge +60

Hello @shane.mitchell,

Updating any pre-existing/pre-recorded event data within Klaviyo is currently not supported.

Since this was a custom event you imported using a .CSV, we would advise fully deleting this custom event from your account and then re-importing the .CSV again while including the fields you want to include as part of your data set. 

Without first deleting the original custom event which did not include this additional field, importing the second .CSV with the additional field would cause a subsequent event to be recorded on top of the original import event.

To delete all events for a given metric and remove it completely from your account, navigate to the Analytics > Metrics. Here, you will see a list of your account metrics. Any metric that has a trash can icon beside it on the far right can be deleted. Click the trash icon and then click Delete Metric to remove the metric along with all associated event data from your account.

Thanks for being a member of our Klaviyo Community!


Badge +2

I thought that if the $event_id was the same it was upserted. Is that not correct? It’s definitely not creating duplicates via the API when $event_id is set, but not sure if it’s updating with additional fields either. Can you clarify?