Segment definition "is not in segment."

  • 9 March 2023
  • 1 reply

Userlevel 1
Badge +3

Hi Klaviyo community,

I wanted to start a thread about an issue in Klaviyo that there doesn’t seem to be much discussion around (unless I’m missing something).

Let’s say you have a Newsletter list, and that you’ve segmented that list into a few engaged segments. For example, Engaged but Never Ordered (ENO), Engaged & Have Ordered 1+ Times (EO1), and Engaged & Have Ordered 3+ Times (EO3).

Now let’s say you want to send an email to everyone in your Newsletter list that isn’t in one of those three engaged segments -- in other words, your unengaged profiles from your newsletter list.

The simple solution would be to create a segment that says “Is in Newsletter list and is not in segment ENO and is not in segment EO1 and is not in segment EO3.” Now, between your unengaged segment and your three engaged segments, you would have your whole list covered dynamically, with no profiles slipping through the cracks.

However, in Klaviyo there's no segment definition that is "is not in segment."

Instead, your only options as far as I can tell are:

  1. Attempt to make an unengaged segment by using the opposite logic of all of your engaged segments
    • Problem: this never seems to work exactly, especially as your engaged segments become more complex to compensate for iOS opens, and all the different ways someone can show engagement with your brand, such as “viewed product,” “visited site,” etc.
  2. Take a “snapshot” of each of your engaged segments, which essentially converts them to a list that you can then exclude from your unengaged segment.
    • Problem: Lists are static, so you’d have to do this every time you want to send a campaign to you unengaged profiles, and forget about using this solution in flows.

So how are we supposed to deal with this? Has anyone figured out how to segment a list in such a way that every single profile is falling into at least one of your segments, and none are falling through the cracks?

I would like to point out that even in Mailchimp, that maddeningly limited ESP, you can easily segment out a segment. 

From what I’ve gathered from Klaviyo reps over the years, it is not on Klaviyo’s feature roadmap to create a segment definition that is "is not in segment."


1 reply

Userlevel 7
Badge +61

Hi @MattR,

Thanks for sharing this question with us.

Generally speaking, we recommend going with option 1 because using segments will continue to keep users “up to date” as opposed to lists, like you mentioned, which will remain static. If you’re sending a campaign, you can simply send to the Newsletter list only in the “includes” section of the campaign and include 1 or more of those segments in the “excludes” section. Using this set up, users who overlap between both the Newsletter and one of those segments will be excluded from the send, leaving you with only the remainder of Newsletter users. You can read more about how we calculate included/excluded users in campaign sends here

In terms of flow sending, you may find it easier to prevent users from “falling through the cracks” by setting up multiple flows with a list-trigger (Newsletter) followed by filters using negative criteria for each segment. So in theory, 3 separate flows (1 each of the 3 engagement segments), each containing filters for the respective negative criteria for each segment. For example, is in newsletter list (as the trigger) and then a flow filter: AND placed order zero times over all time AND opened in the last 90 days etc.

I hope that’s helpful.