Hi @zoemangin - Custom Properties in Klaviyo will overwrite if they share the same name.
So in your case, if both CSV files include a custom property called Product Purchase but with different values (i.e., "Shirt" in one and "Hat" in the other), the last uploaded file will overwrite the previous value.
If you want to store multiple values under one property, Klaviyo supports array-style formatting using brackets:
- Product Purchase: s"Shirt", "Hat"]
But Klaviyo won’t auto-merge these from separate CSVs, you’ll need to consolidate into one CSV per profile with the property already formatted as an array. Here are the options I’d suggest:
-
Manually or Programmatically Merge:
- Use Excel, Google Sheets, or a script (Python or even Zapier) to merge orders by email and format the property as r"Product A", "Product B"].
- Upload as Separate Properties:
- Use different property names for each upload, like:
- Product Purchase 1
- Product Purchase 2
- This avoids overwrites but is messier long-term.
@zoemangin I'm wondering if having a special profile detail is really necessary, since simply being on the list might be enough for your marketing needs in Klaviyo. The only downside to that is that people can choose to unsubscribe from the list at any time, so you might lose track of whether they bought a specific product or visited the bar.
Welcome to the community @zoemangin
I would consider the list (array) custom property approach for capturing purchased products/bar visits as suggested by @zacfromson . However, that does make the csv list prep more complicated to get unique profile emails and their associated products as an array and in one csv.
It is possible to do that in Google sheets without coding as I've done that on client projects. Happy to share that template if you want to take that approach.
The alternative approach also suggested by @zacfromson would work too: because it looks like you only have 2 products + bar visit, you could create three custom properties: product_name_A, product_name_B, (replace with actual product names to simplify), and bar_visit.
Add the relevant custom property and values to each of your 3 lists and set to true or yes, then import those into Klaviyo into one temporary list just for the import (assuming you don't want to import into a master list, trigger flows etc).
You can then create segments from those custom properties. The caveat is that if you intend to expand your products/bar venues, this approach can get unwieldy - an array is better.
Hope that helps
Andy
Thank you so much for your responses! I’ve gone for multiple values under one property and actually got chatgpt to help me merge all of my csv’s and create the custom property column and tags for me - it’s worked so well! Let’s hope the upload goes okay 