All things Shopify and commerce
My client has asked if we can display Bundles in the Order Confirmation email, the same way they display in the Checkout.
Currently in the emails, the Bundle child products are displayed as separate items, with "Part of: [Bundle parent title] shown.
The Checkout displays these the other way round, like this:
Does anyone know if it is possible to display them like this in email templates?
I spoke to Shopify Plus Support, who indicated that the above should be achievable, but that there isn't any documentation currently on how to do this. They have submitted a request to have this included in the future.
Meanwhile, any tips appreciated!
Hi @mattunfd
Yes, you can update the order confirmation email template (liquid template) to achieve this.
For example, you can group bundle components under their parent product. Your bundle child products are displayed as separate items with a reference to the parent. Now, when a bundle_parent? is detected, the child components (bundle_components) are listed under the parent.
{% if line.bundle_parent? %}
{% for component in line.bundle_components %}
{% endfor %}
{% endif %}
Let me know if this helps.
This won't work from the documentation from Shopify here https://help.shopify.com/en/manual/fulfillment/setup/notifications/email-variables#line-item-propert...
You will see that is only for Draft Orders
For Email Order Confirmation template closest solution I can think of is like the following
Find where it has `
{% for line in line_items %}
Add
{% if line.groups.size > 1 %}
{% continue %}
{% endif %}
Then before
{% for line in line_items %}
Put something like:
{% for line_item_group in line_item_groups %}
{% comment %}Display the Line item title and image{% endcomment %}
{% if line_item_group.image %}
<img src="{{ line_item_group.image | img_url: 'compact_cropped' }}" align="left" width="60" height="60" class="order-list__product-image"/>
{% endif %}
<span class="order-list__item-variant">{{ line_item_group.display_title }}</span>
{% for line_item in line_item_group.components %}
<tr class="order-list__item">
<td class="order-list__item__cell">
<table>
<td>
{% if line_item.image %}
<img src="{{ line_item.image | img_url: 'compact_cropped' }}" align="left" width="60" height="60" class="order-list__product-image"/>
{% endif %}
</td>
<td class="order-list__product-description-cell">
<span class="order-list__item-title">{{ line_item.product.title }} × {{ line_item.quantity }}</span><br/>
{% if line_item.variant.title != 'Default Title' %}
<span class="order-list__item-variant">{{ line_item.variant.title }}</span>
{% endif %}
</td>
<td class="order-list__price-cell">
<p class="order-list__item-price">{{ line_item.line_price | money }}</p>
</td>
</table>
</td>
</tr>
{% endfor %}
{% endfor %}
I haven't tested this but would definitely require a bit of finessing but that would get things started. I wasn't able to really figure out a way to properly show the quantity of the "bundle" as well, as well as if the bundle has any product properties they just straight up get blown away by Shopify...
For the quantity could utilize a "bundle quantity" attached on the variants metafield and then calculate the bundle quantity off of that number.
However I can not see a way to get Bundles to work if you are trying to use product properties with the Bundle.
Anyways hope this helps someone!
Learn how to build powerful custom workflows in Shopify Flow with expert guidance from ...
By Jacqui May 7, 2025Did You Know? May is named after Maia, the Roman goddess of growth and flourishing! ...
By JasonH May 2, 2025Discover opportunities to improve SEO with new guidance available from Shopify’s growth...
By Jacqui May 1, 2025