How do I show line item properties in Shopify's order confirmation email?
Shopify's default order confirmation email template does include line-item properties for most stores. If yours doesn't, the template has been modified (usually by a theme or migration) and the properties loop was removed. The fix: edit Settings > Notifications > Order confirmation and add the Liquid loop back inside the line-items block.
Step-by-step setup
- Go to Settings > Notifications > Order confirmation. That's where the email template lives.
- Look for the {% for property in ... %} loop. Inside line-items block, before the price.
- Add the loop if missing. Copy the standard Shopify template snippet.
- Test with a real order. Place a test order, verify email display.
Where the template lives
Shopify Admin > Settings > Notifications > Order confirmation. The template is Liquid. Search for line_items in the code.
The standard Shopify snippet
Inside the {% for line in subtotal_line_items %} loop, before the price, add:
{% if line.properties.size > 0 %}
<div style="font-size:14px; color:#666;">
{% for property in line.properties %}
{% assign property_first_char = property.first | slice: 0, 1 %}
{% if property.last != blank and property_first_char != '_' %}
{{ property.first }}: {{ property.last }}<br>
{% endif %}
{% endfor %}
</div>
{% endif %}
Hidden properties in emails
Properties with underscore-prefixed keys (e.g. _batch_code) are hidden from the email by the property_first_char != '_' check. Remove that check to show them (usually you don't want to).
How to test
Place a test order in your admin (Draft Order feature). Add a product with line-item properties (via a personalizer app or direct URL). Send the order confirmation. Check the email — properties should appear under the product line.
Other emails that need the same fix
The same snippet applies to: Order paid, Order fulfilled, Order refunded, Draft order invoice, POS receipts. Each has its own template under Settings > Notifications.
Show every personalization in every email
Print It My Way's properties display correctly in every default Shopify email template.
Install Print It My Way — Free Complete line-item properties guide →Frequently asked questions
Do line item properties automatically show in emails?
On default Shopify email templates, yes. If your template was modified (theme migration, developer edit), the properties loop may have been removed.
Which email templates need updating?
Order confirmation, Order paid, Order fulfilled, Refund confirmation. Each is separate in Settings > Notifications.
Do underscore-prefixed properties show in emails?
No — the standard template skips them via a first-character check. Remove the check to show them (rarely desired).
Can I show only certain properties in the email?
Yes. Filter by property name in the Liquid loop: {% if property.first == 'Engraving text' %}.
Do POD partners rely on the customer's email or the order data?
They use the order data (via Shopify's API), not the email. Email display is customer-facing only.