Liquid Personalization Types 101
For today’s marketers, personalization is key. In a world where 90% of consumers express frustration when they receive messages they find irrelevant, sending generic outreach means running the risk of irritating—or even driving away—your audience. But while it’s clear that personalizing messages is increasingly essential for brands, it’s not always clear how to make that actually happen.
Enter Liquid. For many marketers, using the Liquid templating language has become a key component of their message personalization strategies over the past half-decade. Liquid, “an open-source, customer-facing template language created by Shopify and written in Ruby”, is basically a scalable tool to ensure that your marketing content is personalized and informed by relevant context, and it represents a powerful lever for driving growth and engagement for your business.
How popular is Liquid? Let’s take a look at where Liquid usage stands with our Braze customers today:
At the campaign and Canvas (our customer journey builder) level, Liquid usage averages about 77% per month. In fact, Liquid usage crossed a major milestone in November 2020, when, for the first time ever, more than 50% of total message recipients received messages that leveraged this kind of personalization. The upshot? In today’s environment, knowing how to use Liquid—along with the different Liquid types—is an essential skill in order to ensure your campaigns are on par with the competition.
So, let’s explore the different Liquid types supported by the Braze platform and dig into some examples of what they look like.
1. Personalization Tags
Tags are a great place to start when talking about Liquid, since they’re arguably the foundational form of Liquid’; after all, most other Liquid types are either a variation of tags or require tags to function properly. Tags are powerful because they make it possible to use Liquid to execute programming logic within the messages your team sends. That allows marketers to leverage intelligent logic—such as “if” statements—within campaigns, supporting responsive customization.
While there are a number of different types of tags you can use (e.g. device, campaign, iteration, and geofence tags), we’ve found that default attribute tags—which can include attributes like a user’s country, first name, or gender—are among the most commonly used personalization tags by brands.
Okay, but what does it look like when a marketer leverages Liquid personalization tags in their outreach? Well, for example, you could use personalization tags to support the process of sending the following message when you’ve launched your app in a new country:
For campaign attributes, here’s an example of using the campaign name for a non-profit looking to thank users for donating:
Next, iteration tags allow marketers to embed “for-loops” inside their messages. The following message ensures that, for a user who has viewed multiple shows on a video game streaming app, they only receive a message if one of their most recently played games is Tetris.
Geofencing can also be a powerful tool to send real-time messaging to users as they begin to interact with your brand more often in the physical world. A geofence is a type of location-targeting that allows for messages to be sent to people when they enter, leave, or dwell within a certain physical location. Here’s an example:
The message would read as “You’re missing out on these IRL discounts!” for customers who are not present in the defined area of the geofence.
The possibilities can feel almost endless. The sheer number of different tag types you can incorporate into your messaging is very robust—and that means the number of campaigns you can enrich with personalization tags is incredibly large. (You can view all Braze supported personalization tags here.)
2. Custom Attributes and Events
While Braze and other customer engagement platforms support the collection of certain kinds of data out of the box, most brands will find that they want to take things a step further by gathering additional custom data in connection with their users. The two key kinds of custom data are:
Custom Attributes: Custom attributes are best for storing information about your users, such as loyalty tier, or about lower-value actions within your application.
Custom Events: Custom events are actions taken by, or updates about, your users; they’re best suited for tracking high-value user interactions within your application.
In short, custom events and attributes are both kinds of information either about who your users are, or what actions they’re taking on your application. Ensuring that you have clean, reliable data can enable major improvements to your campaign performance when combined with Liquid. However, if a user doesn’t have a custom attribute or event present, don’t despair: You can use default values—or a default attribute tag—to ensure that you can get the most out of your data without having to come up with separate campaigns for newer users. (You can learn more about custom events and attributes here.)
At Braze, we’ve found that custom attributes and events provide key fuel for Liquid personalization—in fact, our research has determined that 34.5% of message variations use custom attributes or events, compared to only 11.9% of message variants using default values.
What does that look like in practice? Take a look at the following example:
If the recipient hadn’t provided a first name, they would have been referred to by the default value of “Big Spender.” Using default values can ensure that your messaging still works, even if your customers haven’t provided all the information you’d usually leverage. Custom attributes, events, and default values, when combined with some of the other Liquid variants discussed below, can lead to incredibly nuanced and advanced messaging strategies that can ensure that your customers always receive messaging that is relevant to them from your brand.
3. Conditional Logic
While conditional logic has long been a commonly used tool in software development, one of the beauties of Liquid is that it makes it possible to leverage these capabilities in the context of your customer messaging. What does that mean for your marketing? With the right Liquid tags, you can use traditional logic operators to create conditional messages that ensure users receive the one that is right for them.
With conditional logic, marketers have the power to both determine whether a message should be sent and, if so, what version of the message a given customer should receive. That means you can theoretically build out rich, multi-option messages without needing to do the work of creating separate campaigns for every single variation.
Here’s how that might play out in real life:
The message would read as follows if the customer had set their “favorite_snack” attribute to pie: Pie’s the limit on your birthday! Here’s 10% off for your special day!
In addition, with conditional logic Liquid tags, traditional logic operators like “>” or “<” are supported for numeric fields, making it possible to inform messages in circumstances where a given factor or value rises above or falls below a certain number. Another key thing to keep in mind? It’s strongly recommended that you use either a final “else” statement or an abort message to ensure that you are sending out conditional messages that remain professional even if all conditions aren’t met, and prevent a situation where you have some faulty data that could lead to unexpected outcomes.
4. Liquid Filters
This one is a little different. We’ve already talked about custom attributes and events, but you may find that you’re storing custom attribute or event data that is formatted in a different manner than how you’d want it to display in a message. In a situation like that, how can you use that information in your messaging without looking unprofessional with sloppy or inconsistent formatting? That’s where Liquid filters come in.
At their core, Liquid filters are all about ensuring that your customers receive messaging that is properly formatted. What does that look like in practice? Imagine that you store gift card balances in your customer accounts as a float value instead of currency.
By leveraging Liquid filters, you could leverage that data via Liquid to display the information in a way that recipients will understand. In this instance, a message in this vein would render as: It looks like you have $35.35 left on your gift card. We have a lot of fun new items in-store for you to check out, so why don’t you have a look!
That said, this use case is just the tip of the iceberg. There are many different filter types that can support different data types, such as strings, currency, or numerical values. To find more information about the supported filter types, check out our documentation here!
Now that you have an understanding of the different Liquid types out there and how they can support key use cases, it’s time to start thinking about how you can leverage them to support exceptional personalized customer engagement.
For strategic guidance, check out the Braze Personalization Guide for more on how smart brands drive high engagement and revenue with personalization. If you’re interested in getting the full context around Liquid types before diving into channel-specific applications, you can check out the Braze Docs, or our LAB Course if you’re a current Braze customer.
All data discussed in this article is drawn from the Braze customer base of more than 1,000 global brands and has been anonymized and aggregated. Liquid usage agnostic of the Liquid type was pulled from the Braze platform over the period of February 2020–May 2021. All data that is displayed at the liquid type level was pulled from the period of February 2020–February 2021.