Skip to main content

Using liquid tags for personalization

Updated over 2 weeks ago

Intempt uses an open-source templating language called Liquid to reference and create personalized content. The Liquid template language provides logical operators to control how you want to include user, product, and recommendation content in your templates. You can use Liquid template language to personalize the content of the templates. For emails, you can also personalize the subject line and preheader of the email.

About Liquid

Liquid templating language supports the use of objects, tags, and filters.

  • Objects allow you to insert personalized attributes into your messages.

  • Tags allow you to execute programming logic in your messages. For example, you can use tags to include intelligent logic, such as “if” statements, in your campaigns.

  • Filters allow you to reformat personalized attributes and dynamic content. For example, you could convert a timestamp, such as 2022-09-07 08:43:50 UTC, into a date, such as September 7, 2022.

Terms to know

These terms are based on Shopify’s documentation.

Term

Definition

Example

Liquid

An open-source, customer-facing template language created by Shopify and written in Ruby; used to load/pull dynamic content.

{{attribute.user.first_name}}

Object

A denotation of a variable and the location of the intended variable name that tells Liquid where to show content in the message.

{{attribute.user.first_name}} will insert a user’s first name into a message.

Liquid personalization variables

While you can access a lot of information with Liquid, there are generally three types of variables you’ll mainly use to personalize messages for your audience: user attributes, account attributes, and products.

User attributes

The user attribute scope represents attributes associated with customers. You can reference customer variables in any message or action except when working with anonymous users. User attributes can only be created for attributes that have user identifiers associated with them.

Input

Output

{{attribute.user.first_name}

John

Account attributes

Account attributes use the account scope - that means the information is associated with the account or company data. Account attributes can only be created for attributes that have account identifiers assigned.

Input

Output

{{attribute.account.company_name}}

Intempt

Product attributes

Products will use any product data collected/ingested via Intempt. This can include product catalog data and any collected data item. With collection properties, you can reference catalog variables such as product name, image, URL, and other objects (product. Product data can be accessed only for collections that have product identifiers assigned.

Input

Output

{{product[0].product_catalog.product_name}}

Nike Shoes

Did this answer your question?