CrowdPower
  • 👋Introduction
  • ✅Getting Started
    • The Basics
    • JavaScript Tag
      • Identify Customer
      • Create Customer Event
      • Create Customer Charge
      • Create Customer Tag
      • Create Page View
      • Prompt for Push
    • Beacon API
      • Identify Customer
      • Create Customer Event
      • Create Customer Charge
      • Create Customer Tag
      • Track
    • Importing Customers
    • Basic Email Setup
    • Advanced Email Setup
  • 📚Resources
    • Smart Sending
    • Working with Sessions
    • Working with Traits
    • Working with Phone Numbers
    • Personalizing Messages
    • Push Notifications
    • Unsubscribe Groups
  • 🔌Integrations
    • Discord
    • Slack
    • Stripe
    • Zapier
  • REST API
  • Console
Powered by GitBook
On this page
  • Filters
  • Conditionals
  • Defaults
  • Further Reading

Was this helpful?

  1. Resources

Personalizing Messages

PreviousWorking with Phone NumbersNextPush Notifications

Last updated 2 years ago

Was this helpful?

You can personalize the body of your emails with variables that use customer traits or automation trigger properties as inputs. CrowdPower uses — an open-source template language creating my Shopify — to customize your email body copy for each customer that receives it. In fact, you can use Liquid rules on pretty much any block of copy an automation action uses, including messages in Slack and Discord alerts.

Our email builder, along with some text inputs include a "Variable" dropdown menu that can assist you in adding variables to your copy, but the Liquid template language is actually quite robust. There are a number of things you can do with the language, like add conditionals to your copy, or transform numbers with mathematical formulas.

Filters

Filters take an input value, apply a filter to it, and then return a result. They may also be chained together to transform an input in a number of steps. The following are some examples of filters you can apply to your variables:

Filter
Input
Output

capitalize

{{ "hello" | capitalize }}

Hello

date

{{ 1634497325 | date: "%Y" }}

2021

default

{{ "" | default: "Hello" }}

Hello

divided_by

{{ 4 | divided_by: 2 }}

2

downcase

{{ "Hello" | downcase }}

hello

minus

{{ 3 | minus: 2 }}

1

number_to_currency

{{ 100 | number_to_currency: "USD" }}

$1.00

number_to_formatted

{{ 1000 | number_to_formatted }}

1,000

plus

{{ 3 | plus: 2 }}

5

round

{{ 3.6 | round }}

4

strip

{{ " Hello " | strip }}

Hello

times

{{ 3 | times: 2 }}

6

truncate

{{ "Hello" | truncate: 2 }}

He...

upcase

{{ "Hello" | upcase }}

HELLO

Conditionals

{% if customer.plan == "Pro" %}
    Thanks for becoming a Pro subscriber!
{% endif %}

The following are operators you can use in your control flow tags:

Operator
Description

==

equals

!=

does not equal

>

greater than

<

less than

>=

greater than or equal to

<=

less than or equal to

or

logical or

and

logical and

Defaults

The default filter sets a default value for any variable with no assigned value. The filter will show its value if the input is nil, false, or empty. It is a good idea to use this filter on all of your variables.

Further Reading

You can use if/else conditionals in your body copy. Liquid includes many logical and comparison operators. You can use operators to create logic with tags. For example:

This is just a small sample of the personalization you can accomplish with the Liquid template language. For complete reference, visit the Liquid docs .

📚
Liquid
control flow
here