Looking for help with your list?
Mailchimp lists are now called audiences. They include the same data and functionality as before, along with valuable new insights about your contacts. As we introduce this change over time, you’ll notice fewer places where we still say list. Learn more about this change.
Mailchimp Pro includes an Advanced Segmentation tool for lists. Advanced segments take our basic list segments to the next level with nested conditions that combine any and all logic. These advanced segments are super flexible and customizable, so it might take some time to master their logic and filtering settings.
In this article, you'll learn about the logic that powers advanced segments.
Things to Know
Here are some things to know before we get into the logic of Advanced Segmentation.
About the Logic
All segmentation in Mailchimp uses any/all logic. This logic applies to the conditions underneath it, and means you can create a segment of subscribers who meet any of your individual conditions, or all of them together.
This logic tells our system to show you subscribers who meet one or more of your conditions.
|Any subscribers from either Boston or Chicago.|
This logic tells our system to show you subscribers who meet all of your conditions.
|All subscribers who opened your last campaign and are Shopify customers.|
Basic segments are limited to one type of logical relationship, but advanced segments can support both any and all logic together in one segment. This is because they contain groups of conditions that each use their own any/all logic. Think of an advanced segment as combining several basic segments into one.
This example shows all the subscribers who opened the last campaign and are Shopify customers, who also live in either Boston or Chicago.
To pull groups of conditions into one usable set of subscribers, advanced segments include a top-level group that's assigned any or all logic. This logic governs how each sub-group relates to the others. It can help to think of each sub-group as a condition under the top-level logic.
Use any for the top-level group in your segment when you want to find subscribers who fulfill any of your groups of conditions, and use all to find subscribers who fulfill all your condition groups.
For the segment to function correctly, each top-level group must include at least one individual condition. The conditions in the top-level group and each sub-group are weighted equally.
Applying the Logic
It's important to think through the logic you plan to use when you build your advanced segments. If you take the time to set your segments up correctly and as efficiently as possible, they'll be easier to manage and take less time to generate.
It can help to write a sentence that represents your segment, to determine which logic types and conditions you'll use. After you've defined the relationship between the groups, and the goal of each, you'll be able to choose your segmentation options easily.
When to Use Any
Use any for the top-level group in your segment when you want to find subscribers who fulfill one or more of your groups of conditions.
Example: Find any subscriber who is either a faculty member or a new student.
In this segment, the top-level group uses any, and the top-level condition looks for subscribers whose role is faculty. The first sub-group uses all, and looks for subscribers who are students and who were added after a certain date.
When to Use All
Use all as your top-level logic to find subscribers who meet a combination of all your condition groups.
Example: Find all students and faculty, who are either engaged subscribers or have made an e-commerce purchase.
In this segment, the top-level group uses all and the top-level condition looks for subscribers who are a member of one of these groups. The first sub-group of conditions uses any, and looks for subscribers who have a high contact rating or who have made an e-commerce purchase.
When to Simplify Your Logic
If your advanced segment is very complex, you might be able simplify your logic so it will generate faster and more efficiently.
Complex advanced segments can usually be restructured to combine conditions and reduce unnecessary or repetitive queries. This reduces the demand on our system so we can generate your segment faster.
Advanced segments use a variety of operators, which can look for one, all, or none of a variable so consider whether a different operator might streamline your conditions. Familiarize yourself with our available segmenting options, so you can make the most of your groups and conditions.
Example: Find any subscribers who are alumni, or students and faculty members who received the previous campaign but didn't open it.
This version of the segment uses any for the top-level logic and separate groups of conditions to target faculty who have not opened the previous campaign and students who have not opened the previous campaign.
This returns the subscribers we want, but we could accomplish the same thing with fewer conditions. Let's simplify it to just the top-level condition and one sub-group.
To do this, we'll set the top-level logic to any, and the top-level condition to find subscribers who are alumni. In the sub-group, we'll look for students and faculty in one condition, along with the sent and open activity.
This version of the segment avoids repeating unnecessary queries, which should reduce the amount of time it takes for the segment to generate.
About Operators and Empty Fields
When you create advanced segments, you’ll use operators to exclude or include subscribers based on a certain value in a list field. Different types of operators vary in the way they handle empty list fields.
For example, if you wanted to pull subscribers who do not live in the state of Georgia, the system would return subscribers who had a value other than Georgia in the state field, and would also return subscribers with an empty state field. The outcome for blank fields can vary for different types of operators like, is/is not, contains/does not contain, or starts with/ends with. This chart shows which segment operators will include or exclude contacts with empty values in relevant fields.
|Operator||Will Segment Include Blank Values?|
|does not contain|