How to use email variables?
Email Template Variables
Quotify uses Liquid templating in your email subject lines, messages, and custom email templates. You can insert dynamic data from quotes, proposals, and your shop using {{ variable }} syntax.
Form Fields
Access any form field value by its slug:
{{ quote.form.fields.first_name }}
{{ quote.form.fields.last_name }}
{{ quote.form.fields.email }}
{{ quote.form.fields.company }}
{{ quote.form.fields.phone }}
The slug matches the field name you set up in your form builder (lowercased, spaces replaced with underscores). If you created a custom field called "Project Budget", the variable would be {{ quote.form.fields.project_budget }}.
Form Fieldsets
Loop through fieldsets to display all submitted form data grouped by section:
{% for fieldset in quote.form.fieldsets %}
<h4>{{ fieldset.title }}</h4>
<p>{{ fieldset.description }}</p>
{% for field in fieldset.fields %}
<p>{{ field.name }}: {{ field.value }}</p>
{% endfor %}
{% endfor %}
Each field in a fieldset has:
Variable | Description |
|---|---|
The field label (e.g. "First Name") | |
| The field type (e.g. "email", "text") |
| The submitted value |
Quote Variables
Variable | Example | Description |
|---|---|---|
| Unique quote reference ID | |
| | Language code of the quote |
| | Market the quote was submitted from |
| | Total amount (plain number) |
| | Total with currency formatting |
| | Date the quote was submitted |
Quote Products
Loop through the products included in a quote:
{% for product in quote.products %}
<h3>{{ product.title }}</h3>
<img src="{{ product.image }}" />
{% for variant in product.variants %}
<p>
{{ variant.title }} ({{ variant.sku }})
Qty: {{ variant.quantity }}
Price: {{ variant.price_formatted }}
Total: {{ variant.total_formatted }}
</p>
{% endfor %}
{% endfor %}
Each product has:
Variable | Description |
|---|---|
| Product name |
| Product image URL |
| Shopify product ID |
Each variant has:
Variable | Description |
|---|---|
| Variant name (e.g. "Gray", "Large") |
| SKU code |
| Variant image URL |
| Quantity requested |
| Unit price (plain number) |
| Unit price with currency (e.g. "$25.00") |
| Line total (plain number) |
| Line total with currency (e.g. "$75.00") |
Proposal Variables
These are available in proposal emails only.
Variable | Example | Description |
|---|---|---|
| Unique proposal reference ID | |
| | Formatted proposal number |
| Link for the customer to view the proposal | |
| | Access code (if access codes are enabled) |
| | Proposal total with currency |
| | Discount amount (empty if no discount) |
| | Shipping amount (empty if no shipping) |
| | Date the proposal was created |
Proposal Line Items
{% for line in proposal.lines %}
<p>
{{ line.title }} ({{ line.sku }})
Qty: {{ line.quantity }}
Price: {{ line.price }}
Total: {{ line.total }}
</p>
{% endfor %}
Each line item has:
Variable | Description |
|---|---|
| Item name (e.g. "Backpack - Gray") |
| Product image URL |
| SKU code |
| Quantity |
| Unit price with currency |
| Line total with currency |
| Whether the item is taxable |
| Whether the item requires shipping |
Shop Variables
Variable | Description |
|---|---|
Your store name | |
| Street address |
| Additional address line |
| City |
| Postal/ZIP code |
| Country name |
| URL to your store logo |
Other Variables
Variable | Description |
|---|---|
| The custom message from your email settings |
| Proposal URL (proposal emails only, same as |
| Access code (proposal emails only, same as |
| Email type: |
Liquid Syntax
Conditional content
{% if quote.form.fields.company %}
<p>Company: {{ quote.form.fields.company }}</p>
{% endif %}
Showing content based on email type
{% if type == 'user:quote-confirmation' %}
<p>Thank you for your quote request!</p>
{% endif %}
{% if type == 'staff:quote-confirmation' %}
<p>A new quote request has been received.</p>
{% endif %}
Displaying a discount only when present
{% if proposal.discount_total %}
<p>Discount: {{ proposal.discount_total }}</p>
{% endif %}
{% if proposal.shipping_total %}
<p>Shipping: {{ proposal.shipping_total }}</p>
{% endif %}
<p>Total: {{ proposal.total }}</p>
Full Example
<h3>Hi {{ quote.form.fields.first_name }},</h3>
<p>{{ message }}</p>
{% for fieldset in quote.form.fieldsets %}
<h4>{{ fieldset.title }}</h4>
<table>
{% for field in fieldset.fields %}
<tr>
<td><strong>{{ field.name }}:</strong></td>
<td>{{ field.value }}</td>
</tr>
{% endfor %}
</table>
{% endfor %}
{% if quote.products %}
<h4>Products</h4>
{% for product in quote.products %}
<h5>{{ product.title }}</h5>
{% for variant in product.variants %}
<p>{{ variant.title }} - {{ variant.sku }} - Qty: {{ variant.quantity }} - {{ variant.price_formatted }}</p>
{% endfor %}
{% endfor %}
<p><strong>Total: {{ quote.total_formatted }}</strong></p>
{% endif %}
Updated on: 10/02/2026
Thank you!