Skip to main content

How you can use Liquid tags manually

Updated today

Overview

Liquid Template Language is a simple and flexible templating language used to insert dynamic content into messages, experiences, or templates. Intempt uses Liquid to let you reference attributes, feeds, and snippets, enabling personalization and dynamic content rendering.

With Liquid tags, you can:

  • Personalize communication at the user or account level;

  • Dynamically insert brand data;

  • Reference products from feeds;

  • Reference product from catalog;

  • Reuse content with snippets.

For example:

Hello {{attribute.user.first_name}}, welcome to Intempt!

will be rendered as:

Hello Anna, welcome to Intempt!

πŸ“˜ Good to know

  • Liquids are placeholders β€” they are replaced with real values when the message or experience is delivered.

  • If a variable does not exist (e.g., a user attribute is missing), the output will be blank.

  • You can test your liquids inside the SMS, Slack, or Email editor by selecting a sample user.

  • Always make sure your attributes (like phone number, company, or website) are properly stored in Intempt before using them in liquids.

Steps to use Liquid tags manually

  1. Identify your use case

    • Server-side experience personalization

    • SMS, Slack, or Email message template

    • Snippet reuse

    • Feed-based product recommendations

  2. Choose the liquid type
    Depending on what data you want to reference, select the appropriate structure (see below).

  3. Insert the liquid into your template
    Place the variable inside {{ ... }} brackets where you want the dynamic value to appear.

  4. Test with sample data
    Preview the result in the editor or use test delivery to ensure the correct substitution.

πŸ”‘ Important about attributes

When using Liquid tags, always reference the attribute name β€” not the attribute title.

  • Attribute title is the human-readable label you see in the interface.

  • Attribute name is the technical identifier that Liquid requires.

To find the correct attribute name:

  1. Go to the Attributes section.

  2. Select the attribute you want to use.

  3. In the details panel, copy the value shown under Name.

For example:

If an attribute has the title β€œFirst name” but the name first_name, the correct Liquid tag will be:

{{attribute.user.first_name}}

Types of Liquid tags

1. User attributes

Use user-level attributes stored in Intempt.

{{attribute.user.company}} {{attribute.user.email}}

Example:

Hi {{attribute.user.first_name}}, thanks for signing up with {{attribute.user.company}}!

2. Account attributes

Reference attributes stored at the account (organization) level.

{{attribute.account.account_website}} {{attribute.account.account_name}}

Example:

We noticed your company website is {{attribute.account.account_website}}.

3. Brand variables

Insert brand-level configurations.

{{brand.banned_words}}

Example:

The following words are restricted: {{brand.banned_words}}.

4. Feed values

Reference dynamic product feeds.
Format:

{{feed.<feed_id>.<item_index>.<field_name>}}
  • <feed_id> β†’ ID of the feed (e.g., 3914)

  • <item_index> β†’ Position of the product in the feed (starting from 0)

  • <field_name> β†’ Attribute of the product (e.g., description, title, price)

Example:

Check out this product: {{feed.3914.0.description}}

5. Snippets

Insert prebuilt reusable text blocks or templates.

{{snippet.demo_simple_snippet}}

Example:

{{snippet.promo_banner}}

6. Products from Intempt Catalog

In addition to feeds, you can use product data directly from the Intempt Catalog.

Format:

{{products.<product_id_in_intempt_catalog>.<field_name>}}
  • <product_id_in_intempt_catalog> β†’ the unique ID of the product in the Intempt Catalog

  • <field_name> β†’ the product attribute, e.g., title, price, description

Example:

Check out our featured product: {{products.1024.title}} for just {{products.1024.price}}!

Testing Liquid tags

  • In SMS templates β†’ use β€œSample data” to preview how variables will render for real users.

  • In server-side experiences β†’ run a test request with a sample profile to see the resolved values.

πŸ“˜ Good to know
If a Liquid tag does not have a value for a user, account, or feed item, Intempt will render it as a space rather than showing the raw {{ ... }}. Make sure that the attributes or feed fields you reference exist and are correctly populated to avoid blank values in your messages or experiences.

Did this answer your question?