Project Overview

What is Conditional Logic?

Campaigns are used by companies to connect with their customers. Some examples of campaigns are weekly newsletters, promotional text messages, abandoned shopping cart reminders, or shipping updates for an online purchase.

To reach customers efficiently, campaigns are built in advance and sent in bulk to a mailing list. However, each customer has a unique history with the company, so message content must be tailored to reflect that. This is where conditional logic can help. By leveraging customer data and trend analytics, users can design campaigns that insert content such as imagery, text, and promotional offers customized to each unique customer with a single message.

  • Listrak is a cross-channel marketing tool in the Customer Data Platform (CDP) space that helps companies build and deliver email, SMS and push campaigns. They leverage customer data to tailor content based on each individual’s history and preferences.

  • Our partnership ran between July 2023 and February 2024.

  • I was the lead designer working alongside two other designers and a project manager.

Figure 1.
Industry examples of using conditional logic for content creation.

The Problem.

Conditional logic is used in a variety of tools across Listrak’s platform, each managed by a different team. The iterative development of each of these tools happened in isolation, resulting in significantly contrasting versions of the same desired function. None of these options were optimally designed for the end user as they all required technical understanding of liquid code or produced lengthy ‘if/then’ boolean statements, making it impossible for the average user to manage content.

The Goal.

Design a simple, unified system that would allow users to leverage conditional logic to build fully customizable campaigns, without the need for technical coding knowledge.

Objectives & Constraints

Users rely on conditional logic to varying degrees in their content development. Interviews with Listrak customers and reps revealed that the majority of use cases included the insertion of data tags, while boolean logic and custom code were used less often because users lacked the technical knowledge the existing tool required. With this in mind, and with additional direction from the CTO, the objectives were prioritized as follows:

1 Must support the easy insertion of data tags

I’m using the term Data Tag to refer to any customer data, such as {FirstName}.

2 Must support customer segmentation

This would allow a single campaign to produce unique messages for multiple customer groups.

“Whatever you do, make it simple & make it different!”

Listrak’s CTO did not want the solution to result in endless ‘if/then’ boolean statements, with overwhelming customization. It had to be uniquely optimized for the primary user function, and most importantly easy to understand.

Note from the CTO

Will Morgenweck
CTO of Listrak

Now that we’re on the same page, let’s dive in.

Solving for the Objectives

Objective 1

Easy to Use Data Tags

Overview

Data tags act as placeholders for content that will be unique to the receiving customer. Traditionally they are represented by curly brackets and supplemental code. Listrak’s existing platform follows a structure similar to that of competitive tools, where common tags are available at the surface to be inserted and are identified by encasing brackets. Anything more complex would require liquid code, limiting the ability for future revisions to users with coding knowledge.

The failure of this primary function to meet the needs of the target user was a key reason for the CTOs request to redesign the tool.

Figure 2.
Original Tool: Inserting conditional logic into a text message with personalized fields.

“Make it different!”

Solution Part A: A Simplified Look to Improve Readability

To better organize the types of customer-tailored content available, I’ve created two data tag groups: Personalization and Conditional. Tags are represented by coloured bubbles which reduce the noise created by coding syntax, allowing copy to be read and reviewed as one cohesive message.

Personalization Tag

These blue tags represent static units of customer data. If the system recognizes matching data in that customer profile, it will be pulled as is. Examples include names or birthdays.

Conditional Tag

These purple tags are associated with variable data, requiring slight variations in copy to address all recipients. An example is the number of products purchased in the last order.

Solution Part B:
Quick, Organized Access to Tags

Recognizing that users frequently include data tags in their campaigns, it was essential they could be accessed without disrupting the current workflow. And to further enhance the experience, data tags can be inserted as easily as an emoji.

When a field is activated, recently used tags appear for quick selection. To find other tags, clicking on the “+” brings the two tag categories to the surface, where the user can scroll or search to find a desired tag. The tag name will always be displayed in-context, and if a backup word or sentence is provided for that tag - to be used in the case that data is missing - it will also be displayed in the preview.

Figure 3.
Various states of a Subject Line field.
From the top: Inactive, Active, Populated.

Solution Part C:
User-Led Grammatical Revisions

To avoid overwhelming the user with too many options, each tag has its own unique edit modal with context-specific affordances. However, preliminary testing quickly revealed that not all necessary grammatical variations could be automated, and therefore a certain level of manual control must be given to the user.

If the tag parameters are not satisfied (including any grammatical revisions) so that its application will make sense to all recipient groups, a red dot will appear on the tag bubble to notify the user that there is an action required. The user will not be able to send the campaign until all issues are addressed.

