Notification variables
Mail notifications are designed to provide important order information to customer and store owner. These notifications are built with the help of HTML and Freemarker tags and use special variables to display actual order information in emails.
This article describes the list of available variables. You can find examples of their use in the Editing email notifications article. Also, you can use variables in a custom tracking code.
Variables for customer information
Name | Description |
${customer.name} | Displays customer’s name. |
${customer.email} | Displays customer’s email. |
${customer.membershipName} | Displays customer group name. |
${customer.membershipId} | Displays customer group ID. |
Variables for order information
Name | Description |
<#list order.items as orderItem> </#list> | Displays the list of ordered products. |
${orderItem.name} | Displays the name of product. |
${orderItem.sku} | Displays the SKU of product. |
${orderItem.description} | Displays the product description. |
${orderItem.customerUrl} | Calls URL of the product page. |
${orderItem.imageUrl} | Displays the product image. |
${orderItem.quantity} | Displays the quantity of ordered items. |
${orderItem.price} | Displays the product price. |
${orderItem.priceWithoutTax} | Displays the product price without tax. |
${orderItem.isShippingRequired} | |
${orderItem.weight} | Displays the weight of the ordered product. |
${orderItem.subtotal} | Displays the order item subtotal (item price x quantity of ordered items). |
${orderItem.subtotalWithoutTax} | Displays the order subtotal without tax (item price without tax x quantity of ordered items). |
<#list orderItem.options as option> </#list> | Displays the list of options selected for the product. |
${option.name} | Displays the option name. |
${option.value} | Displays the option selection. |
<#list orderItem.attributes as attribute> </#list> | Displays the list of all attributes set for the item’s product type. |
${attribute.name} | Displays the attribute title. |
${attribute.value} | Displays the attribute name. |
<#list orderItem.visibleAttributes as visibleAttribute> </#list> | Displays the list of visible attributes set for the item’s product type. |
${visibleAttribute.name} | Displays the title of visible attribute. |
${visibleAttribute.value} | Displays the name of visible attribute. |
<#list orderItem.files as file> </#list> | Displays the list of files attached to the product. |
${file.description} | Displays the description of the file. |
${file.fileName} | |
${file.name} | Displays the name of the file. |
${file.type} | Displays the type of the file. |
${file.size} | Displays the size of the file. |
${file.url} | Adds a download link for the file. |
<#list orderItem.taxes as tax> </#list> | Displays the list of taxes applied to the product. |
${tax.name} | Displays the name of tax . |
${tax.percentValue} | Displays the percent value of tax. |
${tax.absoluteValue} | Displays the absolute value of tax for product subtotal (the absolute tax value x items of the product in order). |
${orderItem.taxesTotalPercentValue} | Displays the sum of all percent tax values applied to the product. |
${orderItem.taxesTotalAbsoluteValue} | Displays the sum of all absolute tax values applied to the product. |
${order.number} | Displays the number of the order. |
${order.customerUrl} | Adds URL to the customer’s profile. Empty if order was made anonymously. |
<@orderLink/> | Adds order number. If order was placed by registered customer, contains a URL to customer’s order history. If customer is not registered, order number will be displayed as plain text. |
${order.adminUrl} | Adds a link to the order in store’ Control Panel. |
${order.dateCreated} | Displays the date of the order placement. |
${order.paymentStatus} | Displays the current payment status of the order. |
<@paymentStatusColor/> | Changes the color of ${order.paymentStatus} element depending on the status of the payment. |
${order.extTransactionId} |
Displays the transaction ID for the order (if this order has a transaction ID). An example of this variable in the template code: |
${order.subtotal} | Displays the order subtotal. |
${order.subtotalWithoutTax} | Displays the order subtotal without tax (no shipping costs included). |
${order.total} | Displays the order total. |
${order.shippingMethod} | Displays the shipping method’s name. |
${order.shippingCost} | Displays the shipping rate for the order. |
${order.weight} | Displays the total weight of ordered items. |
<#list order.taxes as tax> </#list> | Displays a list of taxes applied to the order. |
${tax.name} | Displays the name of the tax. |
${tax.value} | Displays the value of the tax. |
<#list order.discounts as discount> </#list> | Displays a list of the discount applied to the order. |
${discount.name} | Displays the name of the discount. |
${discount.value} | Displays the value of the discount. |
${order.couponPercent} | Displays the percent of discount coupon applied to the order. |
${order.couponName} | Displays the discount coupon name. |
${order.couponCode} | Displays the discount coupon code. |
${order.totalDiscount} | Displays the total value amount of discount applied to the order. |
${order.isShippingRequired} | |
${order.shippingAddress} | Displays the whole shipping address for the order. It’s also possible to display each element of the shipping address separately. |
${order.shippingAddress.name} | Displays the name of the customer. |
${order.shippingAddress.companyName} | Displays the Company name specified in the shipping address |
${order.shippingAddress.street} | Displays the street specified in the shipping address. |
${order.shippingAddress.city} | Displays the city specified in the shipping address. |
${order.shippingAddress.country} | Displays the country specified in the shipping address. |
${order.shippingAddress.countryCode} | Displays the code of the country which is specified in customer’s shipping address |
${order.shippingAddress.postalCode} | Displays the postal (ZIP) code specified in the shipping address. |
${order.shippingAddress.state} | Displays the state specified in the shipping address. |
${order.shippingAddress.stateCode} | Displays the code of the state which is specified in customer’s shipping address |
${order.shippingAddress.phone} | Displays customer’s phone number. |
${order.shippingAddress.province} | Displays the province specified in the shipping address. |
${order.shippingAddress.provinceCode} | Displays the code of the province which is specified in customer’s shipping address |
${order.shipping.cost} | Displays the shipping cost with taxes. |
${order.shipping.costWithoutTax} | Displays the shipping cost without taxes. |
${order.shipping.taxesTotalPercentValue} | Displays the sum of percent values of all shipping taxes. |
${order.shipping.taxesTotalAbsoluteValue} | Displays the sum of absolute values of all shipping taxes. |
<#list order.shipping.taxes as shippingTax> </#list> | Displays a list of shipping taxes applied to order |
${shippingTax.name} | Displays the name of a shipping tax. |
${shippingTax.percentValue} | Displays the percent value of shipping tax. |
${shippingTax.absoluteValue} | Displays the absolute value of shipping tax. |
${order.billingAddress} | Displays the whole billing address for the order. It’s also possible to display each element of the billing address separately. |
${order.billingAddress.name} | Displays the name of the customer. |
${order.billingAddress.companyName} | Displays the Company name specified in the billing address. |
${order.billingAddress.street} | Displays the street specified in the billing address. |
${order.billingAddress.city} | Displays the city specified in the billing address. |
${order.billingAddress.country} | Displays the country specified in the billing address. |
${order.billingAddress.countryCode} | Displays the code of the country which is specified in customer’s billing address |
${order.billingAddress.postalCode} | Displays the postal (ZIP) code specified in the billing address. |
${order.billingAddress.state} | Displays the state specified in the billing address. |
${order.billingAddress.stateCode} | Displays the code of the state which is specified in customer’s shipping address |
${order.billingAddress.phone} | Displays the phone number specified in the billing address. |
${order.billingAddress.province} | Displays the province specified in the billing address. |
${order.billingAddress.provinceCode} | Displays the code of the province which is specified in customer’s shipping address |
${order.pickupTime} | Displays the time of the pickup selected by a customer |
${order.isPaid} | |
${order.paymentMethod} | Displays the Title “Payment method:” and the name of the payment method. |
${order.paymentMethod.isOnline} | |
${order.paymentMethod.instructionsTitle} | Displays the title of the payment instructions. |
${order.paymentMethod.instructions} | Displays the content of payment instructions. |
${order.paymentMethod.name} | Displays the name of the payment method. |
${order.orderComments} | Displays the order comments. |
${order.privateAdminNotes} | Displays the staff order notes added by the store owner. |
${order.isPaymentStatusUpdated} | |
${order.isFulfillmentStatusUpdated} | |
${order.fulfillmentStatus} | Displays the current fulfillment status of the order. |
${order.trackingNumber} | Displays the order tracking number if enabled. |
${order.trackingUrl} | Adds the URL of order tracking page for carrier-calculated shipping options. |
${order.affiliateID} | Displays the affiliate ID of the order. |
${order.extraFields} | |
<#list order.extraFields as extraField> </#list> | Displays the list of order extra fields. |
${extraField.key} | Displays the extra field’ key. |
${extraField.value} | Displays the extra field’s value. |
${extraField.title} | Optional. Displays the extra field’s title. |
${extraField.orderDisplaySection} | Optional. Displays the extra field’s title. |
${extraField.type} | Displays the extra field’s type. |
<#list order.surcharges as surcharge> | Displays the list of order surcharges. |
${surcharge.id} | Displays a surcharge’s ID |
${surcharge.value} | Displays a surcharge’s value |
${surcharge.type} | Displays whether a surcharge is absolute or percentage |
${surcharge.description} | Displays a surcharge description |
${surcharge.total} | Displays a surcharge total |
${surcharge.taxable} | Displays whether surcharge is taxable |
${surcharge.showZeroSurchargeInTotal} | Displays a zero surcharge in total |
Useful functions to work with order extra fields
Name | Description |
getOrderExtraField(key) | Returns the whole ExtraField object (with fields key, value, title etc.) |
getOrderExtraFieldValue(key) | Returns the value field of ExtraField object |
Variables for products information
Name | Description |
${product.name} | Displays the product name. |
${product.sku} | Displays the product SKU. |
${product.quantity} | Displays the quantity of the product. |
${product.adminUrl} | Displays the URL of the product page in store’s Control Panel. |
${product.customerUrl} | Adds the URL of the product page. |
${product.imageUrl} | Displays the product image. |
${product.warningLimit} | Displays the quantity of items in stock that triggers the “Low Stock Notification”. |
${product.options} | |
<#list product.options as option> </#list> | Displays the list of product options. |
${option.name} | Displays the option name. |
${option.value} | Displays the selected option’s value. |
${product.attributes} | |
<#list product.attributes as attribute> </#list> | Displays the list of hidden attributes set for the product. |
${attribute.name} | Displays the hidden attribute title. |
${attribute.value} | Displays the hidden attribute name. |
<#list product.visibleAttributes as visibleAttribute> </#list> | Displays the list of attributes set for the product. |
${visibleAttribute.name} | Displays the attribute title. |
${visibleAttribute.value} | Displays the attribute name. |
Available variables for store information
Name | Description |
${store.id} | Displays the Store ID. |
${store.name} | Displays the store name. |
${store.logoUrl} | Calls the URL of the store logo. |
<@storeLogo/> | Displays the store logo. If logo is not specified, displays the store name. |
${store.storeUrl} | Calls the store front URL. |
${store.companyEmail} | Displays the company email, which is specified in the store settings. |
${store.customerOrdersPageUrl} | Calls the URL to the customer’s order history page. |
<#list store.legalPages as page> </#list> | Displays the list of legal pages. |
${page.name} | Display the name of certain legal page. |
${page.url} | Calls the URL of the certain legal page. |
<@legalPages/> | Displays the list of legal pages in single string. |
${store.controlPanelUrl} | Adds the store’s Control Panel URL to the message. |
${store.egoodsLinkLifetime} | Displays the lifetime of E-goods link. |
${store.egoodsMaxDownloadAttempts} | Displays the maximum quantity of download attempts for E-goods products. |
${store.officeAddress} | Displays the physical address of the store which is specified in the store settings. |
${store.resetPasswordUrl} | Adds a customer’s password reset URL to the message. |
${store.businessRegistrationID} | Displays store business registration (VAT) ID. |
Variables for brand information
Name | Description |
${brand.name} | Displays our name. |
${brand.logoUrl} | Calls the URL of our logo. |