Skip to main content
List of possible dynamic email (Liquid) tags

Glossary of all the dynamic fields you can use in email templates

Jeroen Roosenboom avatar
Written by Jeroen Roosenboom
Updated over a week ago

This article is a partial overview of variables that can be used in dynamic email templates, listing the most used tags. An extensive list is kept in our developer documentation on Liquid tags. Please note that not all variables can be used in all emails. For instance the {{order.track_and_trace_code}} is only used for the track and trace confirmation email. 

See this article on how to use these tags in email templates to create dynamic emails to your customers, for instance with conditionals like if/else. Firmhouse uses Liquid tags for the mark up of emails and webhooks.


The following categories are available:

  • Invoice

  • Order

  • Payment

  • Plan

  • Product

  • Project

  • Purchase

  • Subscription

  • 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}}


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


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


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


Plan related variables, the active plan the customer is currently on. Use these in the email templates like: {{}}

  • 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  price of this plan every following month, formatted (e.g. €25,50)

  • name  name of the plan

  • slug  name used for a part of the url to identify the plan


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

  • stock  amount of total stock of this product

  • title  name or title of the product


Details of the project in Firmhouse, use as {{project.company_name}}

  • company_name  corresponds with the company name in the Technical Settings

  • product_name  corresponds with the product name in the Technical Settings


Purchase related variables,  only used in the "Buy and Keep" purchase offer email. use in the format of {{purchase.full_price}}.

  • amount_paid_reduction  amount of money already paid for, formatted in currency

  • discount_percentage  the discount in percentage for this customer

  • discount_price  the discount in currency 

  • full_price  full price to pay in currency format (e.g. € 100,00)

  • percentage_already_paid  percentage of the buying price that has been paid for 

  • purchase_price  amount of money to pay for purchase, in currency format (e.g. €75,00)

  • vat_percentage  applicable VAT percentage

  • vat_price  applicable VAT amount in currency format (e.g. € 12,50)


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

More Liquid tags

An overview of all possible liquid tags can be found in the Firmhouse developer documentation on Liquid tags.

Did this answer your question?