This article provides an overview of commonly used variables for dynamic content templates, including email templates, webhooks, and payment descriptions. It highlights the most frequently used tags, while a more extensive list can be found in our developer documentation on Liquid tags.
Please note that not all variables are applicable to every email. For example, {{order.track_and_trace_code}}
is specific to the track and trace confirmation email. Be sure to reference the appropriate variables for your specific use case.
Check out this article to learn how to use Liquid tags in email templates to create dynamic emails for your customers, including using conditionals like if/else
. Firmhouse utilizes Liquid tags for the markup of emails, payment descriptions, and webhooks, enabling you to customize content to your specific needs.
Overview
The following core categories and attributes are covered in this article (see the full list in our developer documentation):
Order
Invoice
Subscription
Payment
Product
Plan
Project
optional Extra Fields
This list can be expanded with optional tags. See here how to create those extra fields. Those extra field tags can be addressed like this:
If you have a birthday field, for example, use the following tag: {{extra_field.birthday}}
Order
Order related variables. Use these in the email templates like: {{order.status}}
amount the total amount of the order, in currency (e.g. € 25,00)
cancel_url link to the page where the customer can cancel the subscription
confirm_url the link for the customer to confirm an order
discount amount of discount in this order in currency (e.g. € 2,50)
order_announcement_sent_at if sent, the date when the customer was informed of an upcoming order
order_confirmation_sent_at if sent, the date when the customer was informed of an order confirmation
order_lines a list (array) of all the "lines" of the order, can be different products
products a list (array) of products in the order
shipment_date date value of when the shipment was sent
shipping_costs amount of the shipping costs of this order in currency format (e.g. € 7,25)
snooze_url for some type of subscriptions, the delivery of the product can be "snoozed". This variable returns the link to the snooze page
status order status, can have the value: pending, confirmed, snoozed or cancelled
track_and_trace_code if applicable, this will contain the track and trace code of the package sent to the customer
Invoice
Use the invoice related variables below in email template tags like this: {{invoice.number}}
amount_price invoice amount with currency formatting (e.g. € 100,50)
created_at date and time of invoice creation
number invoice number
pay_now_url link to payment page to pay for this outstanding invoice
pending_retries? returns true or false if any payment retries are planned/pending (for instance for direct debit)
status the status of the invoice, for example pending, paid, open, refunded.
status_translated local version of the status
Subscription
Subscription (subscriber) related variables, use as {{subscription.full_name}}.
city part of address
company_name if subscriber is a company, this name is set
country part of address
customer_id identifier of this subscription customer, auto-generated and can be set on creation
device_bought_at date and time the product has been bought (in case the customer bought the device at the end of the term)
email the email address of the customer
invite_token login token to provide customer feedback when invited
full_address field will the full address (incl street, city, zipcode and country)
full_name first and last name of the subscriber
last_name the last name of the subscriber
login_url is a temporary login link, generated after a user requests to log in to the Self Service Center. It is only available for Self Service Center login email type
name first name of the subscriber
next_billing_date if planned the next date when subscriber will be billed
payment_method method which will be used for billing
phone_number if available, the subscriber's phone number
products list (Array) of products the customer is subscribed to
subscription_started_at start date of the subscription
track_and_trace_code when available, the track and trace code of the shipped product
zipcode part of the address
Payment
Payment related variables. Use these in the email templates like: {{payment.status}}
amount_price the amount of the payment, in currency format (e.g. € 17,50)
attempts_count amount of retries for this payment
description used on bank statement for this payment
failure_reason the explanation why a payment failed, for instance: insufficient_funds, rejected_by_bank, reverted_by_customer etc
failure_reason_translated translated version of failure_reason
pay_now_url the url for direct payment of the outstanding amount
payment_type defines the sort of payment the customer has done, for instance: activation, monthly, initial, etc
payment_type_translated is the payment_type in your language
retry_attempt? true or false if retry attempts are planned for this payment
scheduled_retry_on date when retry payment attempt is scheduled for
status payment status, value can be for instance: canceled, pending, paid, etc
status_translated payment status translated in your local language
Product
Product related variables. Use these in the email templates like: {{product.title}}
nth_product_free optional to make the "nth" delivery free (n = number)
price amount the customer pays for the product, formatted in currency (e.g. €12,40)
product_image_url url to an image of the product
sku identifier of this product (Stock Keeping Unit)
slug name used for a part of the url to identify the plan
title name or title of the product
Plan
Plan related variables, the active plan the customer is currently on. Use these in the email templates like: {{plan.name}}
image_url url to the image that corresponds with this plan
initial_price price of this plan to get started, formatted with currency (e.g. €10,00)
monthly_price recurring price of this plan that is charged at every (monthly/recurring) billing moment, formatted (e.g. €25,50)
name name of the plan
slug name used for a part of the url to identify the plan
Project
Details of the project in Firmhouse, use as {{project.company_name}}
company_name corresponds with the company name in Your business settings
More Liquid tags
An overview of all possible liquid tags can be found in the Firmhouse developer documentation on Liquid tags.