Email templates use HTML, CSS, and the Liquid templating language. This guide explains how to reference Liquid variables that are not included in DecoNetwork’s default Email Templates. You’ll learn where to place variables, how to wrap them with logic, and proven patterns for safely testing changes before going live.
In This Article
- Prerequisites
- Why use non-default variables?
- Liquid quick primer (objects, tags, filters)
- Examples of non-default variables
- Best-practice tips
- Troubleshooting
- FAQs
- Additional resources
Prerequisites
- Basic familiarity with HTML and CSS.
- Working knowledge of Liquid syntax (variables, tags, filters).
- Admin access to your DecoNetwork site.
- Email & Order Templates app enabled (required for template customization on Standard or lower plans)
- A safe way to test (e.g., send emails to a staff address before publishing widely).
Why use non-default variables?
- Personalize messaging: Insert additional customer/order attributes that matter to your workflow.
- Improve clarity: Show product options, colors, or notes so customers receive exactly what they expect.
- Streamline ops: Include internal routing details for team notifications without manual copy/paste.
Liquid quick primer (objects, tags, filters)
You need to have a good understanding of the Liquid programming language to customize the templates. However, here is a brief introduction to how Liquid works.
Liquid is a template language used to render dynamic content. Liquid is written just like regular HTML markup with the addition of easy-to-read constructs, Liquid statements are built using a combination of objects, tags, and filters.
Objects
Objects contain expressions that display the variable data. Liquid objects are commonly referred to as Liquid variables. Objects are denoted by a set of double curly braces containing the variable expression.
{{ variable_goes_here }}
E.g. To display the order .
{{ order.number }}
Tags
Tags display the logic that tells the template what data to display. Tags are denoted by a set of curly brace percentage delimiters.
{% logic_goes_here %}
E.g. To print a thank you message if the order balance is 0.
{% if order.total > 0 %}Thanks for your order!{% endif %}
Filters
Filters are used to change the output of a liquid variable. Filters tell the template how to format the data. You can invoke filters by following the value in an object with a pipe character (|), followed by the name of the filter. E.g.
{{ balance | format_currency }}
Click on the links below to see examples of how to use the liquid variables that are not used in the default templates.
If you are new to Liquid, start with the Liquid Crash Course for DecoNetwork Templates.
Note: Liquid renders silently—invalid variables often result in blank output. Use the troubleshooting tips below if content doesn’t appear.
Examples of non-default variables
Here are some common use cases for non-default Liquid variables you can include in your email templates. Click any link below to view an example of how to use these variables outside the default templates.
- How to Show Parent Store Name Instead of Fulfillment Center in the Campaign Created Email Template
- How to Show Sales Team Member Name in Quote/Order Sent to Customer Emails
- How to Show Part Name Rather than Full Name in Email Templates
- How to Show the Category of a Pre-decorated Product in the Site-made-a-sale Email Template
- How to Show Product Colors in the Site-made-a-sale Email Template
- How to Show the Customer Details & Notes in Team Member Emails
Best-practice tips
- Back up first: Copy the current template HTML into a safe file before editing.
- Keep edits modular: Add short commented blocks so future editors know what each snippet does.
-
Fail gracefully: Use
default:filter orifchecks to protect against missing data. - Test multiple scenarios: Try orders with different products, customers, and notes.
- Avoid heavy logic: Keep templates focused on display; complex business rules belong in app settings/workflows.
Troubleshooting
-
Nothing appears: The variable path might be wrong. Temporarily output a known variable (e.g.,
{{ order.number }}) nearby to verify the context. -
Literal braces show (e.g.,
{{ ... }}): Check for HTML escaping or unmatched tags. -
Unexpected blanks: Wrap with
{% if %}and add| default:to handle missing fields. -
Layout breaks: Validate your HTML tags; a missing
</div>can break the email structure.
If a snippet doesn’t render, re-check the object path and test with a simpler known variable.
FAQs
Q: Can I use any variable from order templates in email templates?
A: Many objects overlap, but context differs per template. Validate availability in the email’s rendering context and guard with {% if %} checks.
Q: How do I test without emailing customers?
A: Use staff/test recipients first. Some email categories allow previewing by sending to a specific address from within the editor.
Q: Can I add complex calculations?
A: Keep logic light in templates. Prefer filters and simple conditions; move complex rules to app/workflow settings.
Additional resources
- Email Template Variable Descriptions
- Shopify Liquid Reference
- Liquid Crash Course (for DN Email Templates)
Still have questions? Use the Search Tool at the top of the page to find more related guides. Need help? Click the icon to submit a support ticket—our Client Services team is ready to assist!
Comments
0 comments
Please sign in to leave a comment.