How can I Import a .csv with a custom property to match the 'Placed Order' event ?

  • 11 March 2022
  • 6 replies

Badge +2

Hey guys, 

hope you’re fine.

We have 10k contacts in our klaviyo account and we want to expand our contacts list importing a .csv file.
At the moment, we don't know which of these 10,000 klaviyo contacts placed an order.
On every klaviyo contacts, the property “Placed Order” is egual to zero.

As I said, we have a .csv file to import: 70% of the .csv file contacts’ are already in the klaviyo contacts list.
This .csv file has a field called “orders” which indicates the number of orders made by each contact.

Our goal is to import this .csv file and refresh the klaviyo contacts’ property “Placed Order” to better understand how many orders were placed by each klaviyo contacts.

I’m concerned about few things:

  • I read on others community questions like this: 

    that by importing a .csv file with an additional data field relating to “orders”, klaviyo will match the data of the .csv file with those already existing in klaviyo and will add the additional data relating to orders for each contact.
    Is it correct?

  • In order to add correctly the “orders” data into klaviyo contacts, I have to add a custom property in the .csv file ?

    I just don’t understand if the name of the “orders” field in the .csv file has to be the same of klaviyo property “Placed Order”, in order to match with it.
    After reading this article
     I don’t understand if I can consider “orders” field in the my .csv file as custom property or standard property for klaviyo contacts


Thank you so much


Best answer by Taylor Tarpley 24 March 2022, 22:31

View original

6 replies

Userlevel 7
Badge +60

Hi @Gio_raiseyourhand


Thanks for sharing your question with us! Great job researching the Community and Help Center for finding helpful resources!


While those articles are very true, you can update already existing profiles in Klaviyo with new custom properties via CSV upload. If you want to update the property, it will need to match an existing property exactly! However, if you have over 10k users in your Klaviyo account and you know that those users have purchased product from your site, yet it’s not syncing into your Klaviyo account, I mainly want to pull out attention to this issue. Have you created an integration connection with your store? If you have, what integration is it? If you have established an integration connection and have evidence that it has at one time properly synced information from your store to Klaviyo, this might be a clue that yoru integration isn’t healthy and therefore not properly pulling data! 


I would reach out to our awesome support team who could investigate what the issue might be and how to make sure your integration connection is re-established and pulling data into Klaviyo correctly! Like this similar topic below! 


Hope this helps!



Badge +2

Hey Taylor,


thanks for the answer!
Unfortunately, I think it’s not a problem of integration because we migrated from mailchimp.
In mailchimp there was no data about client’s orders, just some datas about subscriber/unsubscribers.

However I will go deep dive in this scenario with the help of klaviyo support team and/or I will create a custom property via .csv.


Userlevel 7
Badge +60

Hi @Gio_raiseyourhand


Would love give additional clarity to what I meant by ‘integration’ issues.


Your store’s website integration should be pulling in this ‘Placed Order’ metric through either Shopify, Bigcommerce, etc automatically after it’s been successfully syncing to your Klaviyo account . Is your Klaviyo account connected to your store’s website?


For instance, if you’ve integrated with Shopfiy, our integration documentation states that, “when you first integrate with Shopify, Klaviyo will sync the last 90 days of your Shopify data so you can start engaging your most recent customers. After the sync of the last 90 days of data, Klaviyo will begin your complete historical data sync. Depending on how many orders, customers, and products your store has, it can take anywhere from a few minutes to several days to sync all of your data, and a green progress bar will show the progress of your sync.”


That being said the ‘Placed Order’ metric should sync properly to your profiles if you have completed the full integration process and you shouldn’t need to upload this kind of data as a custom properly. If it hasn’t I would reach out to support! 


Hope that helps and gives more clarity!


Badge +2

Hey Taylor, 


I really appreciate your help! 
Unfortunately, our shop in shopify has been created from scratch and we are launching it!

So we haven’t any past orders/data to integrate with klaviyo.
Please can I ask you to help me also with this question:

Thank you so much!

Userlevel 7
Badge +60

Hi @Gio_raiseyourhand


Thank you for clarifying, very sorry for misunderstanding. If you just launched it then that might be the reason why there isn’t any ‘Placed Order’ metrics to pull from. The analytics will be 0 until someone takes an action with your store. That is what the house, native Shopify ‘Placed Order’ metric comes from. However, once people start ordering through your Shopify store, it will pull through into your Klaviyo Analytics tab and show in a customer’s profile. 


If you wan to log customer’s who have placed an order with your brand before you Shopify store was created, I would recommend creating a custom property, as you mentioned before, an updated your customers info and how many orders they placed via .CSV upload. You could call the custom property ‘previously purchase’d or ‘purchased before Shopify store’ to display that they bought from your brand before your store was set up.


However, it should be noted that if you want to discover who has purchased with your brand over all time  through segmentation, you will need to include the in house Shopify ‘Placed Order’ metric and this custom property to get an accurate reading!


Hope this helps! Thank you for your patience as we worked through this!


Userlevel 7
Badge +58

Hi @Gio_raiseyourhand, just to expand on what @Taylor Tarpley mentioned already, if you upload your own “aggregated” value as a custom profile data, it’s sort of a fixed or locked in number unless you intend to update that periodically.  And, some of your new segments based on event aggregation, may not take that into effect.  For example, if you built a segment with the rule “Customers Placed Order more than once all time” - Klaviyo won’t know to look in your custom profile properties and only look at the new Shopify events of “Placed Order” you have.  So any purchases before Shopify, won’t be in that Segment.  Of course you can combine those rules, but you’ll have to remember to do this every time and it may not work in all situations.  (Example: Placed Order more than Once, in the last 6 months). 

If it’s possible, what I recommend is to upload the past orders not into Klaviyo, but into Shopify first.  That way, you can rely on the Klaviyo and Shopify integration to pull in all those past orders for the right customer profiles and all your data will be in sync and consistent back to your very first purchase.  

Shopify has a similar process of uploading “Past Orders” with their official “Store Importer App (Built by Shopify) here: Or, if you prefer to use a third party, there are other tools that can import past orders for you into your Shopify account in the Shopify App Store.

One last alternative, you can use the “Integration by uploading a CSV” to create your own custom event, maybe call it “Past Store Placed Orders” using this method:

But again, this will require you to balance two different “Placed Order” events, but it will have more aggregation details that a custom profile property may not have like the frequency, time, and order details (what was purchased, etc). 

Hope this helps!