When a marketer create a campaign, they need to define a group of people to send out the message. This group of people can be defined by demographic, behavior on the products, user attributes, or a mix of different criteria.
My goal in this project is to rethink about the workflow and the interaction of segment filter editor in campaign creation workflow.
In our current design, if a user creates more than two criteria, we only support AND logic, which means we select a group of people who fulfill both criteria A and B. If a user wants to use OR or more complex logic, they need to go to filter editor to write the logic directly. However, most of the marketers don't know how to write SQL script.
Without the flexibility to create a complex segment, it’s hard for marketers to target the right group of people. As a result, the campaign cannot speak to the right people and turn out to low engagement rate and eventually lost their customers.
I work with Customer Success team to collect customer feedbacks. Below are the issues in our current segment filter editor.
In order to understand what's the current filter editor's interaction in the industry, I did the reasearch to analyze the pros and cons of our competitors’ filter editor.
Appboy
Leanplum
(A and B) or (C and D) ≠
A and (B or C) and D?
When you have both AND and OR logic in one filter, what is the right way to group it? Based on how you group them, the result will be different!
The interesting thing we find out is that there is a very common use case that can not be solved from most of the platforms.
One of the example is (Favorite Brand is Nike and Price is lower than 50) or (Favorite Brand is Adidas and Price is lower than 60).
After disucss with Product Managers, we decide to open the flexibility into the design, which means we want to allow users to create AND/OR logic anywhere.
After researching and understanding the problem, I provide two different ideas and quickly create prototypes to get feedback from project managers and internal marketers.
As a result, the #1 solution got more positive feedbacks. The reasons was:
After I get some ideas about our direction, the next coming up question is what if the segment filter editor get super complex? Is it still easy to understand?
When we have multiple layers, it become really hard to read. In addition, in the below example, the horizontal line that seperate the first two and thrid criteria is hard to see.
To fixed this, I work with project manager did several rounds of tests and iterations. The final solution was that we added a done button inside of the block. So, when the users completed a set of filters and hit done, then we collapsed it as plain english and used lines to draw the relationship between each criteria.
The following images illustrate some of the micro interactions of the design that we found most impactful for the user.
Through the quick tests and validations, we finally came to our final design. From implementation side, I paired with a front-end engineer to provide the interaction guidance and support.
High-Fidelity Prototype