You can use spintax to randomly rotate words or phrases in your emails, helping you add variation and avoid spam filters.
Format
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 questionAbove 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 %}The downcase in the first line of code is used to make all text in the variable lower case as matching is case sensitive. In our case above if we didn’t put downcase and the title is Founder in your variable, it would not be “founder” which the code is looking for, so then they’d get the last message “I can tailor thjis to your team’s priorities”.
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:
{% assign city = '{CITY}' %}
{% 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.