Figure 4.
The edit modal for the Personalization Tag ‘First Name’ and ‘Birthday. Grammatical affordances are highlighted in yellow.

Video 1.
Inserting a Data Tag

From the Campaign Creation flow, creating a Subject Line for an Email message.

Solution Part D:
Simplified Segmentation

The conditional tag is designed to adapt copy so that one message can speak to all recipients of a campaign. The user can address multiple scenarios of purchase behaviour or brand interaction without the need to create multiple customer segments.

To simplify the process there is no option to create “or” statements. The more conditions a user adds to a statement the more specific their message groupings and copy become. If contrary logic is desired the user would create a new statement.

Figure 5.
The edit modal for the Conditional Tag ‘Number of Products’.

Objective 2

Supporting Customer Segmentation

Overview

Boolean logic enables precise audience segmentation, where any known parameter can be used to differentiate customers. However, the complexity of inclusive and exclusive conditions can quickly spiral out of control, making it near impossible for users to interpret the logic or understand which customers they are targeting. This issue highlighted the urgency of the CTO's request for a simplified approach.

Figure 6.
Original Tool: Boolean statements used to define audience segments.

“Make it simple!”

Solution Part A:
Creating Robust Variant Groups

Conditional tags make nuanced copy speak to specific customer data. Variant creation allows for robust customization, enabling the user to create unique versions of messages for multiple audiences from a single campaign.The structure of Variant settings is similar to that of Conditional Tags: simplified boolean logic is used to create customer groups within the predefined recipient list and craft unique content for each. This functionality is available in Advanced Settings.

Figure 7.
Populated variants. Variants can be found in Advanced Settings.

Solution Part B:
Saving & Reusing Segments

Segments are housed and managed in their own area of the Listrak platform, and are used for a variety of purposes outside of campaign creation. When drafting a variant, the user is able to access pre-existing segment data simply by adding it as a condition. A segment can make up the entirety of a variant, or the user may choose to add more conditions on top of the existing segment conditions. Users have the ability to modify or remove conditions from a pre-existing segment at a local level, with no impact on the original segment and instances of it across the platform.

Users also have the option of saving a variant as a new segment straight from Advanced Settings. These segments could then be managed and used in the same way as all other segments in the platform.

Figure 8.
Inserting and Editing an Existing Segment.

Video 2.
Using a Segment in a Variant group.

The Variant tab in Advanced Settings.

Solution Part C:
Creating Efficient Workflows

  • Personalization and Conditional tags can still be searched for, modified, and added into message content.

  • Once a user has spent time adding conditions and drafting their message content, the entire variant can be duplicated in order to minimize rework.

  • As conditions are populated, a plain-language summary of each variant is auto-generated to easily identify the segment(s) that will be reached. This is particularly helpful for teammates or managers who may not have built the variants but need to quickly get up to speed when reviewing or reusing the campaign.

Figure 9.
Showcasing Tags, Variant menu options, and plain language summary.

Solution Part D:
Variants vs Liquid Code

For users with the technical knowledge I have provided the option to add liquid code. Since interviews revealed that the majority of users do not have coding abilities, the variant tab is the default display.

Figure 10.
Liquid code tab.

Putting the Pieces Together

Final Solution in Wireframe

Takeaways.

Familiarizing yourself with the industry standards is a great place to begin when approaching a redesign, but ‘standard practice’ doesn’t always equate to best practice for your users. Analyzing current user behaviour and testing alongside the design process is critical in determining whether a solution effectively serves the user.

While it is tempting to offer every possible affordance, too many and your user may become hindered by complexity. Finding the sweet spot is key, and the answer is in the data — what are your customers actually doing? Are they able to do their work independently, without the help of a rep?

Next Steps.

Once testing of these designs is completed, this functionality will be incorporated into other relevant areas of the tool. This will require more than a simple ‘copy-and-paste’ effort, so time will be set aside for required revisions.

All designs must be updated from their current wireframe state to Listrak’s rebranded look and feel. This will take place once the rebrand is finalized.

View Next

Recipe Builder Tool:
Programmatic Marketing Software

Using advanced machine learning, the Recipe Builder Tool helps companies to better cater to their customers through predictive product recommendations.

Job Advertising Platform:
All-In-One Software

Expertly manage and customize job postings in-house for all desired employment types.

Social Messaging App:
Patented Notification Technology

In urgent situations always remain in communication with friends and loved ones by bypassing their do-not-disturb settings.