FEATURE REQUEST: More OR options or ability to duplicate segment criteria

  • 25 August 2021
  • 4 replies


Making a segment is incredibly tedious when not using something simple like a single product or category. 

I frequently need very niche segments (what Klaviyo is supposedly good at, right?) that drill down to very specific products. In this case, I'm making a segment of buyers of 12 different individual products. 

This should be simpler.


SOLUTION: I should be able to add the OR at the NAME LEVEL in my example here not have to start over at the What someone has done level for each product.

For each product, I'm having to select 
1. what someone has done
2. ordered product → 3. set dates
4. where name → 5. equals → choose product

Why can't I simply add additional NAMES of products instead of starting over each time? Please adapt the segment creation tool to make it easier for those of us who want to use the complex segmentation of Klaviyo.

ANOTHER SOLUTION: Give me a duplicate button so I can at least copy the last parameters and then adjust the one element I need to change. 


Best answer by David To 26 August 2021, 19:53

View original

4 replies

Userlevel 7
Badge +59

@JimmieaQuick - I definitely feel your pain.  But one work around I’ve found to avoid the tedium is to use additional Collections (Categories in Magento) or Product Tags in your ecommerce platform that has a more friendly (and sometimes dynamic?) product grouping user interface.

For example, instead of building your Segment of Product A, Product B, Product C, you can create a Collection called “Product ABC” - and use that in your Klaviyo Segment.

Another example, you can add a Product Tag in each of Product A, Product B, and Product C a special tag like “ABC” and then use the Tag as your Segment Rule.  

In either scenario, you can quickly add additional products by either adding them into your Category or Tagging them, and then Klaviyo will include them into the Segment without changing anything in Klaviyo.

Just remember, Collections and Tags are not retroactive so some pre-emptive planning is necessary as products are added to your catalog.

Hope that helps!


Unfortunately I don’t have access to editing that in Magento, and the people who do are overworked and would never reply to my request to make those changes, so this isn’t a real solution for me. 

Klaviyo should make this easier. 

Userlevel 7
Badge +60

Hello @JimmieaQuick,

Thanks for sharing your feedback with the Klaviyo Community! I’ll share these thoughts on Klaviyo’s segment builder with our Product Team!

Building off of the solution you posed of adding additional names of products to the segment definition and @retention’s method of filtering based on a collection, tag, or category, this can already be accomplished within Klaviyo by leveraging the Placed Order metric as opposed to the Ordered Product metric. The difference in understanding here is how each of these event are synced to Klaviyo and the data types of the data being recorded as part of these events. 

An Ordered Product event is tracked once for every product a user orders when they place an order; whereas a Placed Order event is the culmination of all product information and details pertaining to the order. The distinction here is that the Ordered Product will retain more product specific information but is recorded once for every individual product. In effect, this would cause data such as the Name field shared from the event to be recorded as a Text data type. The Placed Order event on the other hand would only trigger once for the order but would contain information pertaining to the order as a whole. This in turn would cause all the products to be recognized in a single event resulting in the data such as the product name field to be recorded as a List/String data type. To learn more about data types, I would suggest taking a look at the About Data Types Help Center article Klaviyo offers. My colleague @Dov also explained the differences between these two metrics further in the below Community posts which centers around the same topic of using the “contains” and “equals” rules in segment building:

Because the Ordered Product event is recording individual product details and the data is in a Text data type, you would be only limited to using the “Equals” function when creating a segment off of this metric. Due to this limitation, you would be forced to create multiple segment definitions separated by an OR condition if you wanted to capture a group of customers who have ordered a series of products. When using the Placed Order event as your foundation for your segment definition however, you would not have this limitation as you would have access of using the “Contains” function due to the data type being recorded in the List/String format. 

From the example screenshot above, when using this segment rule of “What someone has done, Placed Order at least once overall time where ProductName contains Product A, Product B, Product C”, this segment would pull in all customers who have ordered Product A OR Product B OR Product C. This would be similar to the segment definition you have in place from your screenshot of using the rules “What someone has done, Ordered Product at least once where Name equals Product A OR What someone has done, Ordered Product at least once where Name equals Product B OR What someone has done, Ordered Product at least once where Name equals Product C...”.

I would further suggest taking a look at the Understanding Segment Conditions and Guide to Creating Segments Help Center articles to learn more about segmentation and the many available options to you as well as the Reviewing Your Magento 2 Data article for more details on how each of these metrics are synced to Klaviyo. 

Thanks for being a part of the Klaviyo Community!



Ah… so instead of Ordered Product → Product name, I can simply use Placed Order → ProductNames and load up multiple names there. 

There’s the nutshell answer to my dilemma. Thank you.

Also thank you for explaining that the items in black/red in your screenshot are OR items. That is not explicitly stated when building the segment, and I was afraid it could possibly be translated as AND