Message Personalization (Liquid)

circle-info

Integration of customer data arrow-up-rightsuch as tags or user profiles must come first in order to enable the use of personalized messages based on that data.

Liquidarrow-up-right is an open-source template language developed by Shopify. FlareLane supports personalized messages using Liquid. With Liquid, you can manipulate data into the desired format, enabling richer and more flexible personalization in your messages.

Try adding customer data such as names or membership levels to your messages to deliver a more personalized experience. This often leads to higher engagement compared to generic messages.

Examples of personalized messages:

  • Hello {{ name | default: "Customer" }}!

  • Your registration was completed on {{ tags.signup_date | date: "%Y-%m-%d", "America/Los_Angeles" }}.

  • The product you ordered, {{ entry_event.data.product_name | truncate: 20 }}, has been shipped.

  • Your reward points of {{ tags.point | number_with_delimiter }} USD are about to expire.

How It Works

You can set up personalization variables with just a few clicks—no need to enter them manually.

The Liquid syntax is a string block enclosed in double curly braces. For example, a personalized message using the customer’s name can be written as:

At the time of sending, if the user profile contains a name value, the message will be delivered like this:

If the name data is missing, the default value will be used, and the message will be delivered as:

Supported Filters

Filters can be chained together. In the example below, if the signup_date tag exists, it is formatted as a date. If the value is missing, the default filter returns a fallback value:

Your registration was completed on {{ tags.signup_date | date: "%Y-%m-%d", "America/Los_Angeles" | default: "today" }}.

String Filters

Number Filters

Array Filters

Conditional Branching

Available Variables

You can use various integrated customer data as variables in your messages:

Tags: tags.*

Automatically maps to matching tags set in the user profile or device.

  • Example: {{ tags.grade }} – A coupon for your {{ tags.grade }} membership level has been issued. → Looks up the grade tag among the user's tags.

Events: entry_event.data.*

Variables attached to the trigger event in customer journey automation can be used in messages.

  • Example: The item {{ entry_event.data.product_name }} in your cart is still waiting for you! → Retrieves product_name from the event’s attached data.

UserId

  • If the target device has a user ID, the value is passed. This is often used when user IDs need to be included in webhook calls or similar use cases.

Data

You can inject external values at the time of sending to personalize messages.

  • Example: {{ writerName }} liked your post. → The value of writerName can be added via the data parameter in the API or entered manually in the console.

chevron-rightPersonalized Messaging (Before Update)hashtag

In the message title or body, you can insert double curly braces ({{ }}) and use two vertical bars (||) to separate the variable name from its default value. If the variable has no value, the default value will be used. For example:

Image by FlareLane

For example, if the userName variable contains the value "johndoe", the message will display as "johndoe". If no value is provided, the default "Customer" will be used instead.

Last updated