You can use spintax to randomly rotate words or phrases in your emails, helping you add variation and avoid spam filters.
Use curly brackets {}
to wrap your options, and separate each option with a pipe |
.
Example: {Hi|Hello|Hey}
It works in both email title/subject line and email body.
When emails are sent, one of the options is selected at random for each message.
For a full overall guide on Liquid Templates, you can read the official docs here: https://shopify.github.io/liquid/
One caveat is that Bison replaces custom variables before parsing your liquid templates. This means that if you’re using custom variables, and you’re looking to make comparisons in “if” statements, you must put them in quotes.
Example below.
{% if '{FIRST_NAME}' == 'Cody' %}
This is Cody
{% elsif '{FIRST_NAME}' == 'John' %}
This is John
{% else %}
This is not Cody or John
{% endif %}
You can chain as many elsif
statements as you like. If you are doing one comparison only, you should omit the elsif
and use else
for any case where the comparison did not pass.
An alternative way of doing this would be to assign a temporary inline variable, and then you can reference the variable inside your template without quotes.
The example below is the same as the one above, but now uses a temporary in-line variable.
{% assign first_name = {FIRST_NAME} %}
{% if first_name == 'Cody' %}
This is Cody
{% elsif first_name == 'John' %}
This is John
{% else %}
This is not Cody or John
{% endif %}
It’s a matter of preference which you choose.
You can also use other parts of liquid templates, for example, custom date handlers.
Example from one of our customers:
{% assign today = "now" | date: "%A" %}
{% if today == "Monday" %}
tomorrow or Wednesday?
{% elsif today == "Tuesday" %}
tomorrow or Thursday?
{% elsif today == "Wednesday" %}
tomorrow or Friday?
{% elsif today == "Thursday" %}
tomorrow or early next week?
{% elsif today == "Friday" or today == "Saturday" or today == "Sunday" %}
early next week?
{% endif %}
In the previous example date was used, but you can use the time as well.
{% assign hour = "now" | date: "%H" | plus: 0 %}
{% assign name = '{FIRST_NAME}' | strip | default: 'there' | downcase | capitalize %}
{% if hour < 12 %}Good morning{% elsif hour < 17 %}Good afternoon{% else %}Good evening{% endif %} {{ name }} — quick question
Above example checks the current time and based on it sends Good morning / Good afternoon / Good evening.This can be even further expanded with custom messages depending on the title/role of the lead like here:
{% assign title = '{TITLE}' | downcase | strip %}
{% if title contains 'founder' or title contains 'ceo' %}
I'll keep this brief given your schedule.
{% elsif title contains 'sales' or title contains 'revops' %}
Happy to share a quick pipeline impact summary.
{% elsif title contains 'sales' or title contains 'revops' or title contains 'growth' %}
I can summarize pipeline impact in 2 minutes.
{% else %}
I can tailor this to your team's priorities.
{% endif %}
Some other useful uses of liquid syntax are using custom variables that you uploaded with your CSV. For example, we added a city leads are from into the CSV we uploaded.You can customize a message based on their location with this example:
I'm helping several clients in {{ '{CITY}' | default: 'your area' }} who need guidance with insurance.
"your area" being a fallback in case the City name is not available for the specific lead. This can be further customized withe if/else functions like:
{% if '{CITY}' %}
I'm helping several clients in {CITY} who need guidance with insurance.
{% else %}
I'm helping several clients in {your area|the region} who need guidance with insurance.
{% endif %}
In this example if the City name is not available for the lead, it will send either "your area" or "the region" at random.
If you need any help with Liquid Templates, please reach out to your dedicated support rep